Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/cmd/add_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,7 @@ func (c addServerCmdConfig) Run() {
defer file.Close()

data := []string{
peer.CreateServerFile(serverConfigRelay, serverConfigE2EE),
peer.CreateServerFile(serverConfigRelay, serverConfigE2EE, false),
"# POSIX Shell: " + peer.CreateServerCommand(serverConfigRelay, serverConfigE2EE, peer.POSIX, false, disableV6),
"# Powershell: " + peer.CreateServerCommand(serverConfigRelay, serverConfigE2EE, peer.PowerShell, false, disableV6),
}
Expand Down
3 changes: 2 additions & 1 deletion src/cmd/configure.go
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ func init() {
"relay-output",
"e2ee-output",
"server-output",
"simple",
} {
err := cmd.Flags().MarkHidden(f)
if err != nil {
Expand Down Expand Up @@ -326,7 +327,7 @@ func (c configureCmdConfig) Run() {
defer file.Close()

data := []string{
peer.CreateServerFile(serverConfigRelay, serverConfigE2EE),
peer.CreateServerFile(serverConfigRelay, serverConfigE2EE, c.simple),
"# POSIX Shell: " + peer.CreateServerCommand(serverConfigRelay, serverConfigE2EE, peer.POSIX, c.simple, c.disableV6),
"# Powershell: " + peer.CreateServerCommand(serverConfigRelay, serverConfigE2EE, peer.PowerShell, c.simple, c.disableV6),
}
Expand Down
12 changes: 10 additions & 2 deletions src/cmd/serve.go
Original file line number Diff line number Diff line change
Expand Up @@ -315,8 +315,16 @@ func (c serveCmdConfig) Run() {
}

// Check for required flags.
if !viper.IsSet("Relay.Peer.publickey") || (!viper.IsSet("simple") && !viper.IsSet("E2EE.Peer.publickey")) {
check("config error", errors.New("public key of peer is required"))
if !viper.IsSet("Relay.Peer.publickey") && !viper.IsSet("E2EE.Peer.publickey") {
check("config error", errors.New("no peer public keys provided"))
}

if !viper.IsSet("E2EE.Peer.publickey") {
fmt.Println("E2EE peer public key missing, running Wiretap in simple mode.")
serveCmd.simple = true
if !viper.IsSet("Relay.Peer.publickey") {
check("config error", errors.New("public key of Relay peer is required"))
}
}

if viper.IsSet("disableipv6") && netip.MustParseAddr(viper.GetString("E2EE.Interface.api")).Is6() {
Expand Down
27 changes: 14 additions & 13 deletions src/peer/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -553,7 +553,7 @@ func CreateServerCommand(relayConfig Config, e2eeConfig Config, shell Shell, sim
return s.String()
}

func CreateServerFile(relayConfig Config, e2eeConfig Config) string {
func CreateServerFile(relayConfig Config, e2eeConfig Config, simple bool) string {
var s strings.Builder

// Relay Interface.
Expand Down Expand Up @@ -594,20 +594,21 @@ func CreateServerFile(relayConfig Config, e2eeConfig Config) string {
if len(relayConfig.GetPeerEndpoint(0)) > 0 {
s.WriteString(fmt.Sprintf("Endpoint = %s\n", relayConfig.GetPeerEndpoint(0)))
}
if !simple {
// E2EE Interface.
s.WriteString("\n[E2EE.Interface]\n")
s.WriteString(fmt.Sprintf("PrivateKey = %s\n", e2eeConfig.GetPrivateKey()))

// E2EE Interface.
s.WriteString("\n[E2EE.Interface]\n")
s.WriteString(fmt.Sprintf("PrivateKey = %s\n", e2eeConfig.GetPrivateKey()))

if len(e2eeConfig.addresses) == 1 {
s.WriteString(fmt.Sprintf("Api = %s\n", e2eeConfig.addresses[0].IP.String()))
}
if len(e2eeConfig.addresses) == 1 {
s.WriteString(fmt.Sprintf("Api = %s\n", e2eeConfig.addresses[0].IP.String()))
}

// E2EE Peer.
s.WriteString("\n[E2EE.Peer]\n")
s.WriteString(fmt.Sprintf("PublicKey = %s\n", e2eeConfig.GetPeerPublicKey(0)))
if len(e2eeConfig.GetPeerEndpoint(0)) > 0 {
s.WriteString(fmt.Sprintf("Endpoint = %s\n", e2eeConfig.GetPeerEndpoint(0)))
// E2EE Peer.
s.WriteString("\n[E2EE.Peer]\n")
s.WriteString(fmt.Sprintf("PublicKey = %s\n", e2eeConfig.GetPeerPublicKey(0)))
if len(e2eeConfig.GetPeerEndpoint(0)) > 0 {
s.WriteString(fmt.Sprintf("Endpoint = %s\n", e2eeConfig.GetPeerEndpoint(0)))
}
}

return s.String()
Expand Down
Loading