diff --git a/core/server.go b/core/server.go index 49d8af9..c2287f7 100644 --- a/core/server.go +++ b/core/server.go @@ -36,6 +36,10 @@ func ReadServer() (*model.Server, error) { server.Dns = append(server.Dns, "fd9f::10:0:0:2") server.Dns = append(server.Dns, "10.0.0.2") + server.AllowedIPs = make([]string, 0) + server.AllowedIPs = append(server.AllowedIPs, "0.0.0.0/0") + server.AllowedIPs = append(server.AllowedIPs, "::/0") + server.PersistentKeepalive = 16 server.Mtu = 0 server.PreUp = "echo WireGuard PreUp" diff --git a/model/server.go b/model/server.go index c495e15..b7c2cdf 100644 --- a/model/server.go +++ b/model/server.go @@ -16,6 +16,7 @@ type Server struct { Endpoint string `json:"endpoint"` PersistentKeepalive int `json:"persistentKeepalive"` Dns []string `json:"dns"` + AllowedIPs []string `json:"allowedips"` PreUp string `json:"preUp"` PostUp string `json:"postUp"` PreDown string `json:"preDown"` @@ -59,6 +60,12 @@ func (a Server) IsValid() []error { errs = append(errs, fmt.Errorf("dns %s is invalid", dns)) } } + // check if the allowedIPs are valid + for _, allowedIP := range a.AllowedIPs { + if !util.IsValidCidr(allowedIP) { + errs = append(errs, fmt.Errorf("allowedIP %s is invalid", allowedIP)) + } + } return errs } diff --git a/ui/src/components/Clients.vue b/ui/src/components/Clients.vue index f383e77..e2c5786 100644 --- a/ui/src/components/Clients.vue +++ b/ui/src/components/Clients.vue @@ -382,7 +382,7 @@ name: "", email: "", enable: true, - allowedIPs: ["0.0.0.0/0", "::/0"], + allowedIPs: this.server.allowedips, address: this.server.address, } }, diff --git a/ui/src/components/Server.vue b/ui/src/components/Server.vue index eb37cb2..c8fdffc 100644 --- a/ui/src/components/Server.vue +++ b/ui/src/components/Server.vue @@ -85,6 +85,26 @@ + + + { this.notify('success', "Server successfully updated"); this.server = res;