Skip to content

Instantly share code, notes, and snippets.

@nkpro2000sr
Created September 14, 2021 11:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nkpro2000sr/267dfa5ba619eab922a8c0f37cd1194c to your computer and use it in GitHub Desktop.
Save nkpro2000sr/267dfa5ba619eab922a8c0f37cd1194c to your computer and use it in GitHub Desktop.
To submit a dynamic dns update request from shell. https://www.noip.com/ (To update IP of HOSTNAME, update will happen instantly)
# {NO,Updatemy}IP
# https://www.noip.com/integrate/request
nouip ()
{
USER=""
PASSWORD=""
HOSTNAME=""
IP=""
for i in "$@"
do
case $i in
-u=*|--user=*)
USER="${i#*=}"
;;
-p=*|--password=*)
PASSWORD="${i#*=}"
;;
-pf=*|--passwdfile=*)
PASSWORD="$(cat ${i#*=})"
;;
-h=*|--hostname=*)
HOSTNAME="${i#*=}"
;;
-i=*|--ip=*)
IP="${i#*=}"
;;
*)
;;
esac
done
if [ -z "$USER" ]
then
read -p 'Username : ' USER
fi
if [ -z "$PASSWORD" ]
then
read -sp 'Password : ' PASSWORD
echo
fi
if [ -z "$HOSTNAME" ]
then
read -p 'Hostname : ' HOSTNAME
fi
if [ -z "$IP" ]
then
read -p 'IP : ' IP
fi
USERAGENT="--user-agent=\"nouip-shell-script-curl/1.0 nkpro2000sr@gist.github.com\""
NOIPURL="https://$USER:$PASSWORD@dynupdate.no-ip.com/nic/update?hostname=$HOSTNAME&myip=$IP"
RESULT=$(curl --user-agent $NOIPUSERAGENT --silent $NOIPURL)
echo $? $RESULT
}
@nkpro2000sr
Copy link
Author

nkpro2000sr commented Sep 14, 2021

OR DuckDNS https://www.duckdns.org/spec.jsp

➕ Don't need to confirm your host-names every month as you have to with no-ip.
➕ Free 5 host-names instead of only 3 in no-ip.
➖ ???

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment