servnest/pages.php
2023-07-31 01:13:06 +02:00

212 lines
8.3 KiB
PHP

<?php declare(strict_types=1);
define('PAGES', [
'index' => [
'title' => '<span aria-hidden="true">' . CONF['common']['service_emoji'] . ' </span>' . CONF['common']['service_name'],
],
'auth' => [
'index' => [
'title' => '<span aria-hidden="true">🔐 </span>' . _('Authentication'),
'description' => _('Manage account'),
],
'login' => [
'title' => _('Log in'),
'description' => _('Start a new navigation session with an existing account'),
'require-login' => false,
],
'logout' => [
'title' => _('Log out'),
'description' => _('End the current session and delete cookies and cache'),
],
'register' => [
'title' => _('Create account'),
'description' => _('Create a new account, and log in with it'),
'require-login' => false,
'tokens_instance_cost' => 7200,
],
'unregister' => [
'title' => _('Delete account'),
'description' => _('Erase all current account\'s data'),
],
'approval' => [
'title' => _('Switch to an approved account'),
'description' => _('Switch to an approved account using an approval key'),
'tokens_account_cost' => 300,
],
'password' => [
'title' => _('Change password'),
'description' => _('Change the character string used to authenticate yourself'),
'tokens_account_cost' => 300,
],
'username' => [
'title' => _('Change username'),
'description' => _('Change the name used to identify your account when logging in and displayed at the start of every page'),
'tokens_account_cost' => 300,
],
],
'reg' => [
'index' => [
'title' => '<span aria-hidden="true">🏷️ </span>' . sprintf(_('%s registry'), '<code>' . key(CONF['reg']['suffixes']) . '</code>'),
'description' => sprintf(_('Register and delegate a %s subdomain'), '<code>' . key(CONF['reg']['suffixes']) . '</code>'),
],
'register' => [
'title' => _('Register domain'),
'description' => sprintf(_('Get a %s subdomain'), '<code>' . key(CONF['reg']['suffixes']) . '</code>'),
'tokens_account_cost' => 3600,
],
'unregister' => [
'title' => _('Unregister domain'),
'description' => _('Delete all data related to a domain and make it available to the public again'),
],
'print' => [
'title' => _('Display domain records'),
'description' => _('Print every record related to a domain and served by the registry'),
'tokens_account_cost' => 60,
],
'edit' => [
'title' => _('Edit records'),
'description' => _('Set registry records to delegate a domain to chosen name servers'),
'tokens_account_cost' => 900,
],
'ns' => [
'title' => sprintf(_('%s records'), '<abbr title="Name Server">NS</abbr>'),
'description' => sprintf(_('Indicate the name servers of a %s subdomain'), '<code>' . key(CONF['reg']['suffixes']) . '</code>'),
'tokens_account_cost' => 300,
],
'ds' => [
'title' => sprintf(_('%s records'), '<abbr title="Delegation Signer">DS</abbr>'),
'description' => _('Delegate <abbr title="Domain Name System Security Extensions">DNSSEC</abbr> trust'),
'tokens_account_cost' => 300,
],
'transfer' => [
'title' => _('Receive a domain transfer'),
'description' => _('Transfer a domain owned by another account to the current account'),
'tokens_account_cost' => 300,
],
'glue' => [
'title' => _('Glue records'),
'description' => _('Advanced: store the IP address of a name server whose domain is inside the domain it serves'),
'tokens_account_cost' => 300,
],
],
'ns' => [
'index' => [
'title' => '<span aria-hidden="true">📖 </span>' . _('Name servers'),
'description' => _('Host and manage domain\'s records'),
],
'zone-add' => [
'title' => _('Add zone'),
'description' => sprintf(_('The zone will be managed by %s name servers'), CONF['common']['service_name']),
'tokens_account_cost' => 1800,
],
'zone-del' => [
'title' => _('Delete zone'),
'description' => _('Erase all zone data'),
],
'print' => [
'title' => _('Display zone'),
'description' => _('Print zonefile content'),
'tokens_account_cost' => 60,
],
'edit' => [
'title' => _('Edit zone'),
'description' => _('Change zonefile content'),
'tokens_account_cost' => 300,
],
'ip' => [
'title' => _('AAAA and A records'),
'description' => _('Store domain\'s IP address'),
'tokens_account_cost' => 120,
],
'ns' => [
'title' => sprintf(_('%s records'), '<abbr title="Name Server">NS</abbr>'),
'description' => _('Store zone\'s name server'),
'tokens_account_cost' => 120,
],
'txt' => [
'title' => sprintf(_('%s records'), '<abbr title="TeXT">TXT</abbr>'),
'description' => _('Associate text to domain'),
'tokens_account_cost' => 120,
],
'caa' => [
'title' => sprintf(_('%s records'), '<abbr title="Certification Authority Authorization">CAA</abbr>'),
'description' => _('Limit the certificate authorities allowed to certify the domain'),
'tokens_account_cost' => 120,
],
'srv' => [
'title' => sprintf(_('%s records'), '<abbr title="SeRVice">SRV</abbr>'),
'description' => _('Store the location of a domain\'s service'),
'tokens_account_cost' => 120,
],
'mx' => [
'title' => sprintf(_('%s records'), '<abbr title="Mail eXchanger">MX</abbr>'),
'description' => _('Store the email server\'s address'),
'tokens_account_cost' => 120,
],
'sshfp' => [
'title' => sprintf(_('%s records'), '<abbr title="Secure SHell FingerPrint">SSHFP</abbr>'),
'description' => _('Store <abbr title="Secure SHell">SSH</abbr> public keys fingerprints'),
'tokens_account_cost' => 120,
],
'tlsa' => [
'title' => sprintf(_('%s records'), '<abbr title="Transport Layer Security Association">TLSA</abbr>'),
'description' => _('Setup <abbr title="DNS-based Authentication of Named Entities">DANE</abbr> by publishing the <abbr title="Transport Layer Security">TLS</abbr> certificate fingerprint'),
'tokens_account_cost' => 120,
],
'cname' => [
'title' => sprintf(_('%s records'), '<abbr title="Canonical NAME">CNAME</abbr>'),
'description' => _('Define a domain as an alias of another'),
'tokens_account_cost' => 120,
],
'dname' => [
'title' => sprintf(_('%s records'), '<abbr title="Delegation NAME">DNAME</abbr>'),
'description' => _('Define all subdomains of a domain as aliases of subdomains of another domain'),
'tokens_account_cost' => 120,
],
'loc' => [
'title' => sprintf(_('%s records'), '<abbr title="LOCation">LOC</abbr>'),
'description' => _('Store geographic coordinates'),
'tokens_account_cost' => 120,
],
'sync' => [
'title' => sprintf(_('Synchronized records')),
'description' => _('Regularly fetch distant records and update them to a local zone'),
'tokens_account_cost' => 900,
],
],
'ht' => [
'index' => [
'title' => '<span aria-hidden="true">🕸️ </span>' . _('Web'),
'description' => _('Upload a static website into an <abbr title="SSH File Transfer Protocol">SFTP</abbr> space'),
],
'add-subpath' => [
'title' => sprintf(_('%s subpath access'), '<code>' . CONF['ht']['subpath_domain'] . '/</code>'),
'description' => sprintf(_('Its URL will look like %s'), '<code>https://' . CONF['ht']['subpath_domain'] . '/<em>' . _('mysite') . '</em>/</code>'),
'tokens_account_cost' => 900,
],
'add-subdomain' => [
'title' => sprintf(_('%s subdomain access'), '<code>.' . CONF['ht']['subdomain_domain'] . '</code>'),
'description' => sprintf(_('Its URL will look like %s'), '<code>https://<em>' . _('mysite') . '</em>.' . CONF['ht']['subpath_domain'] . '/</code>'),
'tokens_account_cost' => 1800,
],
'add-dns' => [
'title' => _('Dedicated domain with Let\'s Encrypt certificate access'),
'description' => sprintf(_('Its URL will look like %s'), '<code>https://<em>' . _('mysite') . '</em>.' . PLACEHOLDER_DOMAIN . '/</code>'),
'tokens_account_cost' => 3600,
],
'add-onion' => [
'title' => _('Onion service access'),
'description' => sprintf(_('Its URL will look like %s, and work only through the Tor network'), '<code>http://nrdselxjgryq5fwek2xh3pxg4b26z26eyzlbs4y5lownk465jhaamayd.onion/</code>'),
'tokens_account_cost' => 1800,
],
'del' => [
'title' => _('Delete access'),
'description' => _('Delete an existing HTTP access from a subdirectory of the SFTP space'),
],
'keys' => [
'title' => _('Manage SSH keys'),
'description' => _('Choose what SSH key can edit what directory'),
'tokens_account_cost' => 300,
],
],
]);