ux(wg): endpoint field is host-only (no apparent double port) (v0.9.47)
The server config showed a "Port" and an "Endpoint" that repeated the same :51820, so it looked like the port had to be entered twice. It never did (since 0.9.43 a bare host gets the listen port appended) — but the UI didn't say so. Now the field is labelled "Public endpoint (host)", the placeholder shows only the host (port stripped via Str::before), and the hint explains the port is taken from the listen port automatically; a different port is only needed for port-forwarding (host:port). Display/copy only — no behaviour change. Pint clean, /wireguard server tab loads 200 with no console errors, lang parity 89/89, 354 tests pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>feat/v1-foundation v0.9.47
parent
645d7dd4a4
commit
153514695f
|
|
@ -13,7 +13,14 @@ getaggte Releases (Kanal `stable`, optional `beta`) — niemals Entwicklungs-Bui
|
|||
|
||||
_Keine offenen Änderungen — der nächste Stand wird hier gesammelt und als `vX.Y.Z` getaggt._
|
||||
|
||||
## [0.9.46] - 2026-06-21
|
||||
## [0.9.47] - 2026-06-21
|
||||
|
||||
### Geändert
|
||||
- **Endpoint-Feld ist jetzt „nur Host".** Es wirkte, als müsse man den Port zweimal eintragen (einmal
|
||||
als Listen-Port, einmal im Endpoint). Tatsächlich genügt der Host: Label heißt jetzt „Öffentlicher
|
||||
Endpoint (Host)", der Platzhalter zeigt nur den Host (ohne `:Port`), und der Hinweis erklärt, dass
|
||||
der Port automatisch vom Listen-Port kommt. Ein abweichender Port ist nur bei Portweiterleitung
|
||||
nötig (`host:port`). Funktion war seit 0.9.43 schon so — jetzt ist es auch in der Oberfläche klar.
|
||||
|
||||
### Behoben
|
||||
- **Traffic-Kopfzeile zeigte 0 B, obwohl der Peer Traffic hatte.** „Empfangen/Gesendet" oben speiste
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
return [
|
||||
// First tagged release is v0.1.0 (semantic, not -dev).
|
||||
'version' => '0.9.46',
|
||||
'version' => '0.9.47',
|
||||
|
||||
// Deployed commit + branch. install.sh bakes these into .env from the host's .git (the prod
|
||||
// image ships no .git); the Versions page prefers them and falls back to a live .git read in
|
||||
|
|
|
|||
|
|
@ -68,8 +68,8 @@ return [
|
|||
'ssh_lock_on_body' => 'Danach ist Port 22 nur noch über den Tunnel erreichbar. Geht dein WG-Zugang verloren, sperrst du dich selbst per SSH aus — Rettung nur über die Server-Konsole. Empfehlung: vorher einen zweiten WG-Peer als Backup anlegen. Bestehende SSH-Sitzungen bleiben verbunden.',
|
||||
'ssh_lock_off_title' => 'SSH-Sperre aufheben?',
|
||||
'ssh_lock_off_body' => 'Port 22 wird danach wieder normal erreichbar (vorbehaltlich einer Cloud-/Host-Firewall).',
|
||||
'endpoint_label' => 'Öffentlicher Endpoint',
|
||||
'endpoint_hint' => 'IP oder Host (Port optional — sonst Listen-Port). Betrifft nur künftige Peer-Configs.',
|
||||
'endpoint_label' => 'Öffentlicher Endpoint (Host)',
|
||||
'endpoint_hint' => 'Nur den Host eintragen (z. B. 10.10.90.165) — der Port kommt automatisch vom Listen-Port. Einen abweichenden Port nur bei Portweiterleitung angeben (host:port). Betrifft nur künftige Peer-Configs.',
|
||||
'dns_label' => 'DNS-Server',
|
||||
'dns_hint' => 'DNS für neue Peer-Configs (z. B. dein eigenes Gateway 10.0.0.1). Mehrere durch Komma. Betrifft nur künftige Clients.',
|
||||
'dns_invalid' => 'Ungültige DNS-Adresse(n) — nur IPv4, kommagetrennt.',
|
||||
|
|
@ -89,7 +89,7 @@ return [
|
|||
'setup_subnet' => 'Subnetz',
|
||||
'setup_port' => 'Listen-Port (UDP)',
|
||||
'setup_endpoint' => 'Öffentlicher Endpoint (optional)',
|
||||
'setup_endpoint_hint' => 'Leer = automatisch erkannte öffentliche IP. Format host:port (z. B. 10.10.90.165:51820) — fehlt der Port, wird der Listen-Port ergänzt.',
|
||||
'setup_endpoint_hint' => 'Leer = automatisch erkannte öffentliche IP. Sonst nur den Host (z. B. 10.10.90.165) — der Port kommt automatisch vom Listen-Port.',
|
||||
'setup_peer' => 'Name des ersten Clients',
|
||||
'setup_submit' => 'Einrichten',
|
||||
'no_host_response' => 'Keine Antwort vom Host — der WireGuard-Host-Dienst läuft nicht. Stack aktualisieren (Version-Seite) und erneut versuchen.',
|
||||
|
|
|
|||
|
|
@ -68,8 +68,8 @@ return [
|
|||
'ssh_lock_on_body' => 'Port 22 will then only be reachable through the tunnel. If you lose your WG access you lock yourself out of SSH — recovery only via the server console. Recommended: create a second WG peer as a backup first. Existing SSH sessions stay connected.',
|
||||
'ssh_lock_off_title' => 'Unlock SSH?',
|
||||
'ssh_lock_off_body' => 'Port 22 becomes reachable normally again (subject to any cloud/host firewall).',
|
||||
'endpoint_label' => 'Public endpoint',
|
||||
'endpoint_hint' => 'IP or host (port optional — otherwise the listen port). Affects only future peer configs.',
|
||||
'endpoint_label' => 'Public endpoint (host)',
|
||||
'endpoint_hint' => 'Enter just the host (e.g. 10.10.90.165) — the port comes from the listen port automatically. Only set a different port for port-forwarding (host:port). Affects only future peer configs.',
|
||||
'dns_label' => 'DNS server',
|
||||
'dns_hint' => 'DNS for new peer configs (e.g. your own gateway 10.0.0.1). Multiple comma-separated. Only affects future clients.',
|
||||
'dns_invalid' => 'Invalid DNS address(es) — IPv4 only, comma-separated.',
|
||||
|
|
@ -89,7 +89,7 @@ return [
|
|||
'setup_subnet' => 'Subnet',
|
||||
'setup_port' => 'Listen port (UDP)',
|
||||
'setup_endpoint' => 'Public endpoint (optional)',
|
||||
'setup_endpoint_hint' => 'Empty = auto-detected public IP. Format host:port (e.g. 10.10.90.165:51820) — if the port is missing the listen port is appended.',
|
||||
'setup_endpoint_hint' => 'Empty = auto-detected public IP. Otherwise just the host (e.g. 10.10.90.165) — the port comes from the listen port automatically.',
|
||||
'setup_peer' => 'First client name',
|
||||
'setup_submit' => 'Set up',
|
||||
'no_host_response' => 'No response from the host — the WireGuard host service is not running. Update the stack (Versions page) and try again.',
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@
|
|||
<label class="block font-mono text-[11px] text-ink-3">{{ __('wireguard.endpoint_label') }}</label>
|
||||
<div class="flex flex-wrap items-center gap-2">
|
||||
<input wire:model="newEndpoint" type="text" maxlength="128"
|
||||
placeholder="{{ $status['server']['endpoint'] ?: 'host:51820' }}"
|
||||
placeholder="{{ \Illuminate\Support\Str::before($status['server']['endpoint'], ':') ?: $status['server']['server_ip'] ?: 'host' }}"
|
||||
class="min-w-0 flex-1 rounded-md border border-line bg-inset px-3 py-1.5 font-mono text-sm text-ink placeholder:text-ink-4 focus:border-accent/40 focus:outline-none" />
|
||||
<x-btn variant="primary" type="submit" wire:loading.attr="disabled" wire:target="setEndpoint">{{ __('wireguard.apply') }}</x-btn>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue