Update mm-scripts.sh

This commit is contained in:
2023-03-24 23:28:56 -05:00
parent adbcd23992
commit ca69e8eb9b

View File

@@ -14,6 +14,8 @@ source /opt/idssys/defaults/default.inc
source /opt/idssys/mediamanager/settings.conf
source /opt/idssys/mediamanager/defaults.inc
[ -f ${MMFOLDER}/vpninfo ] && source ${MMFOLDER}/vpninfo
if [ "${action}" != "check" ] && [ "${action}" != "update" ] && [ "${2}" != "noup" ]; then
if [ -f ${MMFOLDER}/update.available ]; then
dispup="${idsCL[LightGreen]} - Update Available! (run '${idsCL[LightCyan]}mm update${idsCL[LightGreen]}')${idsCL[Default]}"
@@ -62,11 +64,16 @@ MMSTART(){
reqpublickey=$(echo "${privkey}" | /usr/bin/wg pubkey)
reqpublickey="$(php -r 'echo rawurlencode($argv[1]);' -- "$reqpublickey")"
JSON=$(curl https://${VPN_SERVER}:1443/api/v1/setup?public-key=${reqpublickey} --user "${VPN_USER}:${VPN_PASS}" -sk)
publickey=`echo ${JSON} | jq -r '.server_public_key'`
vpnaddress=`echo ${JSON} | jq -r '.vpn_server_address'`
vpnport=`echo ${JSON} | jq -r '.vpn_server_port'`
vpnip=`echo ${JSON} | jq -r '.client_ipv4'`
rm -f ${MMFOLDER}/vpninfo
JSON=$(curl https://${VPN_SERVER}:1443/api/v1/setup?public-key=${reqpublickey} --user "${VPN_USER}:${VPN_PASS}" -sk)
echo -e "vpn_publickey=\"$(echo ${JSON} | jq -r '.server_public_key')\"
vpn_server_ipv4=\"$(echo ${JSON} | jq -r '.server_ipv4')\"
vpn_client_ipv4=\"$(echo ${JSON} | jq -r '.client_ipv4')\"
vpn_routes=\"$(echo ${JSON} | jq -r '.routes')\"
vpn_server_address=\"$(echo ${JSON} | jq -r '.vpn_server_address')\"
vpn_server_port=\"$(echo ${JSON} | jq -r '.vpn_server_port')\"
" > ${MMFOLDER}/vpninfo
source ${MMFOLDER}/vpninfo
rm -f /etc/wireguard/${VPN_INTERFACE}.conf
@@ -75,28 +82,16 @@ PrivateKey = ${privkey}
ListenPort = 55009
MTU = 1390
DNS = 1.1.1.1
Address = ${vpnip}
Address = ${vpn_client_ipv4}
[Peer]
PublicKey = ${publickey}
PublicKey = ${vpn_publickey}
AllowedIPs = 0.0.0.0/0
Endpoint = ${vpnaddress}:${vpnport}
Endpoint = ${vpn_server_address}:${vpn_server_port}
PersistentKeepalive = 25" >> /etc/wireguard/${VPN_INTERFACE}.conf
rm -f ${MMFOLDER}/vpninfo
echo -e "$publickey" >> ${MMFOLDER}/vpninfo.publickey
echo -e "$vpnaddress" >> ${MMFOLDER}/vpninfo.address
echo -e "${idsCL[Green]} done${idsCL[Default]}"
echo -e "
vpn_publickey= \"$(echo ${JSON} | jq -r '.server_public_key')\"
vpn_server_ipv4= \"$(echo ${JSON} | jq -r '.server_ipv4')\"
vpn_client_ipv4= \"$(echo ${JSON} | jq -r '.client_ipv4')\"
vpn_routes= \"$(echo ${JSON} | jq -r '.routes')\"
vpn_server_address= \"$(echo ${JSON} | jq -r '.vpn_server_address')\"
vpn_server_port= \"$(echo ${JSON} | jq -r '.vpn_server_port')\"
" > ${MMFOLDER}/vpninfo
echo -en "${idsCL[LightCyan]}Starting the VPN Tunnel :${idsCL[Default]}"
"${VPN_START[@]}" >/dev/null 2>&1
@@ -164,7 +159,7 @@ vpn_server_port= \"$(echo ${JSON} | jq -r '.vpn_server_port')\"
/bin/ip route add default dev ${VPN_INTERFACE}
/bin/ip route add 0.0.0.0/1 dev ${VPN_INTERFACE}
/bin/ip route add 128.0.0.0/1 dev ${VPN_INTERFACE}
/bin/ip route add $(cat ${MMFOLDER}/vpninfo.address)/32 via 10.10.0.1 dev eth0
/bin/ip route add $(cat ${MMFOLDER}/vpn_server_address)/32 via 10.10.0.1 dev eth0
echo -e "${idsCL[Green]} done${idsCL[Default]}"
zerogw=$(/sbin/ip route show | grep 0.0.0.0 | cut -d' ' -f 3)
@@ -380,7 +375,7 @@ MMSTOP(){
fi
done
[ "$(/sbin/ip route show | grep default | cut -d' ' -f 3)" != "10.10.0.1" ] && /bin/ip route add default via 10.10.0.1 && ip route del $(cat ${MMFOLDER}/vpninfo.address)
[ "$(/sbin/ip route show | grep default | cut -d' ' -f 3)" != "10.10.0.1" ] && /bin/ip route add default via 10.10.0.1 && ip route del $(cat ${MMFOLDER}/vpn_server_address)
[ $VERBOSE = true ] && echo "$(date) - Added default route back in" >> $logfile
rm -f ${MMFOLDER}/vpninfo*
@@ -486,8 +481,7 @@ MMSTATUS(){
}
GETVPNINFO(){
# vpn_curpublickey=$(cat /opt/idssys/mediamanager/vpninfo.publickey)
# JSON=$(curl https://${VPN_SERVER}:1443/api/v1/setup?public-key=${vpn_curpublickey} --user "${VPN_USER}:${VPN_PASS}" -sk)
# JSON=$(curl https://${VPN_SERVER}:1443/api/v1/setup?public-key=${vpn_publickey} --user "${VPN_USER}:${VPN_PASS}" -sk)
# vpn_server_ipv4=`echo ${JSON} | jq -r '.server_ipv4'`
# vpn_client_ipv4=`echo ${JSON} | jq -r '.client_ipv4'`
# vpn_routes=`echo ${JSON} | jq -r '.routes'`
@@ -500,7 +494,7 @@ GETVPNINFO(){
#
# echo ${JSON} | jq
source ${MMFOLDER}/vpninfo
# source ${MMFOLDER}/vpninfo
echo $vpn_publickey
}