控制面板
控制面板是您打开和配置代理端口、管理身份与网关以及运行批量任务的地方。本导览将逐一介绍每个标签页和对话框。
登录
打开 http://127.0.0.1:8891。如果已设置密码,您需要先登录。您可以随时从页眉切换界面语言(英语、俄语、中文)。

概览标签页
“概览”标签页是控制面板的主页。顶部卡片显示已开启端口、端口上限、共用的空闲超时以及配置文件库中的浏览器版本数量。其下依次是显示解题器占用进程的 Challenge Breaker 卡片、泄漏检查行,以及所有已开启端口的表格。

每一行显示端口号(附带一键复制代理地址的按钮)、协议、当前身份、模式、浏览器过滤器、上游代理以及已启用的功能标记。点击某一行可将其展开并编辑该端口的设置——身份模式、浏览器与操作系统、上游代理与链路、标头/HTTP-2 伪装以及空闲超时——或者轮换身份、运行测试、查看配置文件或关闭端口。
- + 打开端口 — 打开一个新的代理端口。
- + 端口池 — 一次性打开一批端口。
- 🔬 调试端口——开启一个额外保存每次握手采样的端口。
- 搜索框可按端口号过滤表格;当端口数量较多时会出现页面大小选择器。
Challenge Breaker 卡片
该卡片不只是展示——解题池的规模就在这里设置。“Challenge Breaker 进程”滑块与“应用”按钮决定解题器最多可同时持有多少个浏览器进程;该值无需重启即可生效,并可跨重启保留。
- 上限由许可决定。请求超过上限会返回 409——这不是故障,而是套餐限制;上限本身可在 GET /api/v1/license/status 的响应中通过 js_solver_max_procs 查看。
- 缩小解题池是有意义的:每个解题进程都会占用内存与 CPU,在配置较弱的机器上,较小的池反而更稳定。
- 若不设置该值,则按许可上限执行——无需手动分配进程。
- 旁边是解题队列:有多少任务在等待、有多少正在求解。这是唯一能看出任务在堆积而非被解决的地方。
打开端口
开启端口的对话框以三个快捷预设开始,让您一键上手:
- 浏览器 — 用于通过该端口驱动真实浏览器。它会匹配并规范化浏览器自身的指纹。
- HTTP 客户端 — 用于脚本和 HTTP 库。它会分配并呈现一个完整、连贯的浏览器身份。
- MTProto——面向 Telegram 客户端及使用 MTProto 的服务。

系统会自动建议一个空闲端口——取自 20000–29999 区间。您可以选择协议(SOCKS5、HTTP 或 MTProto)、设置上游代理或已保存的网关、添加第一跳,并选择身份的选取方式。开启端口前,预检可测试上游并检测 DNS/IPv6 泄漏。
对话框以简易形式打开:其余设置预设已经填好。标题栏中的“高级”开关会显示全部设置——身份的选取方式(auto、db、random、specific 以及 custom,即导入真实浏览器的指纹)、“网络与传输”(VDNS、自定义解析器、HTTP/3、强制 IPv4)与“高级”(缓存、流量日志、并发、超时、泄漏防护、隧道行为)两个分区、拦截范围,以及 MTProto 字段——伪装域名、密钥、出口模式,以及端口打开后的 tg:// 链接和二维码。该选择会被记住,并同样作用于端口池对话框。

调试端口
调试端口回答“我的连接在外部看来是什么样”。它与普通端口一样工作,但会额外保存每次握手的采样:TLS、ALPN、扩展顺序、HTTP/2 参数。在“概览”标签页点击“调试端口”按钮即可开启。

