Handle hp and other stuff

This commit is contained in:
Owen
2025-12-01 16:20:30 -05:00
parent 01ec6a0ce0
commit 40ca839771
3 changed files with 3 additions and 32 deletions

View File

@@ -29,7 +29,7 @@ func setupClients(client *websocket.Client) {
logger.Info("Setting up clients with netstack2...") logger.Info("Setting up clients with netstack2...")
// Create WireGuard service // Create WireGuard service
wgService, err = wgnetstack.NewWireGuardService(interfaceName, mtuInt, generateAndSaveKeyTo, host, id, client, "9.9.9.9", useNativeInterface) wgService, err = wgnetstack.NewWireGuardService(interfaceName, mtuInt, host, id, client, dns, useNativeInterface)
if err != nil { if err != nil {
logger.Fatal("Failed to create WireGuard service: %v", err) logger.Fatal("Failed to create WireGuard service: %v", err)
} }

View File

@@ -105,36 +105,12 @@ type WireGuardService struct {
netstackListenerMu sync.Mutex netstackListenerMu sync.Mutex
} }
func NewWireGuardService(interfaceName string, mtu int, generateAndSaveKeyTo string, host string, newtId string, wsClient *websocket.Client, dns string, useNativeInterface bool) (*WireGuardService, error) { func NewWireGuardService(interfaceName string, mtu int, host string, newtId string, wsClient *websocket.Client, dns string, useNativeInterface bool) (*WireGuardService, error) {
var key wgtypes.Key key, err := wgtypes.GeneratePrivateKey()
var err error
key, err = wgtypes.GeneratePrivateKey()
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to generate private key: %v", err) return nil, fmt.Errorf("failed to generate private key: %v", err)
} }
// Load or generate private key
if generateAndSaveKeyTo != "" {
if _, err := os.Stat(generateAndSaveKeyTo); os.IsNotExist(err) {
// File doesn't exist, save the generated key
err = os.WriteFile(generateAndSaveKeyTo, []byte(key.String()), 0600)
if err != nil {
return nil, fmt.Errorf("failed to save private key: %v", err)
}
} else {
// File exists, read the existing key
keyData, err := os.ReadFile(generateAndSaveKeyTo)
if err != nil {
return nil, fmt.Errorf("failed to read private key: %v", err)
}
key, err = wgtypes.ParseKey(strings.TrimSpace(string(keyData)))
if err != nil {
return nil, fmt.Errorf("failed to parse private key: %v", err)
}
}
}
// Find an available port // Find an available port
port, err := util.FindAvailableUDPPort(49152, 65535) port, err := util.FindAvailableUDPPort(49152, 65535)

View File

@@ -116,7 +116,6 @@ var (
err error err error
logLevel string logLevel string
interfaceName string interfaceName string
generateAndSaveKeyTo string
acceptClients bool acceptClients bool
updownScript string updownScript string
dockerSocket string dockerSocket string
@@ -168,7 +167,6 @@ func main() {
logLevel = os.Getenv("LOG_LEVEL") logLevel = os.Getenv("LOG_LEVEL")
updownScript = os.Getenv("UPDOWN_SCRIPT") updownScript = os.Getenv("UPDOWN_SCRIPT")
interfaceName = os.Getenv("INTERFACE") interfaceName = os.Getenv("INTERFACE")
generateAndSaveKeyTo = os.Getenv("GENERATE_AND_SAVE_KEY_TO")
// Metrics/observability env mirrors // Metrics/observability env mirrors
metricsEnabledEnv := os.Getenv("NEWT_METRICS_PROMETHEUS_ENABLED") metricsEnabledEnv := os.Getenv("NEWT_METRICS_PROMETHEUS_ENABLED")
@@ -237,9 +235,6 @@ func main() {
if interfaceName == "" { if interfaceName == "" {
flag.StringVar(&interfaceName, "interface", "newt", "Name of the WireGuard interface") flag.StringVar(&interfaceName, "interface", "newt", "Name of the WireGuard interface")
} }
if generateAndSaveKeyTo == "" {
flag.StringVar(&generateAndSaveKeyTo, "generateAndSaveKeyTo", "", "Path to save generated private key")
}
if useNativeInterfaceEnv == "" { if useNativeInterfaceEnv == "" {
flag.BoolVar(&useNativeInterface, "native", false, "Use native WireGuard interface (requires WireGuard kernel module) and linux") flag.BoolVar(&useNativeInterface, "native", false, "Use native WireGuard interface (requires WireGuard kernel module) and linux")
} }