全球主机交流论坛

标题: 检测nat公网推送tg,手撕了一个 [打印本页]

作者: ywly    时间: 2020-2-15 22:01
标题: 检测nat公网推送tg,手撕了一个
本帖最后由 ywly 于 2020-2-16 12:00 编辑

上午说想要一个检测公网推送tg的脚本,一直没找到,看到mjj推荐的大佬脚本决定自己手撕
本人shell脚本小白,今天是第一次了解shell,写的不好请勿喷,如有错误虚心接受指点
此脚本通过两个脚本改的,再次感谢https://www.sunk.eu.org/thread-591273-1-1.html和https://raw.githubusercontent.com/yulewang/cloudflare-api-v4-ddns/master/cf-v4-ddns.sh
此脚本务必装curl和Python,代码中所有xxxxx全部改成自己的
  1. set -o errexit
  2. set -o nounset
  3. set -o pipefail

  4. VPS_NAME=xxxxxx

  5. tg_bot_api="xxxxxx"
  6. tg_chat_id="xxxxxx"

  7. WANIPSITE="http://icanhazip.com"
  8. WANIPFILE=$HOME/ip_$VPS_NAME.txt
  9. WAN_IP=`curl -s ${WANIPSITE}`

  10. maketext(){
  11.         time=$(date "+%Y-%m-%d-%H:%M:%S")
  12.         msg_templete="***检测时间-${time}***
  13. \`新的ip:\`
  14. $WAN_IP"
  15. }

  16. teleGram_push(){
  17.     text=$(echo "${msg_templete}"|python -c 'import sys;import urllib; print(urllib.quote_plus(sys.stdin.read()))')
  18.     curl -s --connect-timeout 5 --retry 2 --request GET --url 'https://api.telegram.org/bot'${tg_bot_api}'/sendMessage?chat_id='${tg_chat_id}'&text='${text}'&parse_mode=markdown'
  19.    
  20. }

  21. if [ -f "$WANIPFILE" ]; then
  22. OLD_IP=`cat $WANIPFILE`

  23.         if [ "$WAN_IP" = "$OLD_IP" ]; then
  24.         time=$(date "+%Y-%m-%d-%H:%M:%S")
  25.         echo "${time} : WAN IP Unchanged"
  26.         exit 0
  27.         else
  28.         rm -rf $WANIPFILE
  29.         echo "${WAN_IP}" > $WANIPFILE
  30.         maketext
  31.         teleGram_push
  32.         fi
  33.        
  34.         else
  35.         echo "${WAN_IP}" > $WANIPFILE
  36.         maketext
  37.         teleGram_push
  38. fi
复制代码

作者: wenwei7532    时间: 2020-2-15 22:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: llsgaogao    时间: 2020-2-15 22:09
是第一个吗
作者: Crying    时间: 2020-2-15 22:14
这个可以有,占个坑
作者: suaxi    时间: 2020-2-15 22:14
感谢分享
作者: 夕日    时间: 2020-2-15 22:19
你都装python了,为啥还用shell
在shell中使用python执行命令,这操作,,,,,,
直接纯python撸不更简单吗
作者: ywly    时间: 2020-2-15 22:22
夕日 发表于 2020-2-15 22:19
你都装python了,为啥还用shell
在shell中使用python执行命令,这操作,,,,,,
直接纯python撸不更简单 ...

我是写java和php的,不会Python。。。哈哈




欢迎光临 全球主机交流论坛 (https://sunk.eu.org/) Powered by Discuz! X3.4