宇宙主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

欧基零壹微头条IP归属甄别会员请立即修改密码
查看: 1024|回复: 6

检测nat公网推送tg,手撕了一个

[复制链接]
发表于 2020-2-15 22:01:32 | 显示全部楼层 |阅读模式
本帖最后由 ywly 于 2020-2-16 12:00 编辑

上午说想要一个检测公网推送tg的脚本,一直没找到,看到mjj推荐的大佬脚本决定自己手撕
本人shell脚本小白,今天是第一次了解shell,写的不好请勿喷,如有错误虚心接受指点
此脚本通过两个脚本改的,再次感谢https://www.pnr2.com/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
复制代码
发表于 2020-2-15 22:07:21 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2020-2-15 22:09:33 | 显示全部楼层
是第一个吗
发表于 2020-2-15 22:14:12 | 显示全部楼层
这个可以有,占个坑
发表于 2020-2-15 22:19:34 | 显示全部楼层
你都装python了,为啥还用shell
在shell中使用python执行命令,这操作,,,,,,
直接纯python撸不更简单吗
 楼主| 发表于 2020-2-15 22:22:06 | 显示全部楼层
夕日 发表于 2020-2-15 22:19
你都装python了,为啥还用shell
在shell中使用python执行命令,这操作,,,,,,
直接纯python撸不更简单 ...

我是写java和php的,不会Python。。。哈哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宇宙主机交流论坛

GMT+8, 2024-10-30 09:35 , Processed in 0.060568 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表