- 开启调试端口,并像普通代理一样让应用指向它。
- 发出一次请求——采样将出现在该端口的计数中。
- 打开采样,将指纹与所选配置文件的预期结果进行比对。
无法使用代理的应用
调试端口有两种流量来源。“通过该代理端口”——应用被配置为把它当作普通代理使用。“从应用抓取(TUN)”——所选程序的流量从系统层面被取出并送入同一个端口;程序内部无需任何配置。第二种方式正是最常见问题的答案:“我的程序不支持代理——怎么查看它的指纹”。
- 此处的范围始终是所选应用:指纹取自某个程序,调试端口根本没有“整个系统”这一选项。
- QUIC 同样会被采集:其 ClientHello 从起始数据包中读取,而数据报仍走原有路径,因此应用可继续工作。在事件流中,此类指纹带有 quic 状态。
- TUN 来源依赖与普通拦截相同的特权服务:若该服务不存在,该选项会置灰,表单会明确说明。
- 采集环形缓冲区的大小在打开时通过 debug_capture_n 设定,默认 500;溢出时最旧的记录被丢弃。
VPN 配置标签页
“VPN 配置”标签页管理已保存的网关:OpenVPN 文件(.ovpn)以及订阅,订阅提供 VLESS、VMess、Trojan、Shadowsocks、Hysteria2 与 WireGuard 出口。在此添加一次网关,之后即可在开启端口或构建路由时按名称选用。普通的 SOCKS5 与 HTTP 代理不会成为网关:它们通过 upstream(或 chain_proxy)字段设置在端口上;订阅中的 SOCKS 与 HTTP 节点会作为不受支持的协议被跳过。

添加网关有三种方式,第一种最快:粘贴一条链接。支持 vless://、trojan://、ss://、vmess:// 与 hysteria2://。第二种是 OpenVPN 或 WireGuard 配置文件,第三种是可一次带来多个服务器的订阅。
- 订阅按计划刷新,刷新间隔就在同处设置;旁边的刷新按钮可立即重新读取,无需等待。
- 每个网关都有延迟检查,显示响应耗时多少毫秒——在把工作端口挂到该网关之前值得先点一下。
- 网关可以经由另一个网关出网(via 字段):由此构建两级隧道链路。
- 已分配给运行端口的网关无法删除——请先释放该端口。被其他网关用作出口的网关同样受此保护。
预设标签页
预设让您保存端口配置并在以后重新应用。通过拖放将它们整理到文件夹中,保存所有已打开的端口或选定的部分,并在需要时将预设加载到某个端口上。

域名路由标签页
域名路由规则将特定域名通过不同的上游代理或网关发送,或为它们应用不同的设置。每条规则都有一个名称、一组域名匹配器、一条路由以及一个可选的伪装覆盖。规则按顺序应用并自动保存。

端口池
端口池(概览标签页上的 + 端口池按钮)会从一份代理列表打开一个端口池,用于大规模并发任务。提供一份代理列表(上传快照或指向一个文件),选择设备组合及其他选项,然后打开端口池。运行中的端口池会显示在概览标签页上,您可以在那里查看进度并停止它们。
它非常适合采集器、解析器、发布器及类似的自动化系统:它为每一个都提供真实浏览器的网络请求身份,无需修改代码,也无需深度集成到您的应用中——您只需将工具指向端口池中的某个端口即可。

