Linux 与 macOS 代理检测脚本:bash 实现,带 RBL 检测
remcheck.sh 直接在你的服务器上用数百线程检测代理列表:哪些能连通、速度多快、从哪个 IP 出口。第二种模式还会把每个出口 IP 放到 17 个垃圾邮件黑名单里查询。
- 只需 bash 和 curl,无需安装
- 最多 1000 线程
- connect 与 RBL 两种模式
- 免费

一分钟上手
无需安装任何东西:bash、curl 和常用工具在 macOS 和大多数 Linux 服务器上都已自带。脚本启动时会检查它们,缺什么就会给出安装命令。
- 下载脚本
直接下载到将要使用代理的服务器上。
curl -fsSLO https://remproxy.com/ files/ remcheck.sh - 允许执行
下载后执行一次即可。
chmod +x remcheck.sh - 检测列表
把面板里的列表链接交给脚本:每个订阅都有自己的 your_proxy_id。本地文件也可以:./remcheck.sh -f proxies.txt。结果会出现在脚本旁边的新文件夹里。
./remcheck.sh -P socks5 -f https:// proxy.remproxy.com/ your_proxy_id.csv
如果脚本提示 missing tools
在最小化的 Debian、Alpine 镜像和 Docker 容器里可能出现。用适合你系统的一条命令补齐:
sudo apt-get update && sudo apt-get install -y curl gawk coreutils grep sedsudo dnf install -y curl gawk coreutils grep sedapk add bash curl coreutils gawk grep sedmacOS:全部自带,无需安装。
两种模式
connect:可用且快速
脚本通过每个代理打开一个返回 IP 的页面,并记录响应时间。可用代理写入 alive.txt,最快的排在最前。
./remcheck.sh -f proxies.txt -n 200 -T 8 rbl:可用且干净
每个出口 IP 都会通过 DNS over HTTPS 在 17 个垃圾邮件黑名单中查询。对于 RemProxy 面板导出的 CSV,脚本直接从 real_ip 列取地址,所以查询立即开始,不需要经过代理连接。其他列表会先走一遍 connect。干净的写入 clean.txt,被列入的写入 listed.txt。
./remcheck.sh -f proxies.txt -m rbl -n 100 参数
-f LIST- 代理列表:文件、http(s) 链接,或用 - 从 stdin 读取。
-m MODE- 模式:connect(默认)或 rbl。
-n NUM- 同时检测的代理数,默认 64,最多 1000。rbl 模式下它也决定同时查询黑名单的 IP 数:不加 -n 为 128,最多 256。
-T SEC- 每个代理的超时秒数,默认 10。
-P PROTO- 没有协议前缀的行使用的协议:http(默认)、socks5 或 socks4。
-e URL- 脚本通过每个代理打开的页面,必须返回 IP 地址,默认 ipv4.icanhazip.com。
-d DIR- 结果文件夹,默认 remcheck-日期-时间。
-C- 用 RemProxy CSV 跑 rbl 模式时,仍然通过每个代理连接,而不是从 real_ip 列取 IP。
-q- 不显示进度行。在 cron 下会自动关闭。
列表格式
同一个文件里可以混用不同写法,重复行和空行会被跳过。RemProxy 面板导出的 CSV 也能直接用。
host:port
host:port:user:pass
user:pass@host:port
socks5://user:pass@host:port
ip;port;country;speed;uptime;real_ip文件夹里会有什么
alive.txt可用代理,最快的排在最前。dead.txt没有响应的代理。results.tsv表格:代理、状态、出口 IP、耗时(毫秒),rbl 模式下还有黑名单列。clean.txtrbl 模式:出口 IP 干净的可用代理。listed.txtrbl 模式:出口 IP 在垃圾邮件黑名单里的可用代理。
检测 RemProxy 列表
面板里的 CSV 链接可以直接使用。rbl 模式下脚本从 real_ip 列取出口 IP,每个地址只查一次,不经过代理连接。同时处理 128 个地址,1000 个 IP 不到一分钟。结果汇总给出干净和被列入黑名单的代理与地址的数量和百分比。
./remcheck.sh -f https://proxy.remproxy.com/your_proxy_id.csv -m rbl -n 不要超过你套餐的线程数,否则部分检测会撞到上限,被算作不可用。
IP 不在白名单时
列表只提供给订阅白名单里的 IP。如果这台机器不在其中,脚本会停止并显示它的 IP:打开 panel.remproxy.com/subscriptions,选择该订阅,在“访问”部分把这个 IP 加入“允许的 IP”,然后重新检测。在 cron 日志里,这种情况的退出码为 3。
remcheck: the list server rejected this machine, its IP is not in the subscription whitelist.
IP of this machine: 203.0.113.7
Allowed IPs of the plan: 198.51.100.20定时检测
脚本本身没有周期模式,定时交给 cron。检测会自动启动,最新结果总在同一个文件夹里。
- 用 crontab -e 打开定时任务。
- 添加下面这一行:每 30 分钟检测一次,结果写入 remcheck-latest,日志写入 remcheck.log。
- 保存文件。用 crontab -l 查看定时任务。
crontab -e*/30 * * * * $HOME/remcheck.sh -P socks5 -f https://proxy.remproxy.com/your_proxy_id.csv -d $HOME/remcheck-latest -q >> $HOME/remcheck.log 2>&1 macOS 上的 cron 用法相同,但访问“文稿”和“桌面”文件夹需要完全磁盘访问权限。把脚本和列表放在个人主目录里更省事。
运行环境: bash 3.2 或更高版本、curl、awk、sed、grep、sort。Windows 上可在 Git Bash 或 WSL 中运行,说明见下方。
在 Windows 上运行
Windows 没有自带 bash,但 Git for Windows 会带上:Git Bash 里有 bash、curl 和脚本需要的工具,脚本无需修改即可运行。
- 从 git-scm.com 安装 Git for Windows,安装选项保持默认即可。
- 从开始菜单打开 Git Bash。
- 新建文件夹并把脚本下载进去:
mkdir -p /c/ remcheck && cd / c/ remcheck && curl -fsSLO https:// remproxy.com/ files/ remcheck.sh - 运行检测。用 bash 前缀代替 chmod:
bash remcheck.sh -P socks5 -f https://proxy.remproxy.com/ your_proxy_id.csv -n 100 - 结果在 C:\remcheck\remcheck-日期-时间。Windows 上启动进程比 Linux 慢,建议从 -n 100 开始。
Windows 上的定时任务
- 打开“任务计划程序”,选择“创建基本任务”。
- 触发器选“每天”。然后在任务属性的“触发器”选项卡里开启每 30 分钟重复。
- 操作选“启动程序”,程序和参数见下方。程序
C:\Program Files\ Git\ bin\ bash.exe 参数-lc "/c/ remcheck/ remcheck.sh -P socks5 -f https:// proxy.remproxy.com/ your_proxy_id.csv -d / c/ remcheck/ latest -q" - 保存任务。最新结果会在 C:\remcheck\latest。
如果服务器启用了 WSL,可以在其中的 Ubuntu 里像在 Linux 上一样运行脚本。

