连接您的应用
端口打开后,将任何支持代理的工具指向它即可。本页展示代理地址格式,以及适用于浏览器、curl 和代码的即用型示例。
代理地址
每个打开的端口都是本机上的一个标准代理。使用运行 BlankTrail Proxy 的主机(本地安装时为 127.0.0.1)以及控制面板中显示的端口号。每个端口在打开时被设置为 SOCKS5 或 HTTP。
socks5://127.0.0.1:20134
http://127.0.0.1:20250
完全不支持代理的应用无处填写端口。为此提供了拦截功能:所选程序的流量由系统改道至端口,配置文件对其作用完全相同——参见 控制面板 → 系统流量拦截。
信任根证书
为使 HTTPS 正常工作而不报错,设备或工具必须信任 BlankTrail Proxy 的根证书(参见 安装 → 根证书)。某些 HTTP 客户端允许您直接指向证书文件,而无需在系统范围内安装。
浏览器与反检测浏览器
将该端口设置为浏览器的 HTTP/SOCKS 代理(或在反检测浏览器中,设置为某个配置文件的上游代理)。若要驱动真实浏览器,请使用“浏览器”预设打开端口,以便匹配并规范化其指纹。
它可作为一个即插即用的本地代理,适用于 ZennoPoster、BAS、Puppeteer、Playwright、Selenium 以及任何支持 HTTP/HTTPS 或 SOCKS5 代理的工具,无需修改脚本代码。
curl
curl -x socks5://127.0.0.1:20134 https://example.com
curl -x http://127.0.0.1:20250 https://example.com
代码示例
Python (requests)
import requests
proxies = {
"http": "socks5://127.0.0.1:20134",
"https": "socks5://127.0.0.1:20134",
}
r = requests.get("https://example.com", proxies=proxies)
print(r.status_code)
Node.js (undici)
import { ProxyAgent, request } from 'undici'
const agent = new ProxyAgent('http://127.0.0.1:20250')
const { statusCode } = await request('https://example.com', { dispatcher: agent })
console.log(statusCode)
Telegram(MTProto)
Telegram 客户端无法通过普通的指纹伪装代理——它使用自有协议。为它打开一个使用 MTProto 协议的端口:从外部看这就是普通的 Telegram 代理,而伪装会让连接看起来像是访问某个无关站点的 TLS。
- 在打开端口对话框中选择“MTProto”预设,或选择 mtproto 协议。
- 打开对话框标题栏中的“高级”开关——否则 MTProto 分区不会显示。将密钥留空以便应用生成新的,或按规范的 ee… 形式填入您自己的密钥。
- 打开端口。响应中会包含现成的 tg://proxy?server=…&port=…&secret=… 链接——在装有 Telegram 的设备上打开它即可。
curl -X POST -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"port":20443,"protocol":"mtproto",
"mtproto_camouflage_domain":"www.google.com"}' \
http://127.0.0.1:8891/api/v1/ports/open
{
"port": 20443,
"protocol": "mtproto",
"status": "opened",
"tg_link": "tg://proxy?server=203.0.113.10&port=20443&secret=ee…",
"mtproto_secret": "ee…"
}
- 伪装域名同时也是客户端提供的 SNI:默认是 www.google.com。从网络角度看,该连接就像是对该站点的普通访问。
- 对探测者或密钥错误的客户端,端口默认会把连接转接到真实的伪装站点,而不是直接断开:断开本身就会暴露此处存在代理。
- 若上游出口本身就是 MTProto 代理,faketls 出口模式会让端口以伪 TLS 与其通信;auto 自动选择,obfuscated 为普通混淆。
- MTProto 端口不是 HTTP 代理:不能把它配置给浏览器或 curl,TLS 指纹伪装也不适用于它。
n8n
n8n 有现成节点:n8n-nodes-blanktrail 包可在“Settings → Community nodes”中从 npm 安装。该节点开启端口、选择浏览器配置文件与路由,并把代理地址交给流程的下一步——无需自写 HTTP 代码,也无需手动调用 API。
- npm 上的 n8n-nodes-blanktrail通过 Community nodes 安装,以及节点的操作列表
- GitHub 上的节点源码节点的实现方式及其调用的 API
常见连接问题
- HTTPS 上出现证书错误 —— 该设备未信任证书。请安装它(安装 → 根证书)。
- 连接被拒绝 —— 端口未打开,或您使用了错误的主机/端口。请检查概览标签页。
- 协议错误 —— SOCKS5 端口不会接受 HTTP 代理设置,反之亦然。请匹配端口上显示的协议。
- 代理鉴权被拒——端口要求用户名与密码,而地址中没有。请写完整地址:socks5://用户名:密码@127.0.0.1:20134。在推荐的 Docker 启动命令中,密码是默认设置的。
- 端口曾经存在却消失了——无流量的端口会在 30 分钟后自行关闭,计时从打开那一刻开始。可为该端口设置自己的时长(PUT /api/v1/port/{port}/idle,请求体 {"seconds": 0}),或把它列入 portmanager.startup_ports。
- 一切正常但站点仍能识破客户端——请检查该端口是否启用了 TLS 直通:启用后对外发送的是您自己应用的指纹,而不是所选的配置文件。