add about setting

This commit is contained in:
Eduard Gert
2026-05-07 11:24:11 +02:00
parent debb558aa3
commit a2be41caf8
6 changed files with 678 additions and 37 deletions

View File

@@ -2,7 +2,7 @@
Each row has a title and short description. Booleans default to **toggle switch**; pick another control only when noted.
Tab order: **General · Network · SSH · Troubleshooting · About**.
Tab order: **General · Network · Security · SSH · Advanced · Troubleshooting · About**.
---
@@ -10,7 +10,7 @@ Tab order: **General · Network · SSH · Troubleshooting · About**.
App behavior + how the client connects.
### Startup
### General
- **Connect on startup** — `disableAutoConnect` (inverted) · *toggle switch*
- Automatically connect to NetBird when the app launches.
@@ -19,34 +19,24 @@ App behavior + how the client connects.
### Connection
- **Management URL** — `managementUrl` · *text input*
- The NetBird management server this client connects to.
- **Admin URL** — `adminUrl` · *text input*
- Web dashboard URL used by "Open Admin Panel".
- **Pre-shared key** — `preSharedKey` · *password input with reveal toggle*
- Optional WireGuard pre-shared key for an extra layer of symmetric encryption.
### Interface
- **Interface name** — `interfaceName` · *text input*
- Name of the WireGuard network interface created on this host.
- **WireGuard port** — `wireguardPort` · *number input*
- Local UDP port the WireGuard interface listens on.
- **MTU** — `mtu` · *number input*
- Maximum transmission unit for the WireGuard interface.
- **Management Server** — `managementUrl` · *label + help text + (text input next to inline Save button)*
- Help text sits between the label and the input. The NetBird management server this client connects to; saving reconnects to apply the new server. Save button persists explicitly (in addition to the global debounced auto-save) since changing the server triggers a reconnect.
---
## 2. Network
Routing, DNS, firewall, and encryption — everything the daemon does on the wire and to the host network.
Routing and DNS — how the daemon reaches peers and resolves names.
### Routing & DNS
### Connectivity
- **Lazy connections** — `lazyConnectionEnabled` · *toggle switch*
- Only establish peer tunnels on first traffic instead of eagerly at startup.
- **Network monitor** — `networkMonitor` · *toggle switch*
- Reconnect automatically when the host network changes (Wi-Fi switch, VPN, sleep/wake).
### Routing & DNS
- **Enable DNS** — `disableDns` (inverted) · *toggle switch*
- Apply NetBird-managed DNS settings to the host resolver.
- **Enable client routes** — `disableClientRoutes` (inverted) · *toggle switch*
@@ -54,6 +44,12 @@ Routing, DNS, firewall, and encryption — everything the daemon does on the wir
- **Enable server routes** — `disableServerRoutes` (inverted) · *toggle switch*
- Advertise this host's local routes to other peers.
---
## 3. Security
Firewall and on-the-wire encryption — what's blocked and how the tunnel is protected.
### Firewall
- **Block inbound traffic** — `blockInbound` · *toggle switch*
@@ -70,14 +66,17 @@ Routing, DNS, firewall, and encryption — everything the daemon does on the wir
---
## 3. SSH
## 4. SSH
NetBird SSH server config. Master switch at the top; sub-toggles greyed out with an inline notice ("Enable Allow SSH to configure") when the master is off.
NetBird SSH server config. Master switch at the top; sub-toggles greyed out when the master is off.
### Server
- **Allow SSH** — `serverSshAllowed` · *toggle switch* (master)
- Run the NetBird SSH server on this host so other peers can connect to it.
### Capabilities
- **Allow root login** — `enableSshRoot` · *toggle switch*
- Permit incoming SSH sessions to authenticate as `root`.
- **Enable SFTP** — `enableSshSftp` · *toggle switch*
@@ -96,16 +95,29 @@ NetBird SSH server config. Master switch at the top; sub-toggles greyed out with
---
## 4. Troubleshooting
## 5. Advanced
Everything you reach for when something is wrong. Config + actions deliberately mixed — they're used together.
Power-user knobs: tunnel security, interface tuning, and log verbosity.
### Logging
### Security
- **Log level** — *dropdown: Debug / Info / Warn / Error*
- Verbosity of the daemon log. Raise to Debug when reproducing an issue.
- **Log file path** — *read-only text + Copy + Reveal in Finder/Explorer*
- **Config file path** — *read-only text + Copy + Reveal in Finder/Explorer*
- **Pre-shared key** — `preSharedKey` · *label + help text + password input with reveal toggle*
- Help text sits between the label and the input. Optional WireGuard pre-shared key for an extra layer of symmetric encryption; must match the value on every peer.
### Interface
- **Name** — `interfaceName` · *text input*
- Name of the WireGuard network interface created on this host.
- **WireGuard Port** — `wireguardPort` · *number input*
- Local UDP port the WireGuard interface listens on.
- **MTU** — `mtu` · *number input*
- Maximum transmission unit for the WireGuard interface.
---
## 6. Troubleshooting
Everything you reach for when something is wrong.
### Debug bundle
@@ -119,11 +131,19 @@ Everything you reach for when something is wrong. Config + actions deliberately
---
## 5. About
## 7. About
Version, update flow, and identity reference.
Two-row layout. Top row pairs the app icon with the product name + versions; everything else stacks below full-width.
- App version, daemon version
- **Check for Updates** — *button* (drives auto-update flow; 15-min timeout, success/error states)
- Local peer info quick-reference (FQDN, IP) — same data shown in the connection-state view
- Links: docs, GitHub repo, license
**Top row** (icon left, info right):
1. **App icon**`netbird-app-icon.svg`, `w-24 h-24`, rounded corners, subtle border (`border-nb-gray-800`).
2. **NetBird** heading + version lines:
- **GUI v{x.y.z}** — from `frontend/package.json` at build time
- **Client v{x.y.z}** — from `Status.daemonVersion`
**Below the top row**, in order:
3. **Update banner** *(visible only when an event in `Status.events` carries `metadata["new_version_available"]`)* — "Version X.Y.Z is available." + a **What's new?** link → GitHub release page for that version, plus a **Restart now** primary button → `Update.Trigger()`.
4. **Copyright** — "© {current year} NetBird. All Rights Reserved." (year from `new Date().getFullYear()`).
5. **Legal links** — Imprint · Privacy · CLA · Terms of Service. Each opens via Wails `Browser.OpenURL` with `window.open` fallback.