From c9a7bdf01899c819bbb4404a73c8a91147cdd033 Mon Sep 17 00:00:00 2001 From: Paul Fournet Date: Mon, 4 Apr 2022 13:44:15 +0000 Subject: [PATCH] add: default allowed-ips for new clients creations --- handler/routes.go | 2 +- main.go | 3 +++ model/misc.go | 1 + templates/base.html | 2 +- util/config.go | 1 + 5 files changed, 7 insertions(+), 2 deletions(-) diff --git a/handler/routes.go b/handler/routes.go index da7ecd2..c86cfb4 100644 --- a/handler/routes.go +++ b/handler/routes.go @@ -98,7 +98,7 @@ func WireGuardClients(db store.IStore) echo.HandlerFunc { } return c.Render(http.StatusOK, "clients.html", map[string]interface{}{ - "baseData": model.BaseData{Active: "", CurrentUser: currentUser(c)}, + "baseData": model.BaseData{Active: "", CurrentUser: currentUser(c), AllowedIPs: util.AllowedIPs}, "clientDataList": clientDataList, }) } diff --git a/main.go b/main.go index c62f0b9..9c5e3d4 100644 --- a/main.go +++ b/main.go @@ -36,6 +36,7 @@ var ( flagEmailFromName string = "WireGuard UI" flagSessionSecret string flagClientMTU int + flagAllowedIPs string ) const ( @@ -63,6 +64,7 @@ func init() { flag.StringVar(&flagEmailFromName, "email-from-name", util.LookupEnvOrString("EMAIL_FROM_NAME", flagEmailFromName), "'From' email name.") flag.StringVar(&flagSessionSecret, "session-secret", util.LookupEnvOrString("SESSION_SECRET", flagSessionSecret), "The key used to encrypt session cookies.") flag.IntVar(&flagClientMTU, "client-mtu", util.LookupEnvOrInt("CLIENT_MTU", flagClientMTU), "Client default MTU") + flag.StringVar(&flagAllowedIPs, "allowed-ips", util.LookupEnvOrString("ALLOWED_IPS", flagAllowedIPs), "List of default allowed IPs for the client") flag.Parse() // update runtime config @@ -79,6 +81,7 @@ func init() { util.EmailFromName = flagEmailFromName util.SessionSecret = []byte(flagSessionSecret) util.ClientMTU = flagClientMTU + util.AllowedIPs = flagAllowedIPs // print app information fmt.Println("Wireguard UI") diff --git a/model/misc.go b/model/misc.go index 12d6906..2574370 100644 --- a/model/misc.go +++ b/model/misc.go @@ -10,4 +10,5 @@ type Interface struct { type BaseData struct { Active string CurrentUser string + AllowedIPs string } diff --git a/templates/base.html b/templates/base.html index a161891..3adae78 100644 --- a/templates/base.html +++ b/templates/base.html @@ -175,7 +175,7 @@ + value="{{if .baseData.AllowedIPs}} {{.baseData.AllowedIPs}} {{else}} 0.0.0.0/0 {{end}}">