1
0
Fork 0
mirror of https://github.com/fosrl/newt.git synced 2025-05-17 15:37:52 +01:00

Allow chaning mtu; set default low

This commit is contained in:
Owen Schwartz 2025-01-13 22:51:36 -05:00
parent a46fb23cdd
commit e90e55d982
No known key found for this signature in database
GPG key ID: 8271FDFFD9E0CCBD

15
main.go
View file

@ -12,6 +12,7 @@ import (
"net/netip" "net/netip"
"os" "os"
"os/signal" "os/signal"
"strconv"
"strings" "strings"
"syscall" "syscall"
"time" "time"
@ -247,6 +248,8 @@ func main() {
endpoint string endpoint string
id string id string
secret string secret string
mtu string
mtuInt int
dns string dns string
privateKey wgtypes.Key privateKey wgtypes.Key
err error err error
@ -257,6 +260,7 @@ func main() {
endpoint = os.Getenv("PANGOLIN_ENDPOINT") endpoint = os.Getenv("PANGOLIN_ENDPOINT")
id = os.Getenv("NEWT_ID") id = os.Getenv("NEWT_ID")
secret = os.Getenv("NEWT_SECRET") secret = os.Getenv("NEWT_SECRET")
mtu = os.Getenv("MTU")
dns = os.Getenv("DNS") dns = os.Getenv("DNS")
logLevel = os.Getenv("LOG_LEVEL") logLevel = os.Getenv("LOG_LEVEL")
@ -269,6 +273,9 @@ func main() {
if secret == "" { if secret == "" {
flag.StringVar(&secret, "secret", "", "Newt secret") flag.StringVar(&secret, "secret", "", "Newt secret")
} }
if mtu == "" {
flag.StringVar(&mtu, "mtu", "1280", "MTU to use")
}
if dns == "" { if dns == "" {
flag.StringVar(&dns, "dns", "8.8.8.8", "DNS server to use") flag.StringVar(&dns, "dns", "8.8.8.8", "DNS server to use")
} }
@ -286,6 +293,12 @@ func main() {
logger.Fatal("endpoint, id, and secret are required either via CLI flags or environment variables") logger.Fatal("endpoint, id, and secret are required either via CLI flags or environment variables")
} }
// parse the mtu string into an int
mtuInt, err = strconv.Atoi(mtu)
if err != nil {
logger.Fatal("Failed to parse MTU: %v", err)
}
privateKey, err = wgtypes.GeneratePrivateKey() privateKey, err = wgtypes.GeneratePrivateKey()
if err != nil { if err != nil {
logger.Fatal("Failed to generate private key: %v", err) logger.Fatal("Failed to generate private key: %v", err)
@ -353,7 +366,7 @@ func main() {
tun, tnet, err = netstack.CreateNetTUN( tun, tnet, err = netstack.CreateNetTUN(
[]netip.Addr{netip.MustParseAddr(wgData.TunnelIP)}, []netip.Addr{netip.MustParseAddr(wgData.TunnelIP)},
[]netip.Addr{netip.MustParseAddr(dns)}, []netip.Addr{netip.MustParseAddr(dns)},
1420) mtuInt)
if err != nil { if err != nil {
logger.Error("Failed to create TUN device: %v", err) logger.Error("Failed to create TUN device: %v", err)
} }