Windows 代理检测脚本:PowerShell 实现,带 RBL 与网站检测

remcheck.ps1 直接在你的 Windows 电脑或服务器上用数百个线程检测代理列表:哪些在响应、速度多快、出口 IP 是什么。另外两个模式会把出口 IP 与 17 个黑名单比对,并统计 Google、LinkedIn、Avito 等网站放行了多少代理。

  • PowerShell 和 curl.exe,无需安装
  • 最多 1000 线程
  • connect、rbl、target 三种模式
  • 免费

版本 1.3 · 46.0 KBSHA-256 35a92bd2cde5d8c06a1d719569a718083724bf9e612280ff5bb538ae40832d66

终端在检测数百个代理:蓝色线条连向网络节点,绿灯和红灯表示结果

一分钟上手

无需安装:Windows 10 和 11 自带 PowerShell 和 curl.exe。脚本可在系统自带的 Windows PowerShell 5.1 和 PowerShell 7 中运行。

  1. 下载脚本

    打开 PowerShell(点击“开始”,输入 PowerShell,回车)并运行命令:它会创建 C:\remcheck 并把脚本下载进去。

    mkdir C:\remcheck -Force; cd C:\remcheck; curl.exe -fsSLO https://remproxy.com/files/remcheck.ps1
  2. 允许运行

    每个新窗口执行一次。授权在关闭窗口前有效,不会改动 Windows 设置。

    Set-ExecutionPolicy -Scope Process Bypass -Force
  3. 检测列表

    填入面板里的订阅 ID,每个订阅的 your_proxy_id 都不同。结果在 remcheck-日期-时间 文件夹里。

    .\remcheck.ps1 -P socks5 -f your_proxy_id
PowerShell 报错时

“此系统上禁止运行脚本”表示跳过了第 2 步:Windows 默认不运行下载的脚本。“curl.exe not found”出现在 Windows 10 之前的系统上:从 curl.se 下载 curl,把 curl.exe 放到 PATH 中的文件夹,例如 C:\Windows。

三种模式

connect:可用且快速

脚本通过每个代理打开一个返回 IP 的页面,并记录响应时间。可用代理写入 alive.txt,最快的排在最前。

.\remcheck.ps1 -n 100 -Timeout 8 -f your_proxy_id

rbl:可用且干净

每个出口 IP 都会通过 DNS over HTTPS 在 17 个垃圾邮件黑名单中查询。对于 RemProxy 订阅,脚本直接从 real_ip 列取地址,所以查询立即开始,不需要经过代理连接。其他列表会先走一遍 connect。干净的写入 clean.txt,被列入的写入 listed.txt。

.\remcheck.ps1 -m rbl -f your_proxy_id

target:网站放行多少代理

脚本通过每个代理、带着浏览器请求头打开 Google、LinkedIn、Avito 等共 16 个服务或你的网址。结果分为可用、验证码、反爬(antibot)、封锁和限流。开始前每个网站先从本机不经代理打开一次:如果网站连本机也拒绝,说明它检测的是程序而不是 IP。每个网站的可用代理写入 ok-网站.txt。

.\remcheck.ps1 -m target -t google,linkedin,avito -S 300 -f your_proxy_id

参数

-f LIST
代理列表:RemProxy 订阅 ID 或列表链接。也可以用文件。
-m MODE
模式:connect(默认)、rbl 或 target。
-t LIST
target 模式:用逗号分隔的服务和网址,例如 -t google,linkedin,shop=https://example.com/,或用 -t all 检测全部 16 个。
-k TEXT
target 模式:只有页面包含这段文字时,你的网址才算可用。
-S NUM
connect 和 target 模式:随机抽取 NUM 个代理检测。
-n NUM
同时检测的代理数,默认 64,最多 1000。rbl 模式下它也决定同时查询黑名单的 IP 数:不加 -n 为 128,最多 256。
-Timeout SEC
每个请求的超时秒数,默认 10。要写全称,因为 PowerShell 不区分 -t 和 -T。
-r NUM
connect 模式下每个代理的尝试次数,默认 2,最多 5。每次重试换一个回显页面。
-P PROTO
没有协议前缀的行使用的协议:http(默认)、socks5 或 socks4。
-e URLS
返回 IP 的页面,用逗号分隔。默认五个:icanhazip、ipify、Amazon checkip、ifconfig.me 和 ipinfo。
-d DIR
结果文件夹,默认 remcheck-日期-时间。
-C
用 RemProxy 订阅跑 rbl 模式时,仍然通过每个代理连接,而不是从 real_ip 列取 IP。
-q
不显示进度行。在任务计划程序里本来也看不到。
Get-Help .\remcheck.ps1 -Full

