Dmytro Bondar
90a570bd66
fix: enhance PrivateString Scan method to support []byte input ( #324 )
...
Signed-off-by: Dmytro Bondar <git@bonddim.com>
2024-11-26 21:09:39 +01:00
Christoph
bf9183256a
chore: update dependencies, refactor option types
2024-10-15 15:44:47 +02:00
Dmytro Bondar
d8eac37302
Updated metrics, added dashboard for Grafana ( #311 )
...
* Updated metrics, added dashboard for Grafana
* Remove unused interfce metric
* Set default scrape interval
2024-10-09 22:33:50 +02:00
Dmytro Bondar
f22a7e4a2e
feat: Metrics for Prometheus ( #309 )
...
* feat: prometheus metrics
* Added Prometheus resources support to helm chart
2024-09-29 22:10:50 +02:00
Dmytro Bondar
2c01f42369
feat: substitute environment variables in config file ( #305 )
...
* feat: use envsubst to substitute env variables in config file
* Remove output config to log
* Update readme
2024-09-23 21:48:11 +02:00
Dmytro Bondar
6ffe1a90ae
feat: TLS support for web ( #301 )
...
* Added TLS support for web
- Added optional configurations `cert_file` and `key_file` to run web server with https
Signed-off-by: Dmytro Bondar <git@bonddim.com>
* Helm chart update
- Refactored Ingress to use one host only (`config.web.external_url` is required)
- Added Certificate resource template (secret is mounted to container into `/app/certs/`)
- Added support for service with mixed protocols (exposes UI and Wireguard ports on same IP)
- Added helm-docs target to makefile
- Changed pod labels to use selectorLabels
- Removed default probes (app runs without healthy web)
- Removed sections from README
Signed-off-by: Dmytro Bondar <git@bonddim.com>
* Fix chart workflow path filter
* Fix chart lint issue
* Skip clean-up tested chart
* Try k3d cluster
---------
Signed-off-by: Dmytro Bondar <git@bonddim.com>
2024-09-22 13:25:08 +02:00
dithmer
deff2334ac
Fix the wrong default hooks for PreDown and PostDown on Peer Preparing by using the correct properties of the iface ( #293 )
...
Co-authored-by: Tim Dithmer <tim.dithmer@suresecure.de>
2024-09-22 11:55:41 +02:00
Dmytro Bondar
2428dedc42
fix: autosave wireguard conf files ( #303 )
...
* fix: autosave wireguard conf files
- Fix subscription to Interface and Peer updates topics
- Remove admin permissions validation
- Update file on peer deletion
- Change save condition to configured storage path only, as initialized interface is not nil
* Added comment to peer config for prometheus exporter
2024-09-22 11:53:42 +02:00
Dmytro Bondar
605841f2a0
fix: LDAP sync interval ( #304 )
...
Configurable LDAP sync interval for each LDAP provider
2024-09-22 11:49:23 +02:00
Christoph Haas
a46dabc1d3
#282 : change default peer mask to /32
2024-08-13 22:49:58 +02:00
Christoph Haas
288b7794ca
fix default peer creation on login ( #189 )
2024-04-02 22:29:10 +02:00
Christoph Haas
95e10dcc24
execute interface hooks if interface settings have changed ( #224 )
2024-04-02 20:51:09 +02:00
Ruoxi Wang
1d862c01d5
Implement custom Value and Scan methods for PrivateString type ( #231 )
2024-03-29 15:52:14 +01:00
Christoph Haas
2de438add8
Merge branch 'pr216'
2024-03-12 22:45:32 +01:00
Christoph Haas
e565e26c65
Merge branch 'pr214'
2024-03-12 22:33:15 +01:00
Christoph Haas
acc785e4ca
small cleanup
2024-03-12 22:32:05 +01:00
Mehrdad Tahernia
c89f201c78
fix issue 211: DNS Search Domain not applying ( #217 )
...
Added the DnsSearchStr to the template to include the dns search domain in the generated config file
2024-03-11 16:03:03 +01:00
Dmytro Bondar
6fb6dc0d23
Remove builded frontend from repo
2024-03-04 11:57:19 +01:00
sh0rch
26cd286c57
Minor fixes for greater compatibility with the original code.
2024-02-29 07:59:27 +03:00
sh0rch
0ade556e80
Brought into working condition for LDAP authentication.
2024-02-29 07:17:17 +03:00
Christoph Haas
1b4b5ff161
fix REST API permission checks ( #209 )
2024-01-31 21:14:36 +01:00
Christoph Haas
81e696fc7d
update frontend dependencies
2023-12-23 13:36:42 +01:00
Christoph Haas
248518d239
- update github actions
...
- update docker build
- move default database to /app/data (#179 )
- move config file location to /app/config
2023-10-26 12:42:18 +02:00
guangwu
6284bc8a01
chore: no need to use fmt.Sprintf ( #190 )
2023-10-22 18:40:54 +02:00
Christoph Haas
b49ff66c41
fix invalid ip suggestions ( #185 )
2023-10-20 12:13:39 +02:00
Christoph Haas
d78b4f49bd
fix nilpointer dereference
2023-10-20 11:44:17 +02:00
Ruoxi Wang
66aadf9d42
Respect some config values ( #175 )
...
* Respect create_default_peer in config
* Respect user_identifier in LDAP field map
2023-10-19 22:54:51 +02:00
Ruoxi Wang
4c061a1aa9
Peer interface address should match server's prefix length ( #177 )
2023-10-19 22:53:51 +02:00
Ruoxi Wang
ad935ad927
Small mistake in auth.go comment ( #174 )
2023-08-30 19:26:43 +02:00
h44z
8b820a5adf
V2 alpha - initial version ( #172 )
...
Initial alpha codebase for version 2 of WireGuard Portal.
This version is considered unstable and incomplete (for example, no public REST API)!
Use with care!
Fixes/Implements the following issues:
- OAuth support #154 , #1
- New Web UI with internationalisation support #98 , #107 , #89 , #62
- Postgres Support #49
- Improved Email handling #47 , #119
- DNS Search Domain support #46
- Bugfixes #94 , #48
---------
Co-authored-by: Fabian Wechselberger <wechselbergerf@hotmail.com>
2023-08-04 13:34:18 +02:00
Philipp Harms
20b71b4e1f
Add Interface column in user profile and fix sorting
2023-04-14 14:50:57 +02:00
Christoph Haas
c5c6135793
Update dependencies
2023-02-18 23:55:32 +01:00
Christoph Haas
3c2c7f325b
keep original admin group behaviour
2023-01-06 00:03:37 +01:00
Christoph Haas
1c97ff8d27
remove log entries that contain user input ( #140 )
2023-01-05 23:21:22 +01:00
Christoph Haas
53a6602a64
cleanup recursive ldap group sync
2022-12-27 13:36:25 +01:00
Fabian Schultis
a2ab5c9301
Fix nested LDAP group resolution
2022-12-07 05:01:06 +01:00
Fabian Schultis
6f463ac9a5
Add nested group admin state resolution
2022-12-06 02:59:29 +01:00
Christoph Haas
51fb9b4139
cleanup code warnings, update RaspberryPi readme
2022-11-11 18:17:38 +01:00
Christoph Haas
bda8c9a3d1
fix migration issue for mysql/mariadb ( #128 )
2022-11-11 18:07:48 +01:00
h44z
54716f7f53
Multiarch Docker Build ( #104 ) ( #129 )
...
* Improved Makefile
* Multiarch Docker build (amd64, arm64 and armv7)
* closes #104
2022-11-11 17:10:41 +01:00
Christoph Haas
e97fb38bd5
fix issue where newly created peers expire
2022-11-08 18:02:00 +01:00
Christoph Haas
2796433973
expiry feature: automatically re-enable peers if date is in the future
2022-11-01 10:51:17 +01:00
Christoph Haas
3e2208c8f6
ensure that db index is re-created (avoids invalid DDL errors), update gorm
2022-10-29 15:24:13 +02:00
Christoph Haas
0f33871850
peer expiry feature: update api docs and readme
2022-10-29 13:18:32 +02:00
Christoph Haas
c43e8d7ca2
peer expiry feature: re-activate expired peers
2022-10-29 13:03:05 +02:00
Christoph Haas
4a0e773d96
peer expiry feature: expiration check
2022-10-29 11:21:04 +02:00
Christoph Haas
fe3247bdc1
peer expiry feature: database model, frontend updates
2022-10-28 23:21:37 +02:00
Christoph Haas
e4b927bc45
use go-playground/validator instead of asaskevich/govalidator ( #46 )
2022-10-28 21:48:44 +02:00
philippderdiedas
383fc8cb58
Merge branch 'h44z:master' into master
2022-10-28 20:42:35 +02:00
Christoph Haas
ab7f19bb55
only remove private key if a custom public key was specified ( #112 )
2022-10-28 18:40:06 +02:00
Philipp Harms
49c7109c61
Fix DNSStr validator
2022-10-28 18:31:20 +02:00
Fabian Schultis
352c689623
Remove as in https://github.com/h44z/wg-portal/issues/112
2022-10-28 17:54:13 +02:00
dada513
12717987a6
Add config option to make everyone admin ( #106 )
2022-09-19 22:26:11 +02:00
Alexander Beck
2f194884d3
user can manage own peers on default device ( #82 )
...
Co-authored-by: GitHubActionRunner <knm@knm.io>
2022-05-26 23:10:17 +02:00
Christoph Haas
b34d2e1174
fix status code number (related to #95 )
2022-04-30 19:43:39 +02:00
lowid
a46e3724bf
fix delete peer status code ( #95 )
...
http.StatusNoContent == 204
2022-04-30 19:42:46 +02:00
Christoph Haas
83271b5d34
fix user edit bug, allow to delete users from the database ( #40 )
2022-03-15 23:34:55 +01:00
Alexis
cc50fcf8e6
Feat/ldap certificate connexion ( #92 )
...
* Give the way to connect against LDAP server with certificate and key
* fix(ldap) Update cert variable name
In order to be more explicit
Co-authored-by: Alexis Aurin <alexis@so6.pw>
2022-03-15 22:46:00 +01:00
Christoph Haas
5d4d06db81
fix invalid interface public key ( #74 )
2021-12-16 19:51:45 +01:00
ultram4rine
e581b3a69f
Wireguard exporter friendly tags ( #81 )
...
* add friendly name
* add friendly name as option to configuration
* add friendly name configuration to readme
2021-12-16 19:35:15 +01:00
Alexander Beck
acb629f672
do not overwrite preshared key in CreatePeer ( #77 )
2021-12-10 16:52:44 +01:00
Christoph Haas
b5cb967e09
improve ldap logging ( #67 )
2021-11-07 13:20:16 +01:00
commonism
d7b52eba1c
ldap - compare DNs using DN.Equal ( #60 )
...
* ldap - compare DNs using DN.Equal
* ldap/isAdmin- restructure & remove code duplication
Co-authored-by: Markus Koetter <koetter@cispa.de>
2021-10-14 08:57:03 +02:00
commonism
19c58fb5af
Fixes & API unit testing ( #58 )
...
* api - add OperationID
helps when using pyswagger and is visible via
http://localhost:8123/swagger/index.html?displayOperationId=true
gin-swagger can not set displayOperationId yet
* api - match paramters to their property equivalents
pascalcase & sometimes replacing the name (e.g. device -> DeviceName)
* api - use ShouldBindJSON instead of BindJSON
BindJSON sets the content-type text/plain
* api - we renamed, we regenerated
* device - allow - in DeviceName wg-example0.conf etc
* api - more pascalcase & argument renames
* api - marshal DeletedAt as string
gorm.DeletedAt is of type sql.NullTime
NullTime declares Time & Valid as properties
DeletedAt marshals as time.Time
swaggertype allows only basic types
-> string
* Peer - export UID/DeviceType in json
UID/DeviceType is required, skipping in json, skips it in marshalling,
next unmarshalling fails
* assets - name forms for use with mechanize
* api - match error message
* add python3/pyswagger based unittesting
- initializes a clean install by configuration via web service
- tests the rest api
* tests - test address exhaustion
* tests - test network expansion
Co-authored-by: Markus Koetter <koetter@cispa.de>
2021-09-29 18:41:13 +02:00
commonism
93db475eee
swag - use pascalcase for properties ( #54 )
...
Co-authored-by: Markus Koetter <koetter@cispa.de>
2021-09-27 20:28:03 +02:00
The one with the braid (she/her) | Dфҿ mit dem Zopf (sie/ihr)
9147fe33cb
Added some more customization options ( #43 )
...
* Added some more customization options
* Fixed inconsistent height of custom logos
* Extended navbar style to login page
2021-09-12 10:17:13 +02:00
Christoph Haas
b4bd2b35e2
add HttpOnly and Secure flag to cookie store ( #39 )
2021-08-24 21:26:16 +02:00
Christoph Haas
57b57931b2
validate user in session ( #32 )
2021-07-30 13:56:21 +02:00
Christoph Haas
fbc0b26631
sendall button for mails, update icons for peer creation buttons ( #35 )
2021-07-30 13:43:39 +02:00
h44z
16a373f1eb
Fix typo
2021-07-20 11:02:17 +02:00
h44z
91b83d7882
Log number of ldap users ( #36 )
2021-07-20 11:01:03 +02:00
Christoph Haas
3645d75d8d
fix auto-creation of peers on login ( #30 )
2021-06-30 17:03:16 +02:00
Christoph Haas
e0968b3239
support AllowIPs for peers in server config ( #24 )
2021-06-18 14:13:44 +02:00
Christoph Haas
92d09535bc
fix foreign key problem ( #23 )
2021-06-08 16:17:30 +02:00
Christoph Haas
d165fc0658
ensure that email attribute is set
2021-05-17 09:06:26 +02:00
Christoph Haas
cadbe4a090
fix migrations for fresh databases
2021-05-16 23:55:59 +02:00
Christoph Haas
d516d74d3f
ldap filter: skip empty emails by default, fix ldap sync (case insensitive email comparison, user source difference)
2021-05-16 23:43:47 +02:00
h44z
88278bf677
Merge pull request #21 from h44z/ldap_filter
...
use LDAP filter strings
2021-05-16 23:11:55 +02:00
Christoph Haas
1c4d47293c
skip migrations for fresh databases
2021-05-16 23:11:03 +02:00
Christoph Haas
27de6e8b8c
use LDAP filter strings
2021-05-10 10:31:56 +02:00
Christoph Haas
3ecb0925d6
use low error correction if qr-code content is too long ( #18 )
2021-05-10 09:26:36 +02:00
Christoph Haas
edfecd536a
use query params throughout the whole rest api ( #11 )
2021-05-03 11:40:06 +02:00
Christoph Haas
d794f807ad
use query param for public key in api requests ( #11 )
2021-05-03 10:44:27 +02:00
Santiago De la Cruz
5ac45b7a4f
Fix email encryption type SSL/TLS
...
mail.EncryptionTLS is deprecated and is the same like mail.EncryptionSTARTTLS
The correct here is mail.EncryptionSSLTLS
2021-04-29 12:53:03 -04:00
Christoph Haas
ab02f656be
add ServerName to TLS config
2021-04-29 18:19:41 +02:00
Christoph Haas
0d4e12a6c1
increase smtp timeout to 30 seconds
2021-04-29 17:04:26 +02:00
Christoph Haas
9a420d26e1
use html email body by default, add alternative text only body
2021-04-29 16:54:01 +02:00
Christoph Haas
19e6fa2a1a
switch to another email lib to support more AUTH types
2021-04-29 16:45:28 +02:00
Christoph Haas
7b1f59d86a
deployment api completed ( #11 )
2021-04-29 11:23:32 +02:00
Christoph Haas
9c8a1df01f
Set server name in TLS config ( #13 )
2021-04-29 10:59:00 +02:00
Christoph Haas
87964f8ec4
RESTful API for WireGuard Portal ( #11 )
2021-04-26 22:00:50 +02:00
Christoph Haas
35513ae994
WIP: RESTful API for WireGuard Portal, user endpoint ( #11 )
2021-04-26 20:02:40 +02:00
Christoph Haas
b6d9814021
use lowercase email addresses for filtering ( #14 )
2021-04-22 20:46:03 +02:00
Christoph Haas
97edd103be
transform email addresses to lower case in ldap sync ( #14 )
2021-04-22 20:41:30 +02:00
Christoph Haas
e052f400aa
convert all email addresses to lower case ( #14 )
2021-04-22 20:29:37 +02:00
Christoph Haas
926733dea4
add ssl/tls option for email encryption ( #13 )
2021-04-22 14:11:54 +02:00
Christoph Haas
7042523c54
configurable cert-check for the ldap auth provider ( #12 )
2021-04-21 11:07:16 +02:00
Christoph Haas
e65a4a8148
disable cert-check should also work for ldap via ssl ( #12 )
2021-04-21 10:04:10 +02:00
Christoph Haas
28c2494d88
cleanup import statements
2021-04-09 23:17:44 +02:00
Christoph Haas
11b9a567d1
include tag version in travis builds
2021-04-08 21:30:16 +02:00