mirror of
https://github.com/namibia/demo-sync.git
synced 2024-11-21 19:15:10 +00:00
added the basic getip and changed all queries to header calls.
This commit is contained in:
parent
6d497fcb43
commit
937f3330a3
89
getip.sh
Normal file
89
getip.sh
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# simple basic random
|
||||||
|
function getKey () {
|
||||||
|
echo $(tr -dc 'A-HJ-NP-Za-km-z2-9' < /dev/urandom | dd bs=128 count=1 status=none)
|
||||||
|
}
|
||||||
|
|
||||||
|
# Variables
|
||||||
|
TRUE=1
|
||||||
|
VDMUSER="vdm"
|
||||||
|
VDMHOME="/home/vdm"
|
||||||
|
VDMSCRIPT="https://raw.githubusercontent.com/vdm-io/dynamic-ip/master/getip.sh"
|
||||||
|
VDMIPSERVER="https://www.vdm.io/getip"
|
||||||
|
|
||||||
|
# Require script to be run via sudo, but not as root
|
||||||
|
#if [[ $EUID -ne 0 ]]; then
|
||||||
|
#
|
||||||
|
# echo "Script must be run with root privilages!"
|
||||||
|
# exit 1
|
||||||
|
#fi
|
||||||
|
|
||||||
|
# Set cronjob without removing existing
|
||||||
|
if [ -f $VDMHOME/getip.cron ]; then
|
||||||
|
echo "Crontab already configured for updates...Skipping"
|
||||||
|
else
|
||||||
|
echo -n "Adding crontab entry for continued updates..."
|
||||||
|
# check if user crontab is set
|
||||||
|
currentCron=$(crontab -u $VDMUSER -l 2>/dev/null)
|
||||||
|
if [[ -z "${currentCron// }" ]]; then
|
||||||
|
currentCron="# VDM crontab settings"
|
||||||
|
echo "$currentCron" > $VDMHOME/getip.cron
|
||||||
|
else
|
||||||
|
echo "$currentCron" > $VDMHOME/getip.cron
|
||||||
|
fi
|
||||||
|
# check if the MAILTO is already set
|
||||||
|
if [[ $currentCron != *"MAILTO"* ]]; then
|
||||||
|
echo "MAILTO=\"\"" >> $VDMHOME/getip.cron
|
||||||
|
echo "" >> $VDMHOME/getip.cron
|
||||||
|
fi
|
||||||
|
# check if the @reboot curl -s $VDMSCRIPT | sudo bash is already set
|
||||||
|
if [[ $currentCron != *"@reboot curl -s $VDMSCRIPT | sudo bash"* ]]; then
|
||||||
|
echo "@reboot curl -s $VDMSCRIPT | sudo bash" >> $VDMHOME/getip.cron
|
||||||
|
fi
|
||||||
|
# check if the @reboot curl -s $VDMSCRIPT | sudo bash is already set
|
||||||
|
if [[ $currentCron != *"*/7 * * * * curl -s $VDMSCRIPT | sudo bash"* ]]; then
|
||||||
|
echo "*/7 * * * * curl -s $VDMSCRIPT | sudo bash" >> $VDMHOME/getip.cron
|
||||||
|
fi
|
||||||
|
# set the user cron
|
||||||
|
crontab -u $VDMUSER $VDMHOME/getip.cron
|
||||||
|
echo "Done"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set update key
|
||||||
|
if [ -f $VDMHOME/getip.key ]; then
|
||||||
|
echo "Update key already set!"
|
||||||
|
else
|
||||||
|
echo -n "Setting the update key..."
|
||||||
|
echo $(getKey) > $VDMHOME/getip.key
|
||||||
|
echo "Done"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get update key
|
||||||
|
serverKey=$(<"$VDMHOME/getip.key")
|
||||||
|
|
||||||
|
# check if vdm access was set
|
||||||
|
accessToke=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" -H "VDM-KEY: $serverKey" --silent $VDMIPSERVER)
|
||||||
|
|
||||||
|
if [[ "$accessToke" != "$TRUE" ]]; then
|
||||||
|
read -s -p "Please enter your VDM access key: " vdmAccessKey
|
||||||
|
echo ""
|
||||||
|
echo -n "One moment while we set your access to the VDM system..."
|
||||||
|
resultAccess=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" -H "VDM-TRUST: $vdmAccessKey" -H "VDM-KEY: $serverKey" --silent $VDMIPSERVER)
|
||||||
|
if [[ "$resultAccess" != "$TRUE" ]]; then
|
||||||
|
echo " >> YOUR VDM ACCESS KEY IS INCORRECT! <<"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Done"
|
||||||
|
else
|
||||||
|
echo "Access granted to the VDM system."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# getting the dynamic ip from vdm system
|
||||||
|
echo -n "getting the Dynamic IP..."
|
||||||
|
resultUpdate=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" -H "VDM-KEY: $serverKey" --silent $VDMIPSERVER)
|
||||||
|
if [[ "$resultUpdate" != "$TRUE" ]]; then
|
||||||
|
echo " >> YOUR SERVER KEY IS INCORRECT! <<"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Done"
|
32
setip.sh
32
setip.sh
@ -20,7 +20,7 @@ VDMIPSERVER="https://www.vdm.io/setip"
|
|||||||
#fi
|
#fi
|
||||||
|
|
||||||
# Set cronjob without removing existing
|
# Set cronjob without removing existing
|
||||||
if [ -f $VDMHOME/vdmip.cron ]; then
|
if [ -f $VDMHOME/setip.cron ]; then
|
||||||
echo "Crontab already configured for updates...Skipping"
|
echo "Crontab already configured for updates...Skipping"
|
||||||
else
|
else
|
||||||
echo -n "Adding crontab entry for continued updates..."
|
echo -n "Adding crontab entry for continued updates..."
|
||||||
@ -28,48 +28,48 @@ else
|
|||||||
currentCron=$(crontab -u $VDMUSER -l 2>/dev/null)
|
currentCron=$(crontab -u $VDMUSER -l 2>/dev/null)
|
||||||
if [[ -z "${currentCron// }" ]]; then
|
if [[ -z "${currentCron// }" ]]; then
|
||||||
currentCron="# VDM crontab settings"
|
currentCron="# VDM crontab settings"
|
||||||
echo "$currentCron" > $VDMHOME/vdmip.cron
|
echo "$currentCron" > $VDMHOME/setip.cron
|
||||||
else
|
else
|
||||||
echo "$currentCron" > $VDMHOME/vdmip.cron
|
echo "$currentCron" > $VDMHOME/setip.cron
|
||||||
fi
|
fi
|
||||||
# check if the MAILTO is already set
|
# check if the MAILTO is already set
|
||||||
if [[ $currentCron != *"MAILTO"* ]]; then
|
if [[ $currentCron != *"MAILTO"* ]]; then
|
||||||
echo "MAILTO=\"\"" >> $VDMHOME/vdmip.cron
|
echo "MAILTO=\"\"" >> $VDMHOME/setip.cron
|
||||||
echo "" >> $VDMHOME/vdmip.cron
|
echo "" >> $VDMHOME/setip.cron
|
||||||
fi
|
fi
|
||||||
# check if the @reboot curl -s $VDMSCRIPT | sudo bash is already set
|
# check if the @reboot curl -s $VDMSCRIPT | sudo bash is already set
|
||||||
if [[ $currentCron != *"@reboot curl -s $VDMSCRIPT | sudo bash"* ]]; then
|
if [[ $currentCron != *"@reboot curl -s $VDMSCRIPT | sudo bash"* ]]; then
|
||||||
echo "@reboot curl -s $VDMSCRIPT | sudo bash" >> $VDMHOME/vdmip.cron
|
echo "@reboot curl -s $VDMSCRIPT | sudo bash" >> $VDMHOME/setip.cron
|
||||||
fi
|
fi
|
||||||
# check if the @reboot curl -s $VDMSCRIPT | sudo bash is already set
|
# check if the @reboot curl -s $VDMSCRIPT | sudo bash is already set
|
||||||
if [[ $currentCron != *"*/30 * * * * curl -s $VDMSCRIPT | sudo bash"* ]]; then
|
if [[ $currentCron != *"*/5 * * * * curl -s $VDMSCRIPT | sudo bash"* ]]; then
|
||||||
echo "*/30 * * * * curl -s $VDMSCRIPT | sudo bash" >> $VDMHOME/vdmip.cron
|
echo "*/5 * * * * curl -s $VDMSCRIPT | sudo bash" >> $VDMHOME/setip.cron
|
||||||
fi
|
fi
|
||||||
# set the user cron
|
# set the user cron
|
||||||
crontab -u $VDMUSER $VDMHOME/vdmip.cron
|
crontab -u $VDMUSER $VDMHOME/setip.cron
|
||||||
echo "Done"
|
echo "Done"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set update key
|
# Set update key
|
||||||
if [ -f $VDMHOME/ip.key ]; then
|
if [ -f $VDMHOME/setip.key ]; then
|
||||||
echo "Update key already set!"
|
echo "Update key already set!"
|
||||||
else
|
else
|
||||||
echo -n "Setting the update key..."
|
echo -n "Setting the update key..."
|
||||||
echo $(getKey) > $VDMHOME/ip.key
|
echo $(getKey) > $VDMHOME/setip.key
|
||||||
echo "Done"
|
echo "Done"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Get update key
|
# Get update key
|
||||||
serverKey=$(<"$VDMHOME/ip.key")
|
serverKey=$(<"$VDMHOME/setip.key")
|
||||||
|
|
||||||
# check if vdm access was set
|
# check if vdm access was set
|
||||||
accessToke=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" --silent --data-urlencode "key=$serverKey" $VDMIPSERVER)
|
accessToke=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" -H "VDM-KEY: $serverKey" --silent $VDMIPSERVER)
|
||||||
|
|
||||||
if [[ "$accessToke" != "$TRUE" ]]; then
|
if [[ "$accessToke" != "$TRUE" ]]; then
|
||||||
read -s -p "Please enter your VDM access key: " vdmAccessKey
|
read -s -p "Please enter your VDM access key: " vdmAccessKey
|
||||||
echo ""
|
echo ""
|
||||||
echo -n "One moment while we set your access to the VDM system..."
|
echo -n "One moment while we set your access to the VDM system..."
|
||||||
resultAccess=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" --silent --data-urlencode "trust=$vdmAccessKey" --data-urlencode "key=$serverKey" $VDMIPSERVER)
|
resultAccess=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" -H "VDM-TRUST: $vdmAccessKey" -H "VDM-KEY: $serverKey" --silent $VDMIPSERVER)
|
||||||
if [[ "$resultAccess" != "$TRUE" ]]; then
|
if [[ "$resultAccess" != "$TRUE" ]]; then
|
||||||
echo " >> YOUR VDM ACCESS KEY IS INCORRECT! <<"
|
echo " >> YOUR VDM ACCESS KEY IS INCORRECT! <<"
|
||||||
exit 1
|
exit 1
|
||||||
@ -83,9 +83,9 @@ fi
|
|||||||
IPNOW="$(dig +short myip.opendns.com @resolver1.opendns.com)"
|
IPNOW="$(dig +short myip.opendns.com @resolver1.opendns.com)"
|
||||||
# store the IP in the HOSTNAME file
|
# store the IP in the HOSTNAME file
|
||||||
echo -n "Setting/Update the Dynamic IP..."
|
echo -n "Setting/Update the Dynamic IP..."
|
||||||
resultUpdate=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" --silent --data-urlencode "ip=$IPNOW" --data-urlencode "key=$serverKey" $VDMIPSERVER)
|
resultUpdate=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" -H "VDM-KEY: $serverKey" -H "VDM-IP: $IPNOW" --silent $VDMIPSERVER)
|
||||||
if [[ "$resultUpdate" != "$TRUE" ]]; then
|
if [[ "$resultUpdate" != "$TRUE" ]]; then
|
||||||
echo " >> YOUR SERVER KEY IS INCORRECT! << $resultUpdate"
|
echo " >> YOUR SERVER KEY IS INCORRECT! <<"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "Done"
|
echo "Done"
|
||||||
|
Loading…
Reference in New Issue
Block a user