全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 3699|回复: 7

[疑问] 利用某网站提供api检测ip是否被墙并推送至TG/Server酱

[复制链接]
发表于 2019-9-30 08:48:43 | 显示全部楼层 |阅读模式
本帖最后由 无时崩溃 于 2019-9-30 08:59 编辑

本脚本参考@liyafe1997 的脚本
原脚本https://www.hostloc.com/forum.php?mod=viewthread&tid=557697
ipcheck.need.sh挂掉了 原脚本无法继续使用 就改为利用其它网站api
并且在原基础上增加了微信推送功能 被墙ip加粗显示 以及 未被墙的静默推送(静默推送仅TG适用 Server酱api文档里没有这个功能)
改的比较差 大佬轻喷

使用方法如下:
在脚本同目录下创建名为 ip_list.csv 的文件
格式为 region,ip
例如 HK,12.34.56.78

效果图:
批注 2019-09-29 210931.png (11.97 KB, 下载次数: 3)
(预计微信类似效果 没有具体测试 但是api文档支持Markdown

  1. #!/usr/bin/env bash
  2. #Telegram推送参数
  3. tg_bot_api="XXXXXX"
  4. tg_chat_id="XXX"

  5. #Server酱推送参数
  6. SCKEY="XXX"

  7. ip_list=/root/ip_list.csv
  8. tmp=/root/status.txt

  9. #系统检查
  10. check_sys(){
  11.     if [ -f /etc/redhat-release ]; then
  12.         release="centos"
  13.         elif cat /etc/issue | grep -Eqi "debian"; then
  14.         release="debian"
  15.         elif cat /etc/issue | grep -Eqi "ubuntu"; then
  16.         release="ubuntu"
  17.         elif cat /etc/issue | grep -Eqi "centos|red hat|redhat"; then
  18.         release="centos"
  19.         elif cat /proc/version | grep -Eqi "debian"; then
  20.         release="debian"
  21.         elif cat /proc/version | grep -Eqi "ubuntu"; then
  22.         release="ubuntu"
  23.         elif cat /proc/version | grep -Eqi "centos|red hat|redhat"; then
  24.         release="centos"
  25.     else
  26.         release=""
  27.     fi
  28. }
  29. #jq工具安装
  30. install_jq(){
  31.     check_sys
  32.     if [[ ${release} == "centos" ]]
  33.     then
  34.         check_jq=$(yum list installed jq|grep "jq"|wc -l)
  35.         if [[ ${check_jq} -eq 0 ]]
  36.         then
  37.             yum install -y jq
  38.         fi
  39.     elif [[ ${release} == "ubuntu" || ${release} == "debian" ]]
  40.     then
  41.         check_jq=$(apt list installed jq|grep "jq"|wc -l)
  42.         if [[ ${check_jq} -eq 0 ]]
  43.         then
  44.             apt install -y jq
  45.         fi
  46.     fi
  47. }
  48. #tcp连通性检测
  49. check_tcp(){
  50.     install_jq
  51.     time=$(date "+%Y-%m-%d-%H:%M:%S")
  52.     alert_mode=0
  53.     for (( i = 1; i <= $(cat ${ip_list}|wc -l); ++i )); do
  54.         get_region=$(cat ${ip_list}|sed -n ''${i}'p'|awk -F ',' '{print$1}')
  55.         get_ip=$(cat ${ip_list}|sed -n ''${i}'p'|awk -F ',' '{print$2}')
  56.         tcp_status=$(curl -s --connect-timeout 5 --request GET --url 'https://api.50network.com/china-firewall/check/ip/tcp_ack/'${get_ip}'' |jq '.["firewall-enable"]')
  57.     if [[ ${tcp_status} == "true" ]]; then
  58.             echo "${get_region} | \`${get_ip}\` | TCP still ALIVE" >> ${tmp}
  59.         elif [[ ${tcp_status} == "false" ]]; then
  60.             echo "*${get_region} | ${get_ip} | TCP has been BLOCKED*" >> ${tmp}
  61.             alert_mode=1
  62.         else
  63.             exit
  64.         fi
  65.     done
  66.     msg_templete="***检测时间-${time}***
  67. \`主机状态\`
  68. $(cat ${tmp})"
  69. }
  70. #Telegram Bot推送
  71. teleGram_push(){
  72.     text=$(echo "${msg_templete}"|python -c 'import sys;import urllib; print(urllib.quote_plus(sys.stdin.read()))')
  73.     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&disable_notification='${alert_mode}''
  74.     rm -rf ${tmp}
  75. }
  76. #Server酱推送
  77. weChat_push(){
  78.     text=$(echo "${msg_templete}"|python -c 'import sys;import urllib; print(urllib.quote_plus(sys.stdin.read()))')
  79.     curl -s --connect-timeout 5 --retry 2 --request GET --url 'https://sc.ftqq.com/'${SCKEY}'.send?text='主人,你的小鸡检测结果出炉了!'&desp='${text}''
  80.     rm -rf ${tmp}
  81. }
  82. check_tcp
  83. #两种推送不能并存 选其一
  84. teleGram_push
  85. #weChat_push
复制代码


不想复制粘贴的可以点这里下载 https://send.firefox.com/download/1e5fa9c5aa88aff2/#4TIMMJYUYaf-W6sVkzTxXQ
谢谢各位支持!
 楼主| 发表于 2019-9-30 08:50:46 来自手机 | 显示全部楼层
本帖最后由 无时崩溃 于 2019-9-30 08:59 编辑

Tips:
领取你的Server酱https://sc.ftqq.com/3.version
拥有一个tgbot
Step 1:和BotFather说话https://t.me/BotFather
Step 2:和Get_Chat_id对话获取你的idhttps://t.me/get_chat_id
发表于 2019-9-30 08:52:22 | 显示全部楼层
感谢大佬分享。。

那么这里是哪里呢,没链接
 楼主| 发表于 2019-9-30 08:57:14 | 显示全部楼层
jpfree 发表于 2019-9-30 08:52
感谢大佬分享。。

那么这里是哪里呢,没链接

草稿没有更新。。已修复 感谢支持
发表于 2019-9-30 11:44:51 来自手机 | 显示全部楼层
本来没墙的,一会来那么一下一会来那么一下,就被墙了。。。。。开个玩笑
发表于 2019-9-30 11:53:10 来自手机 | 显示全部楼层
不错,支持,我回去整一个,添加to do列表
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-3-29 00:49 , Processed in 0.069399 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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