Commit Graph

44 Commits (2604b5532f2f0026e308ed49fef1ab6db8735e0a)

Author SHA1 Message Date
Jan Pazdziora 2604b5532f luci-proto-wireguard: Add the option for setting ip6prefix.
Signed-off-by: Jan Pazdziora <jan.pazdziora@code.adelton.com>
2025-06-16 13:24:57 +02:00
Paul Donald 4207c2c5d5
luci-proto-wireguard: add extra checks for hostname when building qr
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2025-03-26 22:41:23 +01:00
Paul Donald fec079db36
luci-base, luci-proto-wireguard: grammar fix
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2025-01-13 17:57:42 +01:00
Paul Donald b4e1052331
luci-proto-wireguard: disambiguate fwmark description
fwmark is used internally during firewall processing, and no mark
remains on egress. Yes, the fwmark is to identify egress encrypted
packets, but no egress packet itself contains this value, and
this metadata disappears once the packet leaves the firewall.

The current wording is ambiguous, since "for" does a lot of lifting.

"during" helps limit the scope of this definition.

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2024-12-18 15:03:54 +00:00
Paul Donald 8d13ea410d
luci-base, luci-proto-*: rename getOpkgPackage -> getPackageName
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2024-12-15 20:13:56 +01:00
Paul Donald f1b302d49b luci-proto-wireguard: make peer entries sortable
Closes #7354

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2024-10-25 21:41:33 +02:00
Bryan Roessler 071fc1bc92 luci-proto-wireguard: disable peers from the tab
It's clumsy to enable/disable peers from the modal, save some clicks

Signed-off-by: Bryan Roessler <bryanroessler@gmail.com>
2024-07-15 22:49:32 +02:00
Paul Donald 74f366a1e5 luci-proto-wireguard: adapt to use uqr
If for some reason luci-lib-uqr is absent, the GUI shows that the proto
handler needs installing (since it now has a dep which is missing).

Suitable action is to install the lib or remove/install wireguard again.

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
2024-06-27 20:19:58 +02:00
Jo-Philipp Wich e28f9a0491 luci-proto-wireguard: fix broken DNS option in peer config generator
The config generation code was referencing a not existing `dns_servers`
input field.

Fixes: #6921
Fixes: 5b26887c52 ("Adding a DNS option to the wireguard peer config ...")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2024-02-16 16:17:26 +01:00
Nicholaos Mouzourakis 5b26887c52 Adding a DNS option to the wireguard peer config generator.
Some clients like iOS require this explicitly, and so this change
adds the appropriate config with some sensible defaults.

Closes #6351

Signed-off-by: Nicholaos Mouzourakis <nevumx@gmail.com>
Signed-off-by: Paul Donald <newtwen@gmail.com>
Tested-by: Paul Donald <newtwen@gmail.com>
(cherry picked from commit 990696d73f982de015df7c7d552daef1a03f50c5)
2023-12-05 00:08:33 +01:00
Paul Donald a5786b5f2f
luci-proto-wireguard: Remove confirmation dialogue to generate keys (#6697)
Quality of life improvements. Reduce click amounts.
LuCI batches all changes for user-review anyway.

Tested on 23.05.0

Signed-off-by: Paul Donald <newtwen@gmail.com>
2023-12-04 22:00:35 +01:00
Nicholaos Mouzourakis 3bc0be4a00 Adding an Addresses option to the wireguard peer config generator.
Some clients like iOS require this explicitly, and so this change
adds the appropriate config with some sensible defaults.
Addresses issue #6050
Signed-off-by: Nicholaos Mouzourakis <nevumx@gmail.com>
2023-10-21 22:42:58 -04:00
Jonathan Duncan 527453ff48 luci-proto-wireguard: Escape IPv6 endpoints with [] in generated wireguard config
Signed-off-by: Jonathan Duncan <JonathanDuncan@gmail.com>
2023-09-24 16:16:35 +01:00
Paul Dee 992cca55ae luci-proto-wireguard: grammar fixes
To setup (n) -> To set(v) up

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
2023-08-11 13:21:45 +02:00
Jo-Philipp Wich 59a6f062d2 luci-proto-wireguard: use ddns lookup_host for peer hints
The `domain` option of a DDNS service entry may contain non-hostname values,
use the `lookup_hostname` option instead.

Fixes: #6289
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2023-03-14 23:36:39 +01:00
Jo-Philipp Wich 785792a591 luci-proto-wireguard: fix configuration import
Avoid referencing not existing `peerdns` option during the configuration
file import process.

Fixes: #6136
Fixes: 2be01cbfcb ("luci-mod-network: restrict peerdns option to protocols that implemenent it")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-12-05 10:34:51 +01:00
Julien Cassette 73aca68b9e luci-proto-wireguard: fix generated AllowedIPs
This corrects the option `AllowedIPs` in generated peer configurations,
and allows to customize it via a dropdown list.

Fixes: #5956
Signed-off-by: Julien Cassette <julien.cassette@gmail.com>
[correct fixes tag, slightly adjust option description]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-11-09 21:00:56 +01:00
Jo-Philipp Wich 94bfa33452 luci-proto-wireguard: handle multiple peers in imported configuration
When importing a fully configuration, import all peer entries from it
instead of non-deterministically merging all peer keys into one.

When importing a remote configuration as peer, only use the setting from
the peer section matching our local interface pubkey.

Also relabel the `Import peer configuration` button to
`Import configuration as peer` in order to be more explicit.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-08-01 13:00:31 +02:00
Jo-Philipp Wich 2ae74b909b luci-proto-wireguard: configuration import improvements
- Reword texts in import dialogs for better clarity, use different
   descriptions for full import and peer import

 - Allow importing configurations without [Peer] section

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-07-23 20:24:09 +02:00
Jo-Philipp Wich 340183786e luci-proto-wireguard: gracefully deal with missing uci configs
The /etc/config/ddns in particular might not be present on the system,
don't fail if it is absent.

Fixes: #5838
Fixes: 9ba20645b0 ("luci-proto-wireguard: rewrite protocol handler")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-06-21 00:07:48 +02:00
Jo-Philipp Wich 9ba20645b0 luci-proto-wireguard: rewrite protocol handler
This commit rewrites large chunks of the WireGuard protocol handler in order
to simplify the process of importing and exporting configuration. The major
changes are:

1) The wireguard interface configuration tab (General Settings) gained an
   import assistant which allows dragging or pasting a native WireGuard
   configuration file in order to import required settrings into uci

2) The peer configuration tab gained a similar import assistant which allows
   importing the settings for a WireGuard peer from an existing native
   WireGuard configuration file

3) The QR code export feature has been rewritten to make the resulting codes
   actually useful for importing into a WireGuard client application.
   Additionally the plaintext native WireGuard configuration is displayed
   to allow copy-pasting it for use on a Linux or OS X system

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-05-17 15:45:20 +02:00
Florian Eckert 7206d8fd6a luci-proto-wireguard: adjust MTU range from 0-8940
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2022-04-14 11:59:56 +02:00
Florian Eckert ddd04a719f luci-proto-wireguard: remove MTU limit
fixes #5737

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2022-04-12 10:32:25 +02:00
Lukas Voegl b6925a1227 luci-proto-wireguard: add generate psk button
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2022-03-18 14:47:44 +01:00
Jo-Philipp Wich ff4f52983e
Merge pull request #5540 from jow-/wireguard-peer-gridsection
Implement nested grid section support and use it for wireguard peer config
2021-12-02 10:54:36 +01:00
Florian Eckert a1723c2272
Merge pull request #5400 from systemcrash/wg_pubkey
luci-proto-wireguard: display interface public key
2021-11-30 14:10:19 +01:00
Jo-Philipp Wich f2445a862e luci-proto-wireguard: turn peer configuration into grid view
Turn the list of configured peers into a grid section in order to improve
the overview of the configuration form.