系统流量拦截与泄漏检查
并非所有应用都能通过代理:有的完全没有相关设置,有的声称支持但仍会把部分流量发到代理之外。拦截解决前者,泄漏检查揭示后者。
拦截在端口上启用,应用无需任何配置:配置文件对它的作用与对主动走代理的应用完全相同。
- 系统级拦截只能存在于一个端口上:在第一个端口仍在运行时,无法再打开第二个这样的端口。
- 拦截范围在打开端口时设定,端口运行期间不可更改——请关闭后重新打开。
- 对服务器证书做固定校验(pinning)的应用在被拦截的端口上会失效:它看到的是我们的证书,而非预期的证书。
- 已手动配置代理的应用不会被拦截接管:它本来就直接连接端口地址。
泄漏检查会观察选定的程序,并记录它们绕过所属端口发送的一切。这类流量按定义就是泄漏:配置文件对它无效。观察——流量照常通过,事件被记录;阻断——绕过端口的流量会被切断。
- 系统流量拦截该服务对系统做了什么、何时安装、两种范围有何不同,以及各状态的含义。
名称解析与泄漏防护
泄漏检查揭示问题,而这些设置用于消除它。其中最重要的是虚拟 DNS:域名解析请求经由与流量相同的隧道发出,因此目标名称不会进入您所在网络的 DNS,运营商也看不到您访问了哪里。
| 设置 | 默认值 | 作用 |
|---|---|---|
vdns_mode | off | off——按常规由系统解析名称;on_leak——启动前检查发现泄漏时启用虚拟 DNS;forced——始终启用。虚拟 DNS 属于 Standard 及以上套餐:在 Lite 上端口以关闭 vdns 的状态打开。 |
resolver_strategy | auto | auto——自动选择解析器;custom——使用 custom_resolvers 列表中的解析器。 |
custom_resolvers | — | custom 策略下自定义的解析器列表,格式为 host:port。 |
ecs_enabled | true | 在 DNS 查询中传递出口所在子网。否则 CDN 会按错误的地区作答,站点会发现地址与解析结果不一致。 |
vdns_strict_bypass | false | 严格绕过:只发送 IP 地址,主机名在任何情况下都不会离开本机。若解析失败,连接不会建立。 |
leak_guard | — | 启动前的 DNS/IPv6 泄漏检查:off、warn(仍打开端口但发出警告)或 enforce(若存在泄漏则不打开端口)。 |
egress_force_ipv4 | true | 仅通过 IPv4 出口。默认开启:IPv6 是绕过隧道最常见的泄漏途径。 |
block_private_targets | true | 拒绝连接到私有、回环、链路本地与 CGNAT 地址。默认开启——否则该代理会把您的局域网暴露给使用者。 |
require_udp_dns | false | 若出口未证明能够承载 UDP,则完全不打开端口。要求 vdns_mode 为 on_leak 或 forced。没有 UDP,虚拟 DNS 与 HTTP/3 都无法工作。 |
这九项设置均在打开端口时给出(POST /api/v1/ports/open),并可通过 PUT /api/v1/port/{port}/config 在端口运行时修改——它们都没有独立的接口。
响应缓存
在按流量计费的场景中缓存尤为重要:重复下载的图片或脚本每次都要花钱。它按端口启用,并且有四种模式——而不是两种。
| 模式 | 缓存的内容 |
|---|---|
normal | 普通缓存:随应用运行而存在,遵循响应头并对过期条目重新校验。 |
hard | 硬缓存:可跨重启保留,且从不重新校验。因此易变的响应根本不会被收录。 |
hard-media | 仅对图片、字体、音频与视频使用硬缓存。 |
hard-autowarm | 会自我学习的硬缓存:当连续三次响应完全相同时收录该地址,即内容已证明为静态。 |
是否忽略 no-cache 头进行缓存(cache_ignore_no_cache)以及排除列表(缓存需避开的域名)都是单独的设置。缓存已节省的量可在 GET /api/v1/port/{port}/cache 的响应中通过 saved_bytes 查看。
日志:去哪里查找
有两类日志,各自回答不同的问题。应用日志回答“产品发生了什么”,端口请求日志回答“究竟有什么发到了网络上”。
应用日志
它位于应用旁的 data/proxy.log,并按大小轮转——旧内容移入 proxy.log.1。级别可在运行时更改:排查期间发送 PUT /api/v1/log_level,请求体为 {"level":"debug"},之后再改回 info。在 Linux 上,同样的输出可通过 journalctl 查看。
端口请求日志
可通过打开端口对话框中的“流量日志”开关启用——该开关位于“高级”分区,需先打开标题栏的“高级”开关才会显示——或使用 PUT /api/v1/port/{port}/traffic_log。它为每个请求写入一行 JSON——时间、方法、主机、路径、状态码、响应体大小以及缓存判定(命中、未命中、已排除)——写入 data/traffic_port_<端口>.jsonl。可通过 /traffic_log/download 下载,用 DELETE 清空。
设置
设置对话框(页眉中的齿轮)集中了与应用自身相关的一切:控制面板密码、用于程序调用的 API 密钥、从局域网访问面板的权限、本机的外部地址,以及代理端口是否要求授权。仅当客户端从另一个网络访问本机时才需要外部地址:它会写入代理签发的每一张证书中的吊销列表地址。客户端必须能取到该列表,否则 Windows 会拒绝连接。填 host 或 host:port(NAT 后外部端口可与内部端口不同),并且路由器必须转发面板端口(/crl 接口位于该端口),而不只是代理端口。该字段不会改变代理本身的访问地址:这些地址由打开面板所用的主机加端口号组成。该设置项名为 crl_public_host,所填地址会写入每一张已签发的证书并在其中存续一年。如果只从本机或局域网使用代理,请留空。

根证书
页眉中的 CA 证书按钮会打开在每个平台上信任根证书的分步说明,以及直接下载链接。请在每一台通过该代理连接的设备上安装它,这样 HTTPS 才能正常工作而不出现警告。
