Domain registry, domain hosting and static HTTP hosting
Go to file
Miraty e96d61703b ns/sync.php: instant sync when adding new sync 2023-10-08 00:50:48 +02:00
DOCS Add jobs/ns-update.php 2023-09-20 13:27:00 +02:00
css add-dns: add cname to config, full CAA display 2023-09-19 20:27:27 +02:00
db ns/sync: translations and bugfixes 2023-06-26 04:13:52 +02:00
fn ns/sync.php: instant sync when adding new sync 2023-10-08 00:50:48 +02:00
jobs ns/sync.php: instant sync when adding new sync 2023-10-08 00:50:48 +02:00
locales add-dns.php: CNAME&co sourcing support 2023-09-16 19:45:46 +02:00
pg-act ns/sync.php: instant sync when adding new sync 2023-10-08 00:50:48 +02:00
pg-view ns/sync.php: instant sync when adding new sync 2023-10-08 00:50:48 +02:00
.gitignore Rename config.ini to config.template.ini 2023-05-19 00:54:04 +02:00
LICENSE.md Set CNPLv7+ as license 2022-08-29 19:19:13 +02:00
README.md Add instructions for cron(ie) setup 2023-09-01 02:20:09 +02:00
config.template.ini add-dns: add cname to config, full CAA display 2023-09-19 20:27:27 +02:00
init.php ns/sync.php: instant sync when adding new sync 2023-10-08 00:50:48 +02:00
pages.php auth/register: tokens_instance_cost 7200 > 1800 2023-08-13 18:54:24 +02:00
router.php ns/sync.php: instant sync when adding new sync 2023-10-08 00:50:48 +02:00
sftpgo-auth.php sftpgo-auth: allow chmod 2023-09-20 18:47:26 +02:00
view.php check.php: use null coalescing operator ("??") more 2023-08-14 18:20:47 +02:00

README.md

ServNest

ServNest (formerly Niver) is software providing a web interface allowing users to manage 3 independent services:

  • Public suffix registry
  • Domain name server
  • Static HTTP site hosting

Status

I plan to create and maintain a public stable instance of ServNest, but I haven't done so yet. Thus it is not yet tested with real world and long-term usages, and is alpha software.

Detailed services features

Public suffix registry (reg)

  • Register a subdomain of the registry
  • Set domain's nameservers
  • Set a DS record to enable DNSSEC
  • Set Glue records
  • Display records
  • Transfer domain to another account

Name server (ns)

  • Host a zone on the server
  • Plain zone file edition
  • Dedicated forms to set/unset A, AAAA, NS, TXT, CAA, SRV, MX, SRV, SSHFP, TLSA, CNAME, DNAME and LOC records
  • Display records or the full zone file

Static HTTP site hosting (ht)

Upload site's files to the server using SFTP. The way the site is accessed can then be choosed:

  • Dedicated domain name and Let's Encrypt certificate
  • Dedicated onion service (through Tor)
  • Subdomain of a shared root domain
  • HTTP subpath of a shared domain

Some Apache configuration directives are available through .htaccess.

Software used

PHP
main language
SQLite
accounts data storage
Knot DNS
DNS server for both registry and DNS hosting
sudo 1.9.10+
execute actions that match a regex as privileged or specific users
SFTPGo
upload sites files using SFTP
Apache HTTP Server
static HTTP server, with content negotiation and .htaccess dynamic configuration
nginx
HTTP reverse proxy for Apache; terminates TLS and enforces security headers
Tor
Onion services
Certbot
get Let's Encrypt certificates for TLS
Cronie (or another cron daemon)
periodically run script to sync registry records with child zones and pseudo-CNAMEs at apex
GNU Core Utilities or BusyBox
manipulate the filesystem through sudo

Installation

Manual installation instructions can be found in DOCS/installation.md.

servnest-mkosi can automatically build a system image for ServNest and has configuration files and scripts.

Contribute

Direct contact details

See https://miraty.antopie.org/.

License

ServNest is ethical libre software: you can use, redistribute or modify it under the terms of the CNPL-NAv7+ as found in LICENSE.md or at https://git.pixie.town/thufie/npl-builder.

Similar projects