diff --git a/main.go b/main.go index 9f2af3c..c62f0b9 100644 --- a/main.go +++ b/main.go @@ -3,10 +3,11 @@ package main import ( "flag" "fmt" - "github.com/labstack/echo/v4" "net/http" "time" + "github.com/labstack/echo/v4" + rice "github.com/GeertJohan/go.rice" "github.com/ngoduykhanh/wireguard-ui/emailer" "github.com/ngoduykhanh/wireguard-ui/handler" @@ -34,6 +35,7 @@ var ( flagEmailFrom string flagEmailFromName string = "WireGuard UI" flagSessionSecret string + flagClientMTU int ) const ( @@ -60,6 +62,7 @@ func init() { flag.StringVar(&flagEmailFrom, "email-from", util.LookupEnvOrString("EMAIL_FROM_ADDRESS", flagEmailFrom), "'From' email address.") 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.Parse() // update runtime config @@ -75,6 +78,7 @@ func init() { util.EmailFrom = flagEmailFrom util.EmailFromName = flagEmailFromName util.SessionSecret = []byte(flagSessionSecret) + util.ClientMTU = flagClientMTU // print app information fmt.Println("Wireguard UI") diff --git a/util/config.go b/util/config.go index 80cbc9c..8910f72 100644 --- a/util/config.go +++ b/util/config.go @@ -16,6 +16,7 @@ var ( EmailSubject string EmailContent string SessionSecret []byte + ClientMTU int ) const ( diff --git a/util/util.go b/util/util.go index 7c347a9..84bbefb 100644 --- a/util/util.go +++ b/util/util.go @@ -27,6 +27,10 @@ func BuildClientConfig(client model.Client, server model.Server, setting model.G if client.UseServerDNS { clientDNS = fmt.Sprintf("DNS = %s\n", strings.Join(setting.DNSServers, ",")) } + clientMTU := "" + if ClientMTU > 0 { + clientMTU = fmt.Sprintf("MTU = %d\n", ClientMTU) + } // Peer section peerPublicKey := fmt.Sprintf("PublicKey = %s\n", server.KeyPair.PublicKey) @@ -60,6 +64,7 @@ func BuildClientConfig(client model.Client, server model.Server, setting model.G clientAddress + clientPrivateKey + clientDNS + + clientMTU + "\n[Peer]\n" + peerPublicKey + peerPresharedKey +