mirror of
https://github.com/pivpn/pivpn.git
synced 2024-12-23 21:30:15 +00:00
71f7ca9b3b
Fix #1636 Refactor code according to code style Constants, Functions, Script
99 lines
3 KiB
Bash
Executable file
99 lines
3 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
### Constants
|
|
|
|
setupVars="/etc/pivpn/wireguard/setupVars.conf"
|
|
|
|
# shellcheck disable=SC1090
|
|
source "${setupVars}"
|
|
|
|
### Funcions
|
|
|
|
err() {
|
|
echo "[$(date +'%Y-%m-%dT%H:%M:%S%z')]: $*" >&2
|
|
}
|
|
|
|
### Script
|
|
|
|
# This scripts runs as root
|
|
if [[ ! -f "${setupVars}" ]]; then
|
|
err "::: Missing setup vars file!"
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "::::\t\t\e[4mPiVPN debug\e[0m\t\t ::::"
|
|
printf "=============================================\n"
|
|
echo -e "::::\t\t\e[4mLatest commit\e[0m\t\t ::::"
|
|
echo -n "Branch: "
|
|
|
|
git --git-dir /usr/local/src/pivpn/.git rev-parse --abbrev-ref HEAD
|
|
git \
|
|
--git-dir /usr/local/src/pivpn/.git log -n 1 \
|
|
--format='Commit: %H%nAuthor: %an%nDate: %ad%nSummary: %s'
|
|
|
|
printf "=============================================\n"
|
|
echo -e "::::\t \e[4mInstallation settings\e[0m \t ::::"
|
|
|
|
# Disabling SC2154 warning, variable is sourced externaly and may vary
|
|
# shellcheck disable=SC2154
|
|
sed "s/${pivpnHOST}/REDACTED/" < "${setupVars}"
|
|
|
|
printf "=============================================\n"
|
|
echo -e ":::: \e[4mServer configuration shown below\e[0m ::::"
|
|
|
|
cd /etc/wireguard/keys || exit
|
|
cp ../wg0.conf ../wg0.tmp
|
|
|
|
# Replace every key in the server configuration with just its file name
|
|
for k in *; do
|
|
sed "s#$(< "${k}")#${k}#" -i ../wg0.tmp
|
|
done
|
|
|
|
cat ../wg0.tmp
|
|
rm ../wg0.tmp
|
|
|
|
printf "=============================================\n"
|
|
echo -e ":::: \e[4mClient configuration shown below\e[0m ::::"
|
|
|
|
EXAMPLE="$(head -1 /etc/wireguard/configs/clients.txt | awk '{print $1}')"
|
|
|
|
if [[ -n "${EXAMPLE}" ]]; then
|
|
cp ../configs/"${EXAMPLE}".conf ../configs/"${EXAMPLE}".tmp
|
|
|
|
for k in *; do
|
|
sed "s#$(< "${k}")#${k}#" -i ../configs/"${EXAMPLE}".tmp
|
|
done
|
|
|
|
sed "s/${pivpnHOST}/REDACTED/" < ../configs/"${EXAMPLE}".tmp
|
|
rm ../configs/"${EXAMPLE}".tmp
|
|
else
|
|
echo "::: There are no clients yet"
|
|
fi
|
|
|
|
printf "=============================================\n"
|
|
echo -e ":::: \t\e[4mRecursive list of files in\e[0m\t ::::"
|
|
echo -e "::::\t\e[4m/etc/wireguard shown below\e[0m\t ::::"
|
|
|
|
ls -LR /etc/wireguard
|
|
|
|
printf "=============================================\n"
|
|
echo -e "::::\t\t\e[4mSelf check\e[0m\t\t ::::"
|
|
|
|
/opt/pivpn/self_check.sh "${VPN}"
|
|
|
|
printf "=============================================\n"
|
|
echo -e ":::: Having trouble connecting? Take a look at the FAQ:"
|
|
echo -e ":::: \e[1mhttps://docs.pivpn.io/faq\e[0m"
|
|
printf "=============================================\n"
|
|
echo -ne ":::: \e[1mWARNING\e[0m: This script should have "
|
|
echo -e "automatically masked sensitive ::::"
|
|
echo -ne ":::: information, however, still make sure that "
|
|
echo -e "\e[4mPrivateKey\e[0m, \e[4mPublicKey\e[0m ::::"
|
|
echo -ne ":::: and \e[4mPresharedKey\e[0m are masked before "
|
|
echo -e "reporting an issue. An example key ::::"
|
|
echo -n ":::: that you should NOT see in this log looks like this:"
|
|
echo " ::::"
|
|
echo -n ":::: YIAoJVsdIeyvXfGGDDadHh6AxsMRymZTnnzZoAb9cxRe"
|
|
echo " ::::"
|
|
printf "=============================================\n"
|
|
echo -e "::::\t\t\e[4mDebug complete\e[0m\t\t ::::"
|