- router.dnsProviders: named accounts at DNS providers, used by dynamic DNS and certificates (ddclient and lego provider lists in pkgs/router-webui/providers.json). Schema 2 migrates router.ddns. - router.acme: a Let's Encrypt certificate for the web UI via security.acme (DNS-01, resolver 1.1.1.1), served and reloaded by the web UI; Certificate page. - Web UI: password change (web UI and root), reboot button, HTTP to HTTPS redirect (router.webui.httpPort), grouped menu. - Latest kernel (linuxPackages_latest); 7.3 and 7.3.0 are the same kernel for the reboot hint. - SPECS.md: wanted later (REST API, GraphQL, MCP). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AeFqV9dZrK6nipHkPfyM4F
50 lines
2.3 KiB
HTML
50 lines
2.3 KiB
HTML
{{define "content"}}
|
|
<section>
|
|
<h2>Settings</h2>
|
|
<p>The complete settings: the <code>router</code> options of nixos-router as JSON, plus <code>system</code>.
|
|
They are checked when applied; nothing changes until then.</p>
|
|
<form method="post" action="/advanced">
|
|
<input type="hidden" name="csrf" value="{{.CSRF}}">
|
|
<textarea name="settings" rows="30" spellcheck="false">{{.Data.Settings}}</textarea>
|
|
<button>Save</button>
|
|
</form>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>Dashboard</h2>
|
|
<form method="post" action="/prefs" class="narrow">
|
|
<input type="hidden" name="csrf" value="{{.CSRF}}">
|
|
<label>Ping targets <input name="pingTargets" value="{{.Data.PingTargets}}" spellcheck="false"></label>
|
|
<p class="hint">Up to 5 IP addresses, separated by commas. <code>gateway</code> is the provider's end of the line.
|
|
Takes effect right away; no apply needed.</p>
|
|
<button>Save</button>
|
|
</form>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>Password</h2>
|
|
<p>One password for this web UI and for root on the console and over SSH.</p>
|
|
<form method="post" action="/password" class="narrow">
|
|
<input type="hidden" name="csrf" value="{{.CSRF}}">
|
|
<label>Current password <input type="password" name="current" autocomplete="current-password" required></label>
|
|
<label>New password (at least 8 characters) <input type="password" name="new" autocomplete="new-password" minlength="8" required></label>
|
|
<label>New password again <input type="password" name="confirm" autocomplete="new-password" minlength="8" required></label>
|
|
<button>Change password</button>
|
|
</form>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>Reboot</h2>
|
|
<p>Restarts the router; routing stops for a minute or two. A new kernel from an update only runs after this.</p>
|
|
<form method="post" action="/reboot" data-confirm="Reboot the router now?"><input type="hidden" name="csrf" value="{{.CSRF}}"><button>Reboot</button></form>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>Backup</h2>
|
|
<p>Everything on <code>/var/lib/router</code>: settings, PPPoE password, WireGuard keys, passwords, the web UI's
|
|
certificate and the dashboard history. Keep the file safe. To restore, put it on a USB stick and run
|
|
<code>router-setup</code> from the installer: it offers to install from it.</p>
|
|
<form method="post" action="/backup"><input type="hidden" name="csrf" value="{{.CSRF}}"><button>Download backup</button></form>
|
|
</section>
|
|
{{end}}
|