mirror of
https://github.com/triffid/pia-wg.git
synced 2026-03-31 06:23:55 -04:00
126 lines
1.8 KiB
Bash
126 lines
1.8 KiB
Bash
#!/bin/bash
|
|
|
|
if [ -t 1 ]
|
|
then
|
|
BOLD=$'\e[1m'
|
|
NORMAL=$'\e[0m'
|
|
fi
|
|
TAB=$'\t'
|
|
|
|
if [ -z "$CONFIGDIR" ]
|
|
then
|
|
if [ $EUID -eq 0 ]
|
|
then
|
|
CONFIGDIR="/var/cache/pia-wg"
|
|
else
|
|
CONFIGDIR="$HOME/.config/pia-wg"
|
|
fi
|
|
mkdir -p "$CONFIGDIR"
|
|
fi
|
|
|
|
if [ -z "$CONFIG" ]
|
|
then
|
|
if [ $EUID -eq 0 ]
|
|
then
|
|
CONFIG="/etc/pia-wg/pia-wg.conf"
|
|
else
|
|
CONFIG="$CONFIGDIR/pia-wg.conf"
|
|
fi
|
|
fi
|
|
|
|
if [ -r "$CONFIG" ]
|
|
then
|
|
source "$CONFIG"
|
|
fi
|
|
|
|
if [ -z "$CLIENT_PRIVATE_KEY" ]
|
|
then
|
|
echo "Generating new private key"
|
|
CLIENT_PRIVATE_KEY="$(wg genkey)"
|
|
fi
|
|
|
|
if [ -z "$CLIENT_PUBLIC_KEY" ]
|
|
then
|
|
CLIENT_PUBLIC_KEY=$(wg pubkey <<< "$CLIENT_PRIVATE_KEY")
|
|
fi
|
|
|
|
if [ -z "$CLIENT_PUBLIC_KEY" ]
|
|
then
|
|
echo "Failed to generate client public key, check your config!"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$LOC" ]
|
|
then
|
|
echo "Setting default location: ${BOLD}any${NORMAL}"
|
|
LOC="."
|
|
fi
|
|
|
|
if [ -z "$PIA_INTERFACE" ]
|
|
then
|
|
echo "Setting default wireguard interface name: ${BOLD}pia${NORMAL}"
|
|
PIA_INTERFACE="pia"
|
|
fi
|
|
|
|
if [ -z "$WGCONF" ]
|
|
then
|
|
WGCONF="$CONFIGDIR/${PIA_INTERFACE}.conf"
|
|
fi
|
|
|
|
if [ -z "$PIA_CERT" ]
|
|
then
|
|
PIA_CERT="$CONFIGDIR/rsa_4096.crt"
|
|
fi
|
|
|
|
if [ -z "$TOKENFILE" ]
|
|
then
|
|
TOKENFILE="$CONFIGDIR/token"
|
|
fi
|
|
|
|
if [ -z "$TOK" ] && [ -r "$TOKENFILE" ]
|
|
then
|
|
TOK=$(< "$TOKENFILE")
|
|
fi
|
|
|
|
if [ -z "$DATAFILE" ]
|
|
then
|
|
DATAFILE="$CONFIGDIR/data.json"
|
|
fi
|
|
|
|
if [ -z "$DATAFILE_NEW" ]
|
|
then
|
|
DATAFILE_NEW="$CONFIGDIR/data_new.json"
|
|
fi
|
|
|
|
if [ -z "$REMOTEINFO" ]
|
|
then
|
|
REMOTEINFO="$CONFIGDIR/remote.info"
|
|
fi
|
|
|
|
if [ -z "$CONNCACHE" ]
|
|
then
|
|
CONNCACHE="$CONFIGDIR/cache.json"
|
|
fi
|
|
|
|
if [ -z "$HARDWARE_ROUTE_TABLE" ]
|
|
then
|
|
# 0xca6c
|
|
HARDWARE_ROUTE_TABLE=51820
|
|
fi
|
|
|
|
if [ -z "$VPNONLY_ROUTE_TABLE" ]
|
|
then
|
|
# 0xca6d
|
|
VPNONLY_ROUTE_TABLE=51821
|
|
fi
|
|
|
|
if [ -z "$PF_SIGFILE" ]
|
|
then
|
|
PF_SIGFILE="$CONFIGDIR/pf-sig"
|
|
fi
|
|
|
|
if [ -z "$PF_BINDFILE" ]
|
|
then
|
|
PF_BINDFILE="$CONFIGDIR/pf-bind"
|
|
fi
|