Commit Graph

47 Commits

Author SHA1 Message Date
Björn Bohman ffeb822a21 Set name and label at creation of client. Fixes #48 (#49)
* Set name and label at creation of client. Fixes #48

Changes behaviour of the add button from directly creating an
configuration to directing the user to an "create configuration" view.

If no name is given the default name is used same way as before.
This means that the go backend works with the old frontend as well with the new.

* Follow best practice in writing json.

Also handle err.

* 2 Bug fixes.

1. Fix bug introduced in last commit.
Don't try to json encode data that is already encoded.

2. Honor --max-number-client-config
When the creation moved from Clients.svelte to NewClient.svelte the
check in returned json for errors got lost. Now it is back.
2020-04-14 15:26:34 +02:00
Björn Bohman fb5cf90751 Add limit in how many configurations each user may have. (#47)
* Add limit in how many configurations each user may have.

If the option max-number-client-config is more than 0 this number is the
maximum number of clients a user can create.

The setting only limits creation. If a user had created more
configurations before this setting is enforced or lowered the user may
user the service as before, just cant create any more configurations.

* Fix spelling and fmt as suggested by @luna-duclos

* Alert user when limit is reached.

When the user tries to create more configurations than are allow an
alert will pop up.

* Change http status as discussed with @freddd

http 400 seems a better fit than 429 as a more generic error.
2020-03-20 15:09:01 +01:00
Björn Bohman f412ebbd94 Add timestamp to config (#44)
* Add 'Created' ad an timestamp when the config is created.

* Add field 'Modified' on ClientConfig

This field updates when the user changes name or label on their config.
2020-03-16 08:25:04 +01:00
Luna Duclos 9bcd558e0c Add --no-nat flag to disable NAT, NAT remains on by default (#41) 2020-03-11 16:17:15 +01:00
Patrik Lundin e62b6121d1 Only enable IP forwarding if it is disabled
Any value other than 0 is considered enabled:
https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt

Fixes #30
2019-12-26 11:17:26 +01:00
Fredrik Grönqvist b471f3dff5 Github actions & clean up to be able to do linting (#27)
* Github actions & clean up to be able to do linting

* renamed user

* pushing images to github packages

* Fixed tags
2019-12-19 13:03:03 +01:00
Fredrik Grönqvist dcec3d8067 Fixed import 2019-12-13 14:33:35 +01:00
Fredrik Grönqvist 8413219dec gosec: added error handling & path cleaning 2019-12-13 12:51:22 +01:00
Markus Viitamäki 2268babc90 Generated config invalid with DNS. Fixes #9 2019-11-22 17:29:14 +01:00
Markus Viitamäki 39e7728791 172.72.72.0/24 => 172.31.255.0/24, Fixes #14 2019-11-13 12:50:09 -05:00
Daniel Lundin db46cbe333 Ensure only alphanumerics in generated config file name 2019-10-12 14:02:43 +02:00
Daniel Lundin 8fae238166 Set content-type for config to avoid .txt suffixes on some devices 2019-10-09 13:17:22 +02:00
Daniel Lundin 21816558f3 Proper captilization of WireGuard 2019-10-09 13:02:48 +02:00
Daniel Lundin e0361cd5a5 Fix wrong arg order in config 2019-10-03 21:13:23 +02:00
Daniel Lundin f1b8498748 Add optional flag for DNS config. Remove hard-coded google dns. 2019-10-03 21:09:06 +02:00
Daniel Lundin 2706f183a6 Remove unnecessary newline at the beginning of the config 2019-10-03 21:05:22 +02:00
Daniel Lundin 4cc6bf6b70 Adjust layout to be more spacious 2019-10-03 19:51:44 +02:00
Daniel Lundin db17aa8032 Special case to extract email when using Google IAP as authenticating proxy 2019-10-03 19:38:46 +02:00
Daniel Lundin fded04d2d3 Shrink the qr code a bit 2019-10-02 21:07:04 +02:00
Daniel Lundin 23eae39199 Fix QR code to contain config, not link to it 2019-10-02 20:53:11 +02:00
Daniel Lundin 8682fe4f5b Generate QR code for loading config on mobile 2019-10-02 20:43:45 +02:00
Daniel Lundin 2eab0cea18 Add filename + download disposition for when downloading config 2019-10-02 19:22:57 +02:00
Daniel Lundin b8a5545a43 Properly set link up for wireguard interface 2019-10-02 13:48:27 +02:00
Daniel Lundin dc87797f9d Explicitly enable ip forwarding 2019-10-02 13:45:42 +02:00
Daniel Lundin 6f1e923c9a Build separate debug image. Switch from kaniko to buildah. 2019-10-02 10:26:38 +02:00
Daniel Lundin ad91ea4214 Update wgctrl dependency 2019-09-07 16:41:40 +02:00
Daniel Lundin 0c8c697303 Fix bug responding when user has no clients 2019-07-27 18:29:27 +02:00
Daniel Lundin 353310f675 Implement auth using oauth2_proxy w/headers 2019-07-27 17:59:35 +02:00
Daniel Lundin 40430182f5 Add Notes field to client config 2019-07-27 11:01:07 +02:00
Daniel Lundin c82f5eccec Fix embedded assets, particularly when serving UI/App urls 2019-07-20 14:19:35 +02:00
Daniel Lundin 49203fb2ea Rename term "device" => "client". Add some WIP ui components 2019-07-20 12:26:34 +02:00
Daniel Lundin a7dde97c47 Add developer mode to proxy static assets from frontend server during development 2019-06-06 18:27:18 +02:00
Daniel Lundin cce5502b72 Add some static assets 2019-05-27 09:52:51 +02:00
Daniel Lundin af93e9667e Implement getting wg-quick format config file 2019-05-12 19:58:18 +02:00
Daniel Lundin 75be0abf94 Implement PUT to allow renaming a device 2019-05-12 19:41:55 +02:00
Daniel Lundin 6af946bed4 Refactor server reconfiguration 2019-05-12 18:43:43 +02:00
Daniel Lundin 8cf2b7f69c Implemented deleting a device 2019-05-12 18:38:53 +02:00
Daniel Lundin 80ac5bdd10 Only return the config for the created device on POST 2019-05-12 18:29:46 +02:00
Daniel Lundin 082a59de78 Add basic IPAM to allocate client addresses 2019-05-12 17:18:47 +02:00
Daniel Lundin 45d0c46501 Add GET for a specific device 2019-05-11 20:38:39 +02:00
Daniel Lundin 679a101d4f Add wireguard peer configuration 2019-05-11 20:03:22 +02:00
Daniel Lundin 6930e9418a Create new device config on POST 2019-05-08 21:02:06 +02:00
Daniel Lundin 7653aec1a8 Add basic config 2019-05-08 20:26:13 +02:00
Daniel Lundin 879ff9acd0 Add authorization from jwt token 2019-05-03 20:06:03 +02:00
Daniel Lundin bf60a2c206 Set up ip masquerading using nftables 2019-05-01 20:05:36 +02:00
Daniel Lundin 21fda35e08 Add address to wireguard interface 2019-05-01 18:48:04 +02:00
Daniel Lundin 1cb07ee66b Initial implementation of wireguard configuration 2019-05-01 17:42:46 +02:00