Commit Graph

52 Commits

Author SHA1 Message Date
Skyline ee0399b26c Improve WireGuard apply flow and shell UI
- Respect tunnel running state when saving config; avoid implicit restart when down
- Optional pending wg.conf when tunnel stopped (WGUI_WGCONF_PENDING_WHEN_TUNNEL_STOPPED)
- wg-quick: best-effort down before up with retry on transient failures
- Dashboard: explicit green/red badges for server active/inactive (light theme)
- Client cards: metadata chips row uses full card width below header row
- Locales and README updates for behavior and troubleshooting
2026-05-01 17:04:03 -06:00
Skyline 1b07fe442d WireGuard UI v2: shell UI, i18n, passkeys, traffic, dashboard, logs
Summary
- Replace single-page flow with fixed shell layout (sidebar, top bar, Apply config
  orchestration) and wgshell.css styling.
- Add English/Spanish UI via embedded locale JSON and template tr() + client WG_T/wgT().

New packages / modules
- locale/: embedded es.json/en.json, T(), MsgMap(), JSONForHTML for shell pages.
- handler/render_helpers.go: renderShell, injectUILang, nav apply-config badge.
- handler/passkeys.go: WebAuthn register/login begin+finish, rename/remove, clear on
  global Passkeys disable; session passkey credential tracking.
- handler/wg_traffic_cache.go: in-memory WireGuard counter sampling, traffic series API.
- handler/wg_status_devices.go: wgctrl device/peer views, dashboard KPI payloads,
  live peer stats for client cards.
- handler/logs_tail.go: optional file tail + systemd/journal sections for Logs page.
- util/wg_quick.go, util/wg_synconf.go: gated wg-quick and wg syncconf after apply.
- util/sysctl_linux.go + sysctl_stub.go: optional IPv4 ip_forward sysctl.
- util/host_uptime.go, util/server_ui.go: host uptime and server UI helpers.

Templates & UX
- New pages: dashboard.html, traffic.html, logs.html; extended global_settings,
  login (passkey), profile, users_settings, base shell, clients card grid with
  peer traffic polling.

Model / routes
- Global settings: session timeout, UI theme/language, realtime stats, Passkeys toggle;
  multi-user CRUD, suspend, revoke sessions, admin role APIs (main.go + routes).

Docs
- README: WireGuard UI v2 section, expanded Features, operator notes, v2 screenshot
  (GitHub user-attachments CDN URL).

Chore
- .gitignore: .DS_Store, wireguard-ui-v2 build artifact; English comments across
  handlers, templates, CSS, helper.js.