Fixes: #5489
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-11-22 09:43:29 +01:00
Jo-Philipp Wich f58ae7635c luci-proto-wireguard: fix QR code generation markup
The custom code generation markup lacked a required CSS class.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-11-21 23:40:21 +01:00
Robert Walli aaa2b3dd2b luci-proto-wireguard: add option to disable peer-section
Submitted-by: Robert Walli <12079858+rwalli@users.noreply.github.com>
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2021-11-17 16:38:20 +01:00
Paul Dee 8a9dbe39d5 luci-proto-wireguard: display interface public key
Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
2021-11-11 01:31:43 +01:00
Jo-Philipp Wich 01ecb1ac8a luci-proto-wireguard: fix markup not valid for XHTML
Fixes: #5407
Fixes: 03d615f62c ("luci-proto-wireguard: add more options to qr code")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-10-07 16:19:30 +02:00
lvoegl 03d615f62c luci-proto-wireguard: add more options to qr code
Signed-off-by: lvoegl <lvoegl@tdt.de>
2021-09-17 14:22:54 +02:00
lvoegl 8530232f51 luci-proto-wireguard: client qr code generation
Signed-off-by: lvoegl <lvoegl@tdt.de>
2021-09-17 14:15:56 +02:00
Keith Irwin 092109c905
#5307 Made AllowedIPs optional
Signed-off-by: Keith Irwin <git@ki9.us>
2021-08-28 23:34:31 -06:00
Jo-Philipp Wich bc1015f7db luci-proto-wireguard: fix fwmark validation to allow 32 bit values
The iptables mark field is 32 bits wide, which is 4 bytes and so 8 hex
characters. Fix the fwmark validation to allow 8 characters in the hex
string.

Fixes: #5098
Suggested-by: Robert <32970961+differentblue@users.noreply.github.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-06-03 09:51:58 +02:00
Jo-Philipp Wich 171ef77e89 treewide: remove rendundant proto handler options
The introduction of network device configuration support also implemented
all common, protocol-independent interface options directly in the
interface config view, so drop the redundant option definitions.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-03-15 11:41:44 +01:00
Wojciech Jowsa 60ce87a197 luci-proto-wireguard: Add generate key button
Signed-off-by: Wojciech Jowsa <wojciech.jowsa@gmail.com>
[minor indentation fix, use bound section_id value, remove empty translation]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-08-21 11:03:53 +02:00
Florian Eckert dae15b8cf4 luci-proto-wireguard: verify last base64 string symbol is an = sign
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2020-05-14 09:44:50 +02:00
Florian Eckert 59bc317326 luci-proto-wireguard: add warning that allowed_ips must not be empty
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2020-05-13 15:34:27 +02:00
Jo-Philipp Wich 890dcac2de luci-proto-wireguard: remove peer sections when deleting interface
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-03-03 21:22:46 +01:00
Yuxiang Zhu 9684901dc2 wireguard: add checkbox for `nohostroute` option
This change allows to configure `nohostroute` option for wireguard to explicitely prevent creation
of host routes to endpoints.

By default without `option nohostroute '1'`, an explicite route to the peer's endpoint will be created in the main routing table with the next hop to the gateway. However, it causes issues with some setup. Enabling this option will inhibit this behavior. See discussions at http://lists.openwrt.org/pipermail/openwrt-devel/2019-March/016329.html.

Signed-off-by: Yuxiang Zhu <vfreex@gmail.com>
2020-02-09 02:12:30 +08:00
Jo-Philipp Wich f1c89c103b luci-proto-wireguard: explicitely escape slashes in regex literals
The unespaced slashes confuse xgettext and likely other source
scanners as well.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-01-22 22:02:24 +01:00
Jo-Philipp Wich 995322c55f luci-proto-wireguard: fix preshared key validation
Ensure that the preshared key option remains optional.

Fixes: #3075
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-17 08:28:45 +02:00
Jo-Philipp Wich 6a2a53a829 protocols: add client side protocol handler implementations
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-10 15:28:16 +02:00