From ca69e8eb9bc2bed22ebae9b1d123dbc67d7b89c1 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Fri, 24 Mar 2023 23:28:56 -0500 Subject: [PATCH] Update mm-scripts.sh --- mm-scripts.sh | 44 +++++++++++++++++++------------------------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/mm-scripts.sh b/mm-scripts.sh index a21a15d..42ddb0d 100755 --- a/mm-scripts.sh +++ b/mm-scripts.sh @@ -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 }