mirror of
https://github.com/ngoduykhanh/wireguard-ui.git
synced 2025-07-02 16:38:47 +03:00
Added client default settings page
Added client default settings page, where you can set Allowed IPs, Extra Allowed IPs, use server dns, enable after creation.
This commit is contained in:
parent
fdb36e4711
commit
5fff577c60
9 changed files with 293 additions and 7 deletions
|
@ -42,6 +42,7 @@ func (o *JsonDB) Init() error {
|
|||
var serverInterfacePath string = path.Join(serverPath, "interfaces.json")
|
||||
var serverKeyPairPath string = path.Join(serverPath, "keypair.json")
|
||||
var globalSettingPath string = path.Join(serverPath, "global_settings.json")
|
||||
var clientDefaultSettingsPath string = path.Join(serverPath, "client_default_settings.json")
|
||||
var userPath string = path.Join(serverPath, "users.json")
|
||||
// create directories if they do not exist
|
||||
if _, err := os.Stat(clientPath); os.IsNotExist(err) {
|
||||
|
@ -102,6 +103,12 @@ func (o *JsonDB) Init() error {
|
|||
o.conn.Write("server", "global_settings", globalSetting)
|
||||
}
|
||||
|
||||
// client default settings
|
||||
if _, err := os.Stat(clientDefaultSettingsPath); os.IsNotExist(err) {
|
||||
clientDefaultSetting := util.ClientDefaultsFromEnv()
|
||||
o.conn.Write("server", "client_default_settings", clientDefaultSetting)
|
||||
}
|
||||
|
||||
// user info
|
||||
if _, err := os.Stat(userPath); os.IsNotExist(err) {
|
||||
user := new(model.User)
|
||||
|
@ -138,6 +145,12 @@ func (o *JsonDB) GetGlobalSettings() (model.GlobalSetting, error) {
|
|||
return settings, o.conn.Read("server", "global_settings", &settings)
|
||||
}
|
||||
|
||||
// GetClientDefaultSettings func to query client default settings from the database
|
||||
func (o *JsonDB) GetClientDefaultSettings() (model.ClientDefaults, error) {
|
||||
settings := model.ClientDefaults{}
|
||||
return settings, o.conn.Read("server", "client_default_settings", &settings)
|
||||
}
|
||||
|
||||
// GetServer func to query Server settings from the database
|
||||
func (o *JsonDB) GetServer() (model.Server, error) {
|
||||
server := model.Server{}
|
||||
|
@ -213,7 +226,7 @@ func (o *JsonDB) GetClientByID(clientID string, qrCodeSettings model.QRCodeSetti
|
|||
server, _ := o.GetServer()
|
||||
globalSettings, _ := o.GetGlobalSettings()
|
||||
client := client
|
||||
if !qrCodeSettings.IncludeDNS{
|
||||
if !qrCodeSettings.IncludeDNS {
|
||||
globalSettings.DNSServers = []string{}
|
||||
}
|
||||
if !qrCodeSettings.IncludeMTU {
|
||||
|
@ -255,3 +268,7 @@ func (o *JsonDB) SaveServerKeyPair(serverKeyPair model.ServerKeypair) error {
|
|||
func (o *JsonDB) SaveGlobalSettings(globalSettings model.GlobalSetting) error {
|
||||
return o.conn.Write("server", "global_settings", globalSettings)
|
||||
}
|
||||
|
||||
func (o *JsonDB) SaveClientDefaultSettings(clientDefaults model.ClientDefaults) error {
|
||||
return o.conn.Write("server", "client_default_settings", clientDefaults)
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ type IStore interface {
|
|||
GetUser() (model.User, error)
|
||||
SaveUser(user model.User) error
|
||||
GetGlobalSettings() (model.GlobalSetting, error)
|
||||
GetClientDefaultSettings() (model.ClientDefaults, error)
|
||||
GetServer() (model.Server, error)
|
||||
GetClients(hasQRCode bool) ([]model.ClientData, error)
|
||||
GetClientByID(clientID string, qrCode model.QRCodeSettings) (model.ClientData, error)
|
||||
|
@ -17,6 +18,7 @@ type IStore interface {
|
|||
SaveServerInterface(serverInterface model.ServerInterface) error
|
||||
SaveServerKeyPair(serverKeyPair model.ServerKeypair) error
|
||||
SaveGlobalSettings(globalSettings model.GlobalSetting) error
|
||||
SaveClientDefaultSettings(clientDefaults model.ClientDefaults) error
|
||||
GetWakeOnLanHosts() ([]model.WakeOnLanHost, error)
|
||||
GetWakeOnLanHost(macAddress string) (*model.WakeOnLanHost, error)
|
||||
DeleteWakeOnHostLanHost(macAddress string) error
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue