pages.php 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. <?php declare(strict_types=1);
  2. define('PAGES', [
  3. 'index' => [
  4. 'title' => '<span aria-hidden="true">' . CONF['common']['service_emoji'] . ' </span>' . CONF['common']['service_name'],
  5. ],
  6. 'auth' => [
  7. 'index' => [
  8. 'title' => '<span aria-hidden="true">🔐 </span>' . _('Authentication'),
  9. 'description' => _('Manage account'),
  10. ],
  11. 'login' => [
  12. 'title' => _('Log in'),
  13. 'description' => _('Start a new navigation session with an existing account'),
  14. 'require-login' => false,
  15. ],
  16. 'logout' => [
  17. 'title' => _('Log out'),
  18. 'description' => _('End the current session and delete cookies and cache'),
  19. ],
  20. 'register' => [
  21. 'title' => _('Create account'),
  22. 'description' => _('Create a new account, and log in with it'),
  23. 'require-login' => false,
  24. 'tokens_instance_cost' => 1800,
  25. ],
  26. 'unregister' => [
  27. 'title' => _('Delete account'),
  28. 'description' => _('Erase all current account\'s data'),
  29. ],
  30. 'approval' => [
  31. 'title' => _('Switch to an approved account'),
  32. 'description' => _('Switch to an approved account using an approval key'),
  33. 'tokens_account_cost' => 300,
  34. ],
  35. 'password' => [
  36. 'title' => _('Change password'),
  37. 'description' => _('Change the character string used to authenticate yourself'),
  38. 'tokens_account_cost' => 300,
  39. ],
  40. 'username' => [
  41. 'title' => _('Change username'),
  42. 'description' => _('Change the name used to identify your account when logging in and displayed at the start of every page'),
  43. 'tokens_account_cost' => 300,
  44. ],
  45. ],
  46. 'reg' => [
  47. 'index' => [
  48. 'title' => '<span aria-hidden="true">🏷️ </span>' . sprintf(_('%s registry'), '<code>' . key(CONF['reg']['suffixes']) . '</code>'),
  49. 'description' => sprintf(_('Register and delegate a %s subdomain'), '<code>' . key(CONF['reg']['suffixes']) . '</code>'),
  50. ],
  51. 'register' => [
  52. 'title' => _('Register domain'),
  53. 'description' => sprintf(_('Get a %s subdomain'), '<code>' . key(CONF['reg']['suffixes']) . '</code>'),
  54. 'tokens_account_cost' => 3600,
  55. ],
  56. 'unregister' => [
  57. 'title' => _('Unregister domain'),
  58. 'description' => _('Delete all data related to a domain and make it available to the public again'),
  59. ],
  60. 'print' => [
  61. 'title' => _('Display domain records'),
  62. 'description' => _('Print every record related to a domain and served by the registry'),
  63. 'tokens_account_cost' => 60,
  64. ],
  65. 'edit' => [
  66. 'title' => _('Edit records'),
  67. 'description' => _('Set registry records to delegate a domain to chosen name servers'),
  68. 'tokens_account_cost' => 900,
  69. ],
  70. 'ns' => [
  71. 'title' => sprintf(_('%s records'), '<abbr title="Name Server">NS</abbr>'),
  72. 'description' => sprintf(_('Indicate the name servers of a %s subdomain'), '<code>' . key(CONF['reg']['suffixes']) . '</code>'),
  73. 'tokens_account_cost' => 300,
  74. ],
  75. 'ds' => [
  76. 'title' => sprintf(_('%s records'), '<abbr title="Delegation Signer">DS</abbr>'),
  77. 'description' => _('Delegate <abbr title="Domain Name System Security Extensions">DNSSEC</abbr> trust'),
  78. 'tokens_account_cost' => 300,
  79. ],
  80. 'transfer' => [
  81. 'title' => _('Receive a domain transfer'),
  82. 'description' => _('Transfer a domain owned by another account to the current account'),
  83. 'tokens_account_cost' => 300,
  84. ],
  85. 'glue' => [
  86. 'title' => _('Glue records'),
  87. 'description' => _('Advanced: store the IP address of a name server whose domain is inside the domain it serves'),
  88. 'tokens_account_cost' => 300,
  89. ],
  90. ],
  91. 'ns' => [
  92. 'index' => [
  93. 'title' => '<span aria-hidden="true">📖 </span>' . _('Name servers'),
  94. 'description' => _('Host and manage domain\'s records'),
  95. ],
  96. 'zone-add' => [
  97. 'title' => _('Add zone'),
  98. 'description' => sprintf(_('The zone will be managed by %s name servers'), CONF['common']['service_name']),
  99. 'tokens_account_cost' => 1800,
  100. ],
  101. 'zone-del' => [
  102. 'title' => _('Delete zone'),
  103. 'description' => _('Erase all zone data'),
  104. ],
  105. 'print' => [
  106. 'title' => _('Display zone'),
  107. 'description' => _('Print zonefile content'),
  108. 'tokens_account_cost' => 60,
  109. ],
  110. 'edit' => [
  111. 'title' => _('Edit zone'),
  112. 'description' => _('Change zonefile content'),
  113. 'tokens_account_cost' => 300,
  114. ],
  115. 'ip' => [
  116. 'title' => _('AAAA and A records'),
  117. 'description' => _('Store domain\'s IP address'),
  118. 'tokens_account_cost' => 120,
  119. ],
  120. 'ns' => [
  121. 'title' => sprintf(_('%s records'), '<abbr title="Name Server">NS</abbr>'),
  122. 'description' => _('Store zone\'s name server'),
  123. 'tokens_account_cost' => 120,
  124. ],
  125. 'txt' => [
  126. 'title' => sprintf(_('%s records'), '<abbr title="TeXT">TXT</abbr>'),
  127. 'description' => _('Associate text to domain'),
  128. 'tokens_account_cost' => 120,
  129. ],
  130. 'caa' => [
  131. 'title' => sprintf(_('%s records'), '<abbr title="Certification Authority Authorization">CAA</abbr>'),
  132. 'description' => _('Limit the certificate authorities allowed to certify the domain'),
  133. 'tokens_account_cost' => 120,
  134. ],
  135. 'srv' => [
  136. 'title' => sprintf(_('%s records'), '<abbr title="SeRVice">SRV</abbr>'),
  137. 'description' => _('Store the location of a domain\'s service'),
  138. 'tokens_account_cost' => 120,
  139. ],
  140. 'mx' => [
  141. 'title' => sprintf(_('%s records'), '<abbr title="Mail eXchanger">MX</abbr>'),
  142. 'description' => _('Store the email server\'s address'),
  143. 'tokens_account_cost' => 120,
  144. ],
  145. 'sshfp' => [
  146. 'title' => sprintf(_('%s records'), '<abbr title="Secure SHell FingerPrint">SSHFP</abbr>'),
  147. 'description' => _('Store <abbr title="Secure SHell">SSH</abbr> public keys fingerprints'),
  148. 'tokens_account_cost' => 120,
  149. ],
  150. 'tlsa' => [
  151. 'title' => sprintf(_('%s records'), '<abbr title="Transport Layer Security Association">TLSA</abbr>'),
  152. 'description' => _('Setup <abbr title="DNS-based Authentication of Named Entities">DANE</abbr> by publishing the <abbr title="Transport Layer Security">TLS</abbr> certificate fingerprint'),
  153. 'tokens_account_cost' => 120,
  154. ],
  155. 'cname' => [
  156. 'title' => sprintf(_('%s records'), '<abbr title="Canonical NAME">CNAME</abbr>'),
  157. 'description' => _('Define a domain as an alias of another'),
  158. 'tokens_account_cost' => 120,
  159. ],
  160. 'dname' => [
  161. 'title' => sprintf(_('%s records'), '<abbr title="Delegation NAME">DNAME</abbr>'),
  162. 'description' => _('Define all subdomains of a domain as aliases of subdomains of another domain'),
  163. 'tokens_account_cost' => 120,
  164. ],
  165. 'loc' => [
  166. 'title' => sprintf(_('%s records'), '<abbr title="LOCation">LOC</abbr>'),
  167. 'description' => _('Store geographic coordinates'),
  168. 'tokens_account_cost' => 120,
  169. ],
  170. 'sync' => [
  171. 'title' => sprintf(_('Synchronized records')),
  172. 'description' => _('Regularly fetch distant records and update them to a local zone'),
  173. 'tokens_account_cost' => 900,
  174. ],
  175. ],
  176. 'ht' => [
  177. 'index' => [
  178. 'title' => '<span aria-hidden="true">🕸️ </span>' . _('Web'),
  179. 'description' => _('Upload a static website into an <abbr title="SSH File Transfer Protocol">SFTP</abbr> space'),
  180. ],
  181. 'add-subpath' => [
  182. 'title' => sprintf(_('%s subpath access'), '<code>' . CONF['ht']['subpath_domain'] . '/</code>'),
  183. 'description' => sprintf(_('Its URL will look like %s'), '<code>https://' . CONF['ht']['subpath_domain'] . '/<em>' . _('mysite') . '</em>/</code>'),
  184. 'tokens_account_cost' => 900,
  185. ],
  186. 'add-subdomain' => [
  187. 'title' => sprintf(_('%s subdomain access'), '<code>.' . CONF['ht']['subdomain_domain'] . '</code>'),
  188. 'description' => sprintf(_('Its URL will look like %s'), '<code>https://<em>' . _('mysite') . '</em>.' . CONF['ht']['subpath_domain'] . '/</code>'),
  189. 'tokens_account_cost' => 1800,
  190. ],
  191. 'add-dns' => [
  192. 'title' => _('Dedicated domain with Let\'s Encrypt certificate access'),
  193. 'description' => sprintf(_('Its URL will look like %s'), '<code>https://<em>' . _('mysite') . '</em>.' . PLACEHOLDER_DOMAIN . '/</code>'),
  194. 'tokens_account_cost' => 3600,
  195. ],
  196. 'add-onion' => [
  197. 'title' => _('Onion service access'),
  198. 'description' => sprintf(_('Its URL will look like %s, and work only through the Tor network'), '<code>http://nrdselxjgryq5fwek2xh3pxg4b26z26eyzlbs4y5lownk465jhaamayd.onion/</code>'),
  199. 'tokens_account_cost' => 1800,
  200. ],
  201. 'del' => [
  202. 'title' => _('Delete access'),
  203. 'description' => _('Delete an existing HTTP access from a subdirectory of the SFTP space'),
  204. ],
  205. 'keys' => [
  206. 'title' => _('Manage SSH keys'),
  207. 'description' => _('Choose what SSH key can edit what directory'),
  208. 'tokens_account_cost' => 300,
  209. ],
  210. ],
  211. ]);