Files
pia-wg-triffid/pia-config.sh
2021-02-10 12:34:10 +08:00

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