#!/bin/bash
# Author: MoeClub.org
export ADMIN=''
export USER=''
export PASSWD=''
while [[ $# -ge 1 ]]; do
case $1 in
-a)
shift
ADMIN=`echo "$1" |sed 's/[[:space:]]//g'`
shift
;;
-u)
shift
USER=`echo "$1" |sed 's/[[:space:]]//g'`
shift
;;
-p)
shift
PASSWD=`echo "$1" |sed 's/[[:space:]]//g'`
shift
;;
*)
echo -ne " Usage:\n\tbash $(basename $0)\t-a [AdminPasswd] -u [User] -p [Passwd]\n"
exit 1;
;;
esac
done
[ -n "$ADMIN" ] || ADMIN="empty"
[ -n "$USER" ] || USER="vpn"
[ -n "$PASSWD" ] || PASSWD="vpn"
kill -9 `ps -C "vpnserver" -o pid=` >/dev/null 2>&1
rm -rf /tmp/vpnserver
rm -rf /etc/softether
mkdir -p /etc/softether
wget --no-check-certificate --no-cache -4 -qO "/tmp/softether.tar.gz" "https://www.softether-download.com/files/softether/v4.34-9745-rtm-2020.04.05-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-x64-64bit.tar.gz"
wget --no-check-certificate --no-cache -4 -qO "/etc/softether/vpn_server.config" "https://raw.githubusercontent.com/MoeClub/Note/master/SoftEther/vpn_server.config"
tar -zvxf /tmp/softether.tar.gz -C /tmp
cd /tmp/vpnserver
make i_read_and_agree_the_license_agreement
[ $? -eq 0 ] || exit 1
[ -f /tmp/vpnserver/vpnserver ] && cp -rf /tmp/vpnserver/vpnserver /etc/softether
[ -f /tmp/vpnserver/vpncmd ] && cp -rf /tmp/vpnserver/vpncmd /etc/softether
[ -f /tmp/vpnserver/hamcore.se2 ] && cp -rf /tmp/vpnserver/hamcore.se2 /etc/softether
[ -f /etc/softether/vpnserver ] && [ -f /etc/softether/vpncmd ] && [ -f /tmp/vpnserver/hamcore.se2 ] || exit 1
chmod -R 755 /etc/softether
if [ -f /etc/crontab ]; then
sed -i '/vpnserver/d' /etc/crontab
while [ -z "$(sed -n '$p' /etc/crontab)" ]; do sed -i '$d' /etc/crontab; done
sed -i "\$a\@reboot root /etc/softether/vpnserver start >>/dev/null 2>&1 &\n\n\n" /etc/crontab
fi
/etc/softether/vpnserver start
while true; do /etc/softether/vpncmd 127.0.0.1:5555 /SERVER /PASSWORD:empty /CMD:About >/dev/null 2>&1; [ $? -eq 0 ] && break; echo "Waiting vpnserver ..."; sleep 1; done
/etc/softether/vpncmd 127.0.0.1:5555 /SERVER /PASSWORD:empty /HUB:DEFAULT /CMD:UserCreate "$USER" /GROUP: /REALNAME: /NOTE:
/etc/softether/vpncmd 127.0.0.1:5555 /SERVER /PASSWORD:empty /HUB:DEFAULT /CMD:UserPasswordSet "$USER" /PASSWORD:"$PASSWD"
/etc/softether/vpncmd 127.0.0.1:5555 /SERVER /PASSWORD:empty /HUB:DEFAULT /CMD:SetHubPassword "$ADMIN"
/etc/softether/vpncmd 127.0.0.1:5555 /SERVER /PASSWORD:empty /CMD:ServerPasswordSet "$ADMIN"
/etc/softether/vpnserver stop
/etc/softether/vpnserver start