列表格式

同一个文件里可以混用不同写法,重复行和空行会被跳过。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表格:每个代理一行,target 模式下每个代理和服务一行,附每个结果的原因。
  • clean.txtrbl 模式:出口 IP 干净的可用代理。
  • listed.txtrbl 模式:出口 IP 在垃圾邮件黑名单里的可用代理。
  • ok-NAME.txttarget 模式:打开了该服务的代理,最快的在前。
  • summary.txttarget 模式:按服务汇总的结果表。

检测 RemProxy 列表

只需订阅 ID,脚本会自己下载 CSV 列表。rbl 模式下脚本从 real_ip 列取出口 IP,不经过代理连接。列表中的每一行单独检测,同时 128 个,1000 个代理不到一分钟。结果汇总给出干净和被列入黑名单的代理数量和百分比。

.\remcheck.ps1 -m rbl -f your_proxy_id

-n 不要超过你套餐的线程数,否则部分检测会撞到上限,被算作不可用。

IP 不在白名单时

列表只发给订阅白名单里的 IP。如果这台机器不在其中,脚本会停止并显示它的 IP:打开 panel.remproxy.com/subscriptions,选择订阅,在“访问”部分把这个 IP 加入“允许的 IP”,然后重新检测。这种情况下退出码为 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
查看这台机器的 IP

定时检测

脚本没有周期模式:由 Windows 任务计划程序运行。最新结果总在同一个文件夹里。

  • 打开“任务计划程序”,选择“创建基本任务”。
  • 触发器选“每天”。然后在任务属性的“触发器”选项卡里开启每 30 分钟重复。
  • 操作选“启动程序”,程序和参数见下方。
    程序
    powershell.exe
    参数
    -ExecutionPolicy Bypass -File C:\remcheck\remcheck.ps1 -P socks5 -f your_proxy_id -d C:\remcheck\latest -q
  • 保存任务。最新结果会在 C:\remcheck\latest。

-q 关闭进度行,-d 把结果固定在一个文件夹,方便其他程序读取。

运行环境: Windows 10 或 11,自带 PowerShell 5.1 和 curl.exe。PowerShell 7 也可以。旧版 Windows 需要把 curl.se 的 curl.exe 放到 PATH 中的文件夹。

常见问题

01Windows 上用多少线程?
先用默认的 -n 64。每次检测都会启动 curl.exe,Windows 启动进程比 Linux 开销大,超过 200 通常没有帮助。检测 RemProxy 列表时不要超过套餐的线程数。
02为什么 RemProxy 列表里的代理全是死的?
如果列表通过订阅 ID 下载,脚本会自己识别拒绝并显示本机 IP:把它加入订阅的“允许的 IP”。如果检测的是文件,请在白名单里的机器上运行脚本。本机 IP 可在“我的 IP”页面或用 curl.exe -4 ifconfig.me 查看。
03为什么 Ozon、Wildberries 和 Yandex 在 target 模式下是 0%?
这些网站会检查请求是否来自真实浏览器,对任何程序都返回验证页或验证码,即使 IP 是干净的。脚本通过不经代理的对照请求(direct 列)发现这一点,并在表格下方加注。这类网站请用浏览器或反检测浏览器检查。
04Windows 版和 bash 版有什么不同?
模式、参数和结果文件相同,两个版本都用 -Timeout 设置超时。Windows 版没有短参数 -T,因为 PowerShell 不区分 -t 和 -T。完整帮助用 Get-Help .\remcheck.ps1 -Full 查看。
05脚本会把我的代理发到别处吗?
不会。connect 模式下每个代理向五个返回 IP 的页面之一发送一个请求:icanhazip、ipify、Amazon checkip、ifconfig.me 或 ipinfo。rbl 模式下脚本向 Google 和 Cloudflare 的 DNS 查询出口 IP,target 模式只打开 -t 里的网站。结果保存在你机器上的文件夹里。

需要用于批量检测的代理池?

MIX 代理池最多 25,000 个 IP,无限流量,同一端口支持 HTTP 和 SOCKS5,按 IP 接入。测试一小时只需 $1。

查看套餐
登录/注册