- Interface model with per-interface subnet/port/keys; import/adopt existing wg-quick configs (key-less imported peers, optional key rotation), cascade delete - Split wireguard.py into a package (keys via cryptography X25519, status, addressing, conf parse/render, sync, host tuning) - ECharts horizontal topology view (interface -> peers -> site subnets) - Advanced options: MTU, MSS clamping, FwMark/Table, custom PostUp/PostDown, per-peer keepalive override - Runtime settings (sample interval/retention, online threshold, UI refresh) with traffic sample pruning; host tuning (UDP buffers, backlog, GRO forwarding) - Precompiled Tailwind CSS replacing Play CDN runtime (fixes FOUC); stable table layout and diffed polling renders - Host network mode in compose; NAT/isolation iptables moved into app sync Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
32 lines
1.4 KiB
HTML
32 lines
1.4 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>Login - WireGuard Admin</title>
|
|
<link rel="stylesheet" href="/static/tailwind.css">
|
|
</head>
|
|
<body class="flex min-h-screen items-center justify-center bg-slate-900">
|
|
<div class="w-80 rounded-xl bg-white p-8 shadow-2xl">
|
|
<h1 class="mb-6 text-center text-xl font-bold text-slate-800">WireGuard Admin</h1>
|
|
{% if error %}
|
|
<p class="mb-4 rounded-md bg-red-50 px-3 py-2 text-sm text-red-700">{{ error }}</p>
|
|
{% endif %}
|
|
<form method="post" action="/login" class="space-y-4">
|
|
<label class="block text-sm font-medium text-slate-600">Username
|
|
<input name="username" autofocus required
|
|
class="mt-1 w-full rounded-md border border-slate-300 px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500">
|
|
</label>
|
|
<label class="block text-sm font-medium text-slate-600">Password
|
|
<input name="password" type="password" required
|
|
class="mt-1 w-full rounded-md border border-slate-300 px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500">
|
|
</label>
|
|
<button type="submit"
|
|
class="w-full rounded-md bg-blue-600 py-2 text-sm font-semibold text-white hover:bg-blue-700">
|
|
Sign in
|
|
</button>
|
|
</form>
|
|
</div>
|
|
</body>
|
|
</html>
|