
2 changed files with 0 additions and 56 deletions
@ -1,56 +0,0 @@ |
|||
#!/bin/bash |
|||
set -euo pipefail |
|||
|
|||
if [[ $# -lt 1 || $# -gt 2 ]]; then |
|||
echo "Usage: $(basename $0) IP [Port]" |
|||
exit 1 |
|||
fi |
|||
wireguard_ip="$1" |
|||
if [[ -z $2 ]]; then |
|||
wireguard_port=9271 |
|||
else |
|||
wireguard_port="$2" |
|||
fi |
|||
|
|||
sudo apt update |
|||
sudo apt install -y wireguard |
|||
|
|||
cd /etc/wireguard/ |
|||
echo "Configuring wireguard ..." |
|||
(umask 077 && printf "[Interface]\nPrivateKey = " | sudo tee wg0.conf > /dev/null) |
|||
wg genkey | sudo tee -a wg0.conf | wg pubkey | sudo tee wg0.pubkey > /dev/null |
|||
echo "ListenPort = ${wireguard_port:?} |
|||
SaveConfig = true |
|||
Address = ${wireguard_ip:?}/24" | sudo tee -a wg0.conf > /dev/null |
|||
|
|||
if [[ -e /etc/nftables.firewall ]]; then |
|||
echo "detected firewall config: nftables.firewall" |
|||
echo "opening port $wireguard_port on firewall ..." |
|||
line="tcp dport 9271 accept" |
|||
regex="$line" |
|||
sed -E -e "/$regex/{s/.*/$line/;:a;n;ba;q}" -e "\$a $line" /etc/nftables.firewall | sudo tee nftables.firewall >/dev/null |
|||
sudo /etc/nftables.conf |
|||
else |
|||
echo "No firewall detected." |
|||
echo "If you are using a firewall, make sure port $wireguard_port is open." |
|||
fi |
|||
|
|||
echo "Starting wireguard ..." |
|||
sudo systemctl start wg-quick@wg0 |
|||
read -p "Enable wireguard to automatically start on boot? [Y/n] " tmp |
|||
while true; do |
|||
case tmp in |
|||
''|y|Y|yes|Yes) |
|||
sudo systemctl enable wg-quick@wg0 |
|||
echo "Wireguard will now automatically start on boot." |
|||
echo "To disable, run 'sudo systemctl disable wg-quick@wg0'" |
|||
break |
|||
;; |
|||
n|N|no|No) |
|||
echo "Wireguard will not start on boot." |
|||
echo "To enable auto-start, run 'sudo systemctl enable wg-quick@wg0'" |
|||
break |
|||
;; |
|||
*) echo "error: unrecognized input";; |
|||
esac |
|||
done |
Loading…
Reference in new issue