Repl.it托管Discord机器人遭Cloudflare封禁,求免费解决方案
解决Discord机器人被Cloudflare封禁+Repl.it实例防休眠的免费方案
首先得说清楚为啥UptimeRobot会搞出这个问题:大概率是UptimeRobot的公共IP池被Cloudflare的安全系统标记成可疑了——毕竟太多人用它做监控,甚至有些恶意请求也来自同一个IP段,结果你的Repl.it实例的出站流量(包括机器人连Discord API的请求)被连带拦截了,这就导致机器人看起来像是被Cloudflare封了。
作为学生党,完全免费、不用掏支付信息的解决方案给你整理好了:
一、替代UptimeRobot的防休眠方案
1. 本地运行简单ping脚本(最靠谱)
如果你家里有一直开着的电脑(台式机、笔记本都行,哪怕是旧机器),写个几行的Python脚本就能搞定,用你自己的电脑IP请求,不会触发Cloudflare的公共监控IP黑名单:
import requests import time # 替换成你的Repl.it实例的网页URL(比如https://your-bot.repl.co) REPL_URL = "你的Repl实例URL" # 设成15分钟一次(900秒),比10分钟稍长,降低请求频率更安全 INTERVAL = 900 while True: try: # 加个浏览器请求头,伪装成正常用户访问 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" } requests.get(REPL_URL, headers=headers) print(f"Ping成功:{time.ctime()}") except Exception as e: print(f"Ping失败:{str(e)}") time.sleep(INTERVAL)
把脚本保存成keep_alive_local.py,在本地电脑上运行就行(Python环境随便装个最新版就行,免费),完全不用管支付的事。
2. Repl.it内部定时任务(不用额外设备)
如果没有一直开着的电脑,试试Repl.it免费版的多脚本运行功能:
- 新建一个
auto_ping.sh文件,内容如下:
#!/bin/bash while true; do # 同样加浏览器请求头 curl -s -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" "你的Repl实例URL" > /dev/null sleep 900 done
- 然后在Repl.it的「Run」按钮旁边的下拉菜单里,选「Edit run configuration」,把命令改成:
python main.py & bash auto_ping.sh
这样启动机器人的时候,会同时运行ping脚本,完全在Repl.it内部解决休眠问题,连外部工具都不用了。
二、快速解除当前Cloudflare封禁的小技巧
如果现在机器人已经被封了,试试这个:
- 打开你的Repl.it实例的网页URL,如果遇到Cloudflare的人机验证页面,完成滑块验证,一般就能暂时解封你的IP。之后换成上面的防休眠方法,就不会再被封了。
总结
核心思路就是避开公共监控IP池,用自己的设备或者Repl.it内部的请求来保持实例活跃,同时给请求加个正常的浏览器User-Agent,让Cloudflare觉得是真实用户访问,这样既能防休眠,又不会触发封禁,全程免费,完全不用提供支付信息。
内容的提问来源于stack exchange,提问作者openwld
相关产品推荐
相关产品推荐

