Skip to content

Commit

Permalink
Merge pull request egor-tensin#7 from sortlist/master
Browse files Browse the repository at this point in the history
Add parameter keepalive
  • Loading branch information
egor-tensin committed Jan 7, 2023
2 parents 0fc76ec + ef49fb8 commit 157f66c
Showing 1 changed file with 23 additions and 11 deletions.
34 changes: 23 additions & 11 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ inputs:
preshared_key:
description: Preshared key
required: false
keepalive:
description: Useful for NAT traversal
required: false

runs:
using: composite
Expand All @@ -33,6 +36,7 @@ runs:
readonly allowed_ips='${{ inputs.allowed_ips }}'
readonly private_key='${{ inputs.private_key }}'
readonly preshared_key='${{ inputs.preshared_key }}'
readonly keepalive='${{ inputs.keepalive }}'
readonly minport=51000
readonly maxport=51999
Expand Down Expand Up @@ -69,6 +73,11 @@ runs:
PresharedKey=$preshared_key"
fi
if [ -n "$keepalive" ]; then
netdev_contents="$netdev_contents
PersistentKeepalive=$keepalive"
fi
local network_contents
network_contents="
[Match]
Expand Down Expand Up @@ -132,19 +141,22 @@ runs:
listen-port "$port" \
private-key "$private_key_path"
if [ -z "$preshared_key" ]; then
sudo wg set "$ifname" \
peer "$endpoint_public_key" \
endpoint "$endpoint" \
allowed-ips "$allowed_ips"
else
sudo wg set "$ifname" \
peer "$endpoint_public_key" \
preshared-key "$preshared_key_path" \
endpoint "$endpoint" \
allowed-ips "$allowed_ips"
additionnal_wg_args=()
if [ -n "$preshared_key" ]; then
additionnal_wg_args+=("preshared-key \"${preshared_key_path}\"")
fi
if [ -n "$keepalive" ]; then
additionnal_wg_args+=("persistent-keepalive ${keepalive}")
fi
sudo wg set "$ifname" \
peer "$endpoint_public_key" \
endpoint "$endpoint" \
allowed-ips "$allowed_ips" \
${additionnal_wg_args[@]}
sudo ip link set "$ifname" up
# Add routes for allowed_ips
Expand Down

0 comments on commit 157f66c

Please sign in to comment.