Domain registry, domain hosting and static HTTP hosting
Find a file
2023-08-13 18:52:34 +02:00
css Allow SSH keys authentication for SFTP(Go) 2023-06-15 03:35:42 +02:00
db ns/sync: translations and bugfixes 2023-06-26 04:13:52 +02:00
DOCS init.php + jobs + job to delete old testing accounts 2023-06-08 17:36:44 +02:00
fn Use kdig() everywhere appropriate 2023-08-13 18:52:34 +02:00
jobs Use kdig() everywhere appropriate 2023-08-13 18:52:34 +02:00
locales Add reg/edit.php and regParseRecord() 2023-07-31 01:13:06 +02:00
pg-act Use kdig() everywhere appropriate 2023-08-13 18:52:34 +02:00
pg-view Add reg/edit.php and regParseRecord() 2023-07-31 01:13:06 +02:00
.gitignore Rename config.ini to config.template.ini 2023-05-19 00:54:04 +02:00
config.template.ini Rename config.ini to config.template.ini 2023-05-19 00:54:04 +02:00
init.php Use kdig() everywhere appropriate 2023-08-13 18:52:34 +02:00
LICENSE.md Set CNPLv7+ as license 2022-08-29 19:19:13 +02:00
pages.php Add reg/edit.php and regParseRecord() 2023-07-31 01:13:06 +02:00
README.md Allow SSH keys authentication for SFTP(Go) 2023-06-15 03:35:42 +02:00
router.php declare(strict_types=1); 2023-07-17 21:15:18 +02:00
sftpgo-auth.php declare(strict_types=1); 2023-07-17 21:15:18 +02:00
view.php declare(strict_types=1); 2023-07-17 21:15:18 +02:00

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
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