update readme

This commit is contained in:
Miraty 2023-10-29 14:12:28 +01:00
parent 3684ab18c1
commit 78be3cc0a6
3 changed files with 38 additions and 14 deletions

View file

@ -1,6 +1,6 @@
# ServNest
ServNest (formerly Niver) is software providing a web interface allowing users to manage 3 independent services:
ServNest (formerly Niver) is software allowing users to manage 3 independent services:
* Public suffix registry
* Domain name server
@ -8,7 +8,11 @@ ServNest (formerly Niver) is software providing a web interface allowing users t
## 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**.
ServNest is alpha software.
Proper versioning, changelog and upgrade/migration instructions are still missing.
[https://niver.niv.re/](Niver) is an installation administrated by the main developer.
## Detailed services features
@ -20,6 +24,7 @@ I plan to create and maintain a public stable instance of ServNest, but I haven'
* Set Glue records
* Display records
* Transfer domain to another account
* Partial `CSYNC` and `CDS` support to synchronize from child zone
### Name server (`ns`)
@ -27,6 +32,7 @@ I plan to create and maintain a public stable instance of ServNest, but I haven'
* 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
* Keep records in sync with another domain (`CNAME` alternative for apex domains)
### Static HTTP site hosting (`ht`)
@ -76,26 +82,45 @@ Cronie (or another cron daemon)
## Installation
Manual installation instructions can be found in [DOCS/installation.md](DOCS/installation.md).
Manual installation instructions can be found in [`DOCS/installation.md`](DOCS/installation.md).
[servnest-mkosi](https://code.antopie.org/servnest/servnest-mkosi) can automatically build a system image for ServNest and has configuration files and scripts.
## Contribute
## Resources
- Git repository : <https://code.antopie.org/servnest/servnest>
- Issue tracker : <https://code.antopie.org/servnest/servnest/issues>
- Matrix channel : [#servnest:matrix.antopie.org](matrix:r/servnest:matrix.antopie.org)
[Matrix room](matrix:r/servnest:matrix.antopie.org) (`#servnest:matrix.antopie.org`)
: english/french
: discuss, get help and organise contribution
[Issue tracker](https://code.antopie.org/servnest/servnest/issues)
: english
: keep track of bugs et wanted features
[Git repository](https://code.antopie.org/servnest/servnest)
: english
: code, administration documentation
## Direct contact details
See <https://miraty.antopie.org/>.
Find them on [https://miraty.antopie.org/](my site).
## 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
## Somehow similar projects
- [DNSManager](https://github.com/KaneRoot/dnsmanager) powering [netlib.re](https://netlib.re/)
- [EU.org](https://nic.eu.org/)
- [DNS Witch](https://dns-witch.net.eu.org/)
[DNSManager](https://github.com/KaneRoot/dnsmanager):
: domain registry powering [netlib.re](https://netlib.re/)
[EU.org](https://nic.eu.org/)
: domain registry
[DNS Witch](https://dns-witch.net.eu.org/)
: user-friendly domain hosting based on EU.org
[Codeberg Pages](https://codeberg.page/)
: static website hosting published through Git
[Njalla](https://njal.la/)
: anonymous domain registrar

View file

@ -141,7 +141,6 @@ cdn
support
admin
web
dev
host
portal
beta

View file

@ -11,7 +11,7 @@ define('PAGE_ADDRESS', $pageAddress . ((substr($pageAddress, -1) === '/' OR $pag
define('PAGE_LINEAGE', explode('/', PAGE_ADDRESS));
define('SERVICE', dirname(PAGE_ADDRESS));
function getPageInformations(array $pages, array $pageElements): array {
function getPageInformations(array $pages, array $pageElements): array { // Recursively retrieves page metadata from pages.php
if (!isset($pages['index']) OR $pageElements[0] === 'index')
return [
'titles_lineage' => [$pages[$pageElements[0]]['title'] ?? false],