1.SSH进入您的服务器
#创建一个名为changeip的脚本文件
touch changeip.sh
chmod +x changeip.sh
通过任意文本编辑器编辑changeip.sh
vim changeip.sh
填入以下内容,并替换相应字段,Telegram机器人可以在@BotFather创建 不需要也可以删除部分代码
#!/bin/bash
# 执行ping命令,并检查结果
if ping -c 5 -W 2 -i 0.2 www.itdog.cn | grep "100% packet loss" > /dev/null
then
echo "当前IP已经被墙,正在更换IP..."
# Telegram机器人报告IP被墙
curl -s "https://api.telegram.org/bot这部分替换为Telegram机器人HTTP API/sendMessage" \
-d "chat_id=替换为你的chat_id向@userinfobot发送/start获取" \
-d "text=当前IP已经被墙,正在自动更换IP..."
# 记录更换前的时间和IP
ip_sb_result=$(curl -s ip.sb)
echo "[$current_time] IP更换前为: $ip_sb_result" >> /root/changeip.log
# 执行换IP的命令
curl "替换为你的自动换ip的api地址"
sleep 10
# 记录更换 IP 的时间和结果到日志文件
echo "[$current_time] IP更换成功" >> /root/changeip.log
# 执行 curl ip.sb 命令并记录结果到日志文件
ip_sb_result=$(curl -s ip.sb)
echo "[$current_time] IP更换后为: $ip_sb_result" >> /root/changeip.log
# TG机器人发送更换后的IP
curl -s "https://api.telegram.org/bot这部分替换为Telegram机器人HTTP API/sendMessage" \
-d "chat_id=替换为你的chat_id向@userinfobot发送/start获取" \
-d "text=新的IP是:$ip_sb_result"
echo "IP已经更换完成。"
else
echo "当前IP未被封锁"
fi
esc wq!来保存 请确保已经替换好相应字段
这里稍微说明下,这个脚本使用curl命令获取当前主机的公网IP地址,并将其保存在变量ip_address中。然后,它使用ping命令来ping这个网站www.itdog.cn,并在5次ping尝试中每次ping等待2秒钟。如果ping命令返回的结果中包含“100% packet loss”等错误,则说明您的IP可能被封锁了。否则,脚本将输出“当前IP未被封锁”。
这里采用的itdog,你可以采用其他任意网站或者境内IP,但是这里有两点说明:
1.此网站的域名必须是域名ping的,如果禁ping了,会造成一直提示当前IP已被封锁。
2.此网站必须没有境外cdn节点,因为如果这个网站存在境外cdn节点,那会一直提示当前IP未被封锁。具体可通过itdog.cn查看该网站是否存在境外cdn节点。
请注意,这个脚本可能需要适当的修改,以确保它能够正常工作并符合您的要求。同时,这个方法也可能不是100%准确,并且可能会受到网络拥堵、临时封锁等因素的影响。因此,建议您结合多种方法和工具,以获得更准确的检测结果。
2.创建定时任务
crontab -e
一般来说会唤起nano编辑器 这里以nano为例
通过键盘上的方向键移动到最下方 加入以下字段
*/2 * * * * /bin/bash /root/changeip.sh
这将会每两分钟检查一次IP是否被屏蔽,若有需要可以更改数字来增长或减少时间间隔