add: client MTU settings available from command line

This commit is contained in:
Paul Fournet 2022-04-04 12:54:20 +00:00
parent ad4ca4d9bb
commit 026bca5078
3 changed files with 11 additions and 1 deletions

View file

@ -3,10 +3,11 @@ package main
import ( import (
"flag" "flag"
"fmt" "fmt"
"github.com/labstack/echo/v4"
"net/http" "net/http"
"time" "time"
"github.com/labstack/echo/v4"
rice "github.com/GeertJohan/go.rice" rice "github.com/GeertJohan/go.rice"
"github.com/ngoduykhanh/wireguard-ui/emailer" "github.com/ngoduykhanh/wireguard-ui/emailer"
"github.com/ngoduykhanh/wireguard-ui/handler" "github.com/ngoduykhanh/wireguard-ui/handler"
@ -34,6 +35,7 @@ var (
flagEmailFrom string flagEmailFrom string
flagEmailFromName string = "WireGuard UI" flagEmailFromName string = "WireGuard UI"
flagSessionSecret string flagSessionSecret string
flagClientMTU int
) )
const ( const (
@ -60,6 +62,7 @@ func init() {
flag.StringVar(&flagEmailFrom, "email-from", util.LookupEnvOrString("EMAIL_FROM_ADDRESS", flagEmailFrom), "'From' email address.") 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(&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.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() flag.Parse()
// update runtime config // update runtime config
@ -75,6 +78,7 @@ func init() {
util.EmailFrom = flagEmailFrom util.EmailFrom = flagEmailFrom
util.EmailFromName = flagEmailFromName util.EmailFromName = flagEmailFromName
util.SessionSecret = []byte(flagSessionSecret) util.SessionSecret = []byte(flagSessionSecret)
util.ClientMTU = flagClientMTU
// print app information // print app information
fmt.Println("Wireguard UI") fmt.Println("Wireguard UI")

View file

@ -16,6 +16,7 @@ var (
EmailSubject string EmailSubject string
EmailContent string EmailContent string
SessionSecret []byte SessionSecret []byte
ClientMTU int
) )
const ( const (

View file

@ -27,6 +27,10 @@ func BuildClientConfig(client model.Client, server model.Server, setting model.G
if client.UseServerDNS { if client.UseServerDNS {
clientDNS = fmt.Sprintf("DNS = %s\n", strings.Join(setting.DNSServers, ",")) clientDNS = fmt.Sprintf("DNS = %s\n", strings.Join(setting.DNSServers, ","))
} }
clientMTU := ""
if ClientMTU > 0 {
clientMTU = fmt.Sprintf("MTU = %d\n", ClientMTU)
}
// Peer section // Peer section
peerPublicKey := fmt.Sprintf("PublicKey = %s\n", server.KeyPair.PublicKey) 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 + clientAddress +
clientPrivateKey + clientPrivateKey +
clientDNS + clientDNS +
clientMTU +
"\n[Peer]\n" + "\n[Peer]\n" +
peerPublicKey + peerPublicKey +
peerPresharedKey + peerPresharedKey +