document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #!/bin/bash
  2.  
  3. ###############
  4. # DEFINITIONS #
  5. ###############
  6.  
  7. FILE=/tmp/.mailMyIP
  8. DATE=`date +"%F %H:%M:%S"`
  9. ADDRS="zeh@gmail.com"
  10. MSMTP=`which msmtp`
  11. PING=`which ping`
  12. SED=`which sed`
  13. PRINTF=`which printf`
  14. IFCONFIG=`which ifconfig`
  15.  
  16.  
  17. ####################
  18. # FUNCTIONS: BEGIN #
  19. ####################
  20.  
  21. MSG() {
  22.     BODY="Subject: NAVI has booted, check your IP\\nDate: $DATE\\n\\nNAVI was booted at $DATE\\nNAVI IP=$IP\\n"
  23.     echo "$BODY" > $FILE
  24.     echo "$BODY" | $MSMTP -C /root/.msmtprc $ADDRS
  25. }
  26.  
  27. mailMyIp() {
  28.     if [ -f $FILE ]; then
  29.         OLDIP=`cat $FILE | sed \'/IP=/!d;s/.*=//g\'`
  30.         [ "$IP" != "$OLDIP" ] && MSG
  31.     else   
  32.         MSG    
  33.     fi
  34. }
  35.  
  36. OK() {
  37.     echo -e "\\033[60G[  \\033[32;1mOK\\033[0m  ]"
  38. }
  39.  
  40. FAIL() {
  41.     echo -e "\\033[60G[ \\033[31;1mFAIL\\033[0m ]"
  42. }
  43.  
  44. GET_IP() {
  45.     IP=`curl -s http://myip.com.br/index2.php | sed \'/Seu\\ IP/!d;s/.*\\IP://g;s/<.*//g;s/\\ //g\'`
  46.     echo -n $IP
  47. }
  48.  
  49. TEST_INET() {
  50.     ETH0=`$IFCONFIG eth0 | sed \'/inet\\ /!d;s/.*r://g;s/\\..*$//g\'`
  51.  
  52.     if [ $ETH0 -ne 192 ]; then
  53.         echo "Network not available"
  54.         exit -1
  55.     else
  56.         printf "%b" "Testing your Internet Connection:"
  57.         PING_COUNT=`$PING -l3 -w1 173.194.34.104 2> /dev/null | $SED \'/rec/!d;s/.*ted,\\ //g;s/\\ .*//g\'`
  58.     fi
  59. }
  60.  
  61. ##################
  62. # FUNCTIONS: END #
  63. ##################
  64.  
  65.  
  66. case "$1" in
  67. \'start\')
  68.     TEST_INET  
  69.  
  70.     if [ $PING_COUNT -eq 0 ]; then
  71.         FAIL
  72.     else
  73.         OK
  74.         echo -n "   Retrieving external IP:   "
  75.         GET_IP
  76.        
  77.         if [ -n "$IP" ]; then
  78.             OK
  79.             echo -en "   Retrieving IP from gmail: "
  80.             NAVI_IP=`$HOME/bin/naviip`
  81.  
  82.             if [ -n "$NAVI_IP" ]; then
  83.                 echo -n "$NAVI_IP"
  84.                 OK
  85.             else
  86.                 FAIL
  87.             fi
  88.  
  89.             if [ "$IP" != "$NAVI_IP" ]; then
  90.                 echo -en "   Mailing the new IP to $ADDRS"
  91.                 MSG
  92.                 OK
  93.             else
  94.                 echo "   Nothing to do."
  95.             fi
  96.         else
  97.             FAIL
  98.         fi 
  99.     fi
  100.     ;;
  101. \'check\')
  102.     TEST_INET 2&>1 /dev/null
  103.     if [ $PING_COUNT -ne 0 ]; then
  104.         GET_IP 2&>1 /dev/null
  105.         if [ -n "$IP" ]; then
  106.             NAVI_IP=`/usr/local/bin/naviip`
  107.             [ "$IP" != "$NAVI_IP" ] && MSG
  108.         fi
  109.     fi
  110.     ;;
  111. *)
  112.     echo "usage $0 {start|check}"
  113. esac
');