Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
3 changes: 3 additions & 0 deletions src/cmd/add.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ type addCmdConfig struct {
endpoint string
outboundEndpoint string
keepalive int
generatePSK bool
}

// Defaults for add command.
Expand All @@ -18,6 +19,7 @@ var addCmdArgs = addCmdConfig{
endpoint: Endpoint,
outboundEndpoint: Endpoint,
keepalive: Keepalive,
generatePSK: false,
}

// addCmd represents the add command.
Expand All @@ -33,6 +35,7 @@ func init() {

addCmd.PersistentFlags().StringVarP(&addCmdArgs.endpoint, "endpoint", "e", addCmdArgs.endpoint, "IP:PORT (or [IP]:PORT for IPv6) of wireguard listener that server will connect to (example \"1.2.3.4:51820\")")
addCmd.PersistentFlags().StringVarP(&addCmdArgs.outboundEndpoint, "outbound-endpoint", "o", addCmdArgs.outboundEndpoint, "IP:PORT (or [IP]:PORT for IPv6) of wireguard listener that client will connect to (example \"4.3.2.1:51820\"")
addCmd.PersistentFlags().BoolVarP(&addCmdArgs.generatePSK, "PSK", "K", addCmdArgs.generatePSK, "generate a preshared key")

addCmd.PersistentFlags().IntVarP(&addCmdArgs.keepalive, "keepalive", "k", addCmdArgs.keepalive, "tunnel keepalive in seconds")

Expand Down
9 changes: 9 additions & 0 deletions src/cmd/add_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,15 @@ func (c addClientCmdConfig) Run() {
// Make peer configs to populate server peers.
clientPeerConfigRelay, err := peer.GetPeerConfig(peer.PeerConfigArgs{
PublicKey: clientConfigRelay.GetPublicKey(),
PresharedKey: func() string {
if addArgs.generatePSK {
err := clientConfigRelay.GenPresharedKey()
check("failed to generate preshared key", err)
return clientConfigRelay.GetPresharedKey()
} else {
return ""
}
}(),
AllowedIPs: func() []string {
allowed := []string{}
for _, prefix := range clientConfigRelay.GetAddresses() {
Expand Down
9 changes: 9 additions & 0 deletions src/cmd/add_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,15 @@ func (c addServerCmdConfig) Run() {
// Add new server as relay peer.
serverRelayPeer, err := peer.GetPeerConfig(peer.PeerConfigArgs{
PublicKey: serverConfigRelay.GetPublicKey(),
PresharedKey: func() string {
if addArgs.generatePSK {
err := serverConfigRelay.GenPresharedKey()
check("failed to generate preshared key", err)
return serverConfigRelay.GetPresharedKey()
} else {
return ""
}
}(),
AllowedIPs: func() []string {
allowedIPs := []string{}
for _, prefix := range newRelayPrefixes {
Expand Down
Loading