2026-04-30 20:51:42 -06:00
0xCA ecea82d172
Support for notes about clients (#527) 2024-01-09 21:03:27 +01:00
kevin 73108f7f21
Fix updateSearchList js error (#524) 2024-01-09 20:52:23 +01:00
0xCA 41bf0bc92c
Telegram support (#488) 2023-12-29 09:22:12 +01:00
0xCA 841db62347
Fixed tag input being too small and unable to fit a CIDR (#509)
Co-authored-by: 0xCA <undefined>
2023-12-28 08:37:26 +01:00
0xCA a9be53899c
Subnet range selector, interface fixes (#481) 2023-12-27 09:08:55 +01:00
0xCA 47fac2b49b
Fixed tag input being too small and unable to fit a CIDR (#483)
Co-authored-by: 0xCA <undefined>
2023-12-25 20:25:38 +01:00
Gabriel Soares e2e1159ef4
add endpoint field to client (#470) 2023-12-25 20:21:37 +01:00
ByteDream ec757286c5
Hide user settings if login is disabled (#356) (#361) 2023-05-24 12:04:02 +02:00
Khanh Ngo 00f7f3d280 Style fixes 2023-03-16 08:58:28 +01:00
Arminas d1cf0ca7eb
Client filtration (#330) 2023-03-15 21:24:44 +01:00
Arminas 9f20fe6c09
Show apply config button only when needed (#292) 2023-03-15 21:15:41 +01:00
Arminas 6dd5590940
User management panel (#289) 2023-03-15 21:13:53 +01:00
Arminas aadf099f50
About page (#296) 2023-02-16 17:31:24 +01:00
Arminas 40a0ba859e
Client search (#303) 2023-02-16 17:17:10 +01:00
ByteDream a866977cb0
Add favicon (#288) 2023-02-16 17:09:24 +01:00
Khanh Ngo 86e8ad41cb
feat: update user profile (#280) 2022-12-21 21:52:00 +01:00
Paul Dee 4b0a0d9061
Skip PresharedKey generation (#271)
Helpful for those who already have users deployed.

Enter `-` in the Preshared Key field at user creation time to skip its
creation.

The template conf takes care of the rest.

Fixes issue #235
2022-12-13 21:35:13 +01:00
Weegley c8189bb969
Update base.html (#242) 2022-12-02 23:08:07 +01:00
Marcus Wichelmann 031d2cb7e8
Mitigate CSRF attacks (#206) 2022-07-14 08:36:47 +02:00
Khanh Ngo 6bc9a5fd87
fix the homepage href 2022-04-26 20:36:39 +02:00
Fin Christensen 569eaaee37
Add environment variables for configuration (#189) 2022-04-26 20:35:35 +02:00
Quentin Machu 87b08a8f7c
*: allows for BASE_PATH configuration (#183) 2022-04-25 09:17:13 +02:00
Khanh Ngo ad4ca4d9bb
UI adjustment (#172)
- Adjust the UI
- Add more docs using tooltips
2022-03-20 13:53:09 +01:00
ned3y2k 0224e1f137
Implements Wake On Lan and management features (#164) 2022-03-20 10:03:27 +01:00
Maxim Kochurov 037a6c56d3
Implement Optional Private Keys (#161) 2022-03-13 17:33:37 +01:00
brittondodd 341f9b6a42
Allow passing extra allowed subnets (#114) 2022-01-29 08:45:00 +01:00
Khanh Ngo e74a3a808f
Dynamic year in footer page (#126) 2021-11-21 21:55:43 +01:00
Khanh Ngo 2d9eeb08e8
Make MTU and PersistentKeepalive optional (#123) 2021-11-20 21:02:23 +01:00
Khanh Ngo 3c1d894b44
Make client email input optional (#122) 2021-11-20 16:08:24 +01:00
Georgios Komninos b7c0990dcb
Abstracts database storage & Status page UI (#88) 2021-08-28 15:10:30 +02:00
Alan Scherger 854a9fdde9
remove maxchars for copy+paste (#58) 2021-08-05 20:07:42 +02:00
Gerwim 2aa042b919
Added UseServerDNS option for clients who do not have to use the DNS specified in the server configuration. (#79) 2021-08-05 19:58:01 +02:00
Khanh Ngo 9dca2b7361
Login disable (#35)
Add ability to disable authentication
2020-10-09 23:33:29 +02:00
Khanh Ngo cd7f6e500a
Edit wireguard client (#19)
* Add the ability to modify an existing client
* Update client page using Ajax
2020-06-02 11:20:50 +07:00
Khanh Ngo 9169e75e88
Show app version on the UI 2020-06-01 15:24:11 +07:00
Khanh Ngo 04174594b9
Reload the client page after adding new client (#17) 2020-05-29 14:22:29 +07:00
Khanh Ngo 6589b41cc1
Reformat HTML code 2020-05-29 11:27:23 +07:00
Khanh Ngo b12feb08bd
Add docker build 2020-04-25 00:33:22 +07:00
Khanh Ngo a5fbb7b58a
Add authentication 2020-04-24 18:14:54 +07:00
Khanh Ngo 7c3cac8084
Add Apply Config button to save wireguard config file 2020-04-23 09:29:44 +07:00
Khanh Ngo dbb85cb759
Adjustment to have enable/disable client on UI 2020-04-22 17:11:28 +07:00
Khanh Ngo 15703b9185
Adjustment in New Client form to have Allocation IP from suggestion API 2020-04-21 00:26:49 +07:00
Khanh Ngo 7aec01deed
Set correct active class on the navigation menu 2020-04-20 17:32:49 +07:00
Khanh Ngo e99a5ba92b
Add global setting form 2020-04-20 09:54:41 +07:00
Khanh Ngo febf075f8d
Add Server config page
Handle server ip addresses input and store
TODO: Key pair form
2020-04-19 15:50:59 +07:00
Khanh Ngo 20fcdbafa5
Correct error message on new client form 2020-04-19 10:52:07 +07:00
Khanh Ngo 9e165d1e12
Correct error message on new client form 2020-04-19 10:51:55 +07:00
Khanh Ngo 7ae4dd12dd
Validate AllowedIPs from user input 2020-04-19 10:46:43 +07:00