From 6ab00ef5675bbe213c4ce7a64246431e932875f8 Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Sun, 21 Mar 2021 12:36:11 +0100 Subject: [PATCH] WIP: support for multiple WireGuard devices (#2) --- assets/js/custom.js | 5 + assets/tpl/admin_index.html | 11 +- assets/tpl/prt_nav.html | 15 +- assets/tpl/user_index.html | 11 +- .../providers/password/provider.go | 6 +- internal/common/db.go | 76 +++++++ internal/common/util.go | 10 + internal/{common => server}/configuration.go | 17 +- internal/server/handlers_auth.go | 5 +- internal/server/handlers_common.go | 112 +++++----- internal/server/handlers_interface.go | 61 +++--- internal/server/handlers_peer.go | 101 ++++----- internal/server/handlers_user.go | 73 +++---- internal/server/routes.go | 4 +- internal/server/server.go | 72 +++++-- internal/server/server_helper.go | 128 +++++------ internal/users/config.go | 17 -- internal/users/manager.go | 70 +----- internal/wireguard/config.go | 7 +- internal/wireguard/manager.go | 29 +-- internal/wireguard/{net.go => manager_net.go} | 28 +-- internal/{server => wireguard}/peermanager.go | 199 +++++++++--------- 22 files changed, 538 insertions(+), 519 deletions(-) create mode 100644 internal/common/db.go rename internal/{common => server}/configuration.go (91%) delete mode 100644 internal/users/config.go rename internal/wireguard/{net.go => manager_net.go} (80%) rename internal/{server => wireguard}/peermanager.go (75%) diff --git a/assets/js/custom.js b/assets/js/custom.js index 005dc92..df3eaac 100644 --- a/assets/js/custom.js +++ b/assets/js/custom.js @@ -25,6 +25,11 @@ } }); }); + $(function() { + $('select.device-selector').change(function() { + this.form.submit(); + }); + }); })(jQuery); // End of use strict diff --git a/assets/tpl/admin_index.html b/assets/tpl/admin_index.html index 7e7afd3..06a53d1 100644 --- a/assets/tpl/admin_index.html +++ b/assets/tpl/admin_index.html @@ -106,6 +106,7 @@ {{range $i, $p :=.Peers}} + {{$peerUser:=(userForEmail $.Users $p.Email)}} @@ -142,14 +143,14 @@

User details

- {{if not $p.User}} + {{if not $peerUser}}

No user information available...

{{else}}
    -
  • Firstname: {{$p.User.Firstname}}
  • -
  • Lastname: {{$p.User.Lastname}}
  • -
  • Phone: {{$p.User.Phone}}
  • -
  • Mail: {{$p.User.Email}}
  • +
  • Firstname: {{$peerUser.Firstname}}
  • +
  • Lastname: {{$peerUser.Lastname}}
  • +
  • Phone: {{$peerUser.Phone}}
  • +
  • Mail: {{$peerUser.Email}}
{{end}}

Connection / Traffic

diff --git a/assets/tpl/prt_nav.html b/assets/tpl/prt_nav.html index 6ab5d9b..994f540 100644 --- a/assets/tpl/prt_nav.html +++ b/assets/tpl/prt_nav.html @@ -22,6 +22,19 @@ {{end}} {{end}}{{end}} + {{with eq $.Session.LoggedIn true}}{{with eq $.Session.IsAdmin true}} + {{with startsWith $.Route "/admin/"}} +
+
+ +
+
+ {{end}} + {{end}}{{end}} {{if eq $.Session.LoggedIn true}}