Hinet被屏蔽自动更换IP教学

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是否被屏蔽,若有需要可以更改数字来增长或减少时间间隔