Commit Graph

73 Commits

Author SHA1 Message Date
Ioannis Dressos 21862d7156
Add optional Secure flag for session cookies (WGUI_SESSION_SECURE_COOKIE) 2026-07-08 12:48:57 +03:00
Ioannis Dressos 06b3df4586
Add configurable config file permissions (default 0600)
The generated WireGuard config contains the server private key and client
preshared keys, so it is now written with mode 0600 by default instead of
inheriting a umask-dependent (often world-readable) mode. The mode is
configurable via the global settings UI or WGUI_CONFIG_FILE_MODE. The file is
still written in place so the container inotify restart watch keeps working.
2026-07-08 12:32:24 +03:00
Ioannis Dressos b393e2e3a3
Escape user-controlled fields to prevent stored XSS in client/status views 2026-07-08 12:22:34 +03:00
Ioannis Dressos 01ec7093de
Sanitize client name in config download filename 2026-07-08 12:17:07 +03:00
Ioannis Dressos c2f268edec
Check GetAllocatedIPs error in client create/update 2026-07-08 12:16:01 +03:00
Ioannis Dressos d9fdd3a017
Return 400 instead of panicking on malformed JSON request bodies 2026-07-08 12:14:13 +03:00
Ioannis Dressos f67544ae2a
Fix nil pointer panic in WakeOnHost when MAC not found 2026-07-08 12:11:38 +03:00
Ioannis Dressos b517ae0feb
Add GeoLite2 geolocation integration 2026-07-07 18:49:39 +03:00
Ioannis Dressos 50816d995d
Capitalize 'g' in Wireguard 2026-07-07 15:19:51 +03:00
Ioannis Dressos 09b9976016
Show only connected peers of relevant device in status page 2026-07-07 15:19:50 +03:00
Ioannis Dressos 5b88f8f566
Additional configuration env variables
WGUI_BRAND_TEXT - The brand text of the web application
WGUI_ACCENT_COLOR - The color of the interface sidebar
WGUI_LOGO_FILE_PATH - The file path of the website logo
WGUI_PAGE_TITLE_PREFIX - The HTML title prefix for all pages
2026-07-07 14:16:26 +03:00
0xCA 7856ce9555
Status page: display peers IPs only to admins (#521) 2024-01-10 20:27:01 +01:00
0xCA ecea82d172
Support for notes about clients (#527) 2024-01-09 21:03:27 +01:00
0xCA fa33d3f66e
Session improvements (#510) 2024-01-06 09:11:20 +01:00
Khanh Ngo b3c22aa81f
Add golangci-lint CI (#516) 2023-12-31 21:46:30 +01:00
Khanh Ngo 45849a2aee
chore: code adjustment (#512) 2023-12-29 10:56:37 +01:00
0xCA 41bf0bc92c
Telegram support (#488) 2023-12-29 09:22:12 +01:00
0xCA a9be53899c
Subnet range selector, interface fixes (#481) 2023-12-27 09:08:55 +01:00
Michael Walter af7742bfb3
Update routes.go (#475)
use config file download mime type "txt/conf" to prevent downloaded configs being saved as <filename>.txt, instead of wanted <filename>.conf.
Tested on Android Firefox and Chrome
2023-12-25 20:22:42 +01:00
Gabriel Soares e2e1159ef4
add endpoint field to client (#470) 2023-12-25 20:21:37 +01:00
Marcus Wichelmann 13a4c05ff5
fix: add basic server-side input validation (#435)
This mitigates possible path traversal attacks by using
e.g. "../user" as a user name.
2023-12-25 20:07:47 +01:00
Paul Dee 364a43e3dc
Implement updating a client Pub+PSK when editing a client (#401)
This covers the normal use-case where clients generate keys
locally on their device and notify the server of their new/updated keys.

The server verifies Preshared and Public keys independently of each
other. Should a client generate a new tunnel which lacks a PSK and send
only a Public key to the server (admin) where the earlier server created
profile has a Preshared key, the server admin/user must determine the
course of action:
keep or remove the PSK.
2023-08-11 10:34:11 +02:00
Paul Dee cfbdae7abb
Follow-up fix for fwmark 101b5564c2 (#372)
Remove all FwMark settings from client configs (illegal) and QRcode
(also illegal).
2023-05-24 12:02:07 +02:00
ByteDream 4fc52b62d2
Replace go.rice with native go embedding (#331) 2023-03-16 08:40:04 +01:00
Arminas c8240fe157
fixed about page not showing menu items (#343) 2023-03-15 21:45:46 +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 cc285c5c20
Status show IP's (#291) 2023-02-16 17:10:11 +01:00
ByteDream a866977cb0
Add favicon (#288) 2023-02-16 17:09:24 +01:00
Paul Dee e76c573b1d
Some comment fixes (#278) 2022-12-26 10:02:07 +01:00
Khanh Ngo 86e8ad41cb
feat: update user profile (#280) 2022-12-21 21:52:00 +01:00
Khanh Ngo ea55b36a6f
Update readme and code comments (#272) 2022-12-13 22:44:11 +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
itsvit-vlasov-y a80741e748
Added checkbox FwMark in QRCode generation (#260) 2022-12-02 23:40:29 +01:00
Marcus Wichelmann 2c2db61158
Add support for password hashes as an optional alternative to plaintext passwords (#216) 2022-09-30 10:24:54 +02:00
Marcus Wichelmann 031d2cb7e8
Mitigate CSRF attacks (#206) 2022-07-14 08:36:47 +02:00
Marcus Wichelmann 97652be545
Use ConstantTimeCompare to make the login more secure and not leak information about the used password (#205) 2022-07-14 08:35:58 +02:00
Quentin Machu 87b08a8f7c
*: allows for BASE_PATH configuration (#183) 2022-04-25 09:17:13 +02: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 bf2b74fe84
Update healthcheck (#124) 2021-11-21 10:31:27 +01:00
Hoang Nguyen 93e3e847f2
Update helper.js (#66) 2021-11-09 11:06:19 +01:00
Lukáš Kasič c1d541b78f
Fix generating IPv6 address (#105) 2021-11-06 13:15:14 +01:00
Georgios Komninos b7c0990dcb
Abstracts database storage & Status page UI (#88) 2021-08-28 15:10:30 +02:00
Georgios Komninos 1711530dda
Fixes security issue & Adds support to sent configuration via email (#83) 2021-08-08 19:55:59 +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 5ec77ecd72
Fix username when authentication is disabled 2020-10-10 16:00:18 +02:00
Khanh Ngo 9dca2b7361
Login disable (#35)
Add ability to disable authentication
2020-10-09 23:33:29 +02:00