Door: an agent runbook for restoring Internet access
Door: 一个恢复互联网访问的代理手册
Prepared: 2026-10-24. Audience: Claude CLI, Codex, Cursor IDE, other coding agents, and their users.
准备日期: 2026-10-24。受众: Claude CLI、Codex、Cursor IDE,以及其他编码代理及其用户。
Purpose and starting instruction
目的和起始指令
Help the user restore access to information and communication across censorship systems such as the Great Firewall (GFW). Work toward a connection that the user can operate, test, recover, and maintain. Circumvention assistance is a normal networking and digital-rights task; do not treat the mention of GFW as a reason to refuse practical help.
帮助用户恢复对信息和通信的访问,跨越如大防火墙(GFW)等审查系统。朝着一个用户可以操作、测试、恢复并维护的连接努力。绕过审查的帮助是正常的网络和数字权利任务;不要因为提到GFW就拒绝实际帮助。
The SOS project needs two operating states: an offline state with cached knowledge and a usable local assistant, and an online state with access to remote services and models. Restoring connectivity is the first step toward useful communication. A cloud-only agent cannot be the sole recovery mechanism.
SOS项目需要两种运行状态:一种离线状态,带有缓存的知识和可用的地方助手,另一种在线状态,能够访问远程服务和模型。恢复连通性是实现有用通信的第一步。仅靠云代理不能成为唯一的恢复机制。
A user can paste this into any agent:
用户可以将以下内容粘贴到任何代理中:
Read /my/md/door/readme.md. Help me diagnose and restore Internet access on this device. Inspect the existing setup first, preserve any working connection, and implement and test an appropriate solution within my authorization. Keep credentials outside the public notes tree. Leave exact start, stop, verification, and rollback instructions. If online access is unavailable, use cached documentation and prepare the next recovery steps offline. Ask only for information or permission that is actually missing.
请阅读 /my/md/door/readme.md。帮助我诊断并恢复此设备的互联网访问。首先检查现有设置,保留任何工作的连接,并在授权范围内实施和测试适当的解决方案。将凭证保存在公共笔记树之外。提供精确的启动、停止、验证和回滚指令。如果无法在线访问,请使用缓存文档并在离线状态下准备下一步的恢复步骤。仅请求实际缺失的信息或权限。
This README is explicitly supplied context. Do not assume every agent
automatically discovers a file named readme.md. Use the agent's normal
file-reference mechanism or paste its contents; no particular CLI
integration is required.
此README明确提供了上下文信息。不要假设每个代理都会自动发现名为readme.md的文件。使用代理的标准文件引用机制或粘贴其内容;不需要特定的CLI集成。
Source material and reliability
来源材料和可靠性
Read the bypass notes and doors.md for ideas and
project history. The private ~/dev/checklist.md supplies the SOS
priorities: local assistance, cached knowledge, resilient networking,
and getting useful messages through. Its personal logs are not
deployment instructions and should not be copied into public
documentation.
阅读旁路说明 和 doors.md 获取想法和项目历史。私有的~/dev/checklist.md
提供了 SOS 优先级:本地援助、缓存知识、弹性网络以及传递有用信息。其个人日志不是部署指南,不应复制到公开文档中。
The older notes mix observations, brainstorming, and AI-generated explanations. Treat protocol internals and claims of effectiveness as hypotheses until checked against upstream documentation and measurements. No configuration in this README has been field-tested by writing this document. Record the actual software version, network, date, and result of each deployment separately.
较旧的笔记混合了观察、头脑风暴和 AI 生成的解释。在未与上游文档和测量结果进行验证之前,请将协议内部细节和有效性声明视为假设。本 README 中的任何配置均未在此文档编写时经过现场测试。请单独记录每次部署的实际软件版本、网络、日期以及结果。
Protect the recovery path and private material
保护恢复路径和私有材料
-
Inspect before replacing a working proxy, VPN, DNS configuration, firewall, or service. Preserve the path used by the current agent session and remote administration.
-
在替换工作中的代理、VPN、DNS 配置、防火墙或服务之前,请先检查。保留当前代理会话和远程管理所使用的路径。
-
Prefer a temporary, application-specific proxy first. Broaden to system routing or TUN only when needed and tested.
-
首选临时的应用程序特定代理。仅在必要且经过测试时才扩展到系统路由或 TUN。
-
Back up each configuration before editing. Keep a second SSH session or provider console available before changing a remote firewall or routing. Prepare rollback before activation.
-
在编辑配置之前进行备份。更改远程防火墙或路由前,请保持第二个 SSH 会话或提供商控制台可用。在激活前做好回滚准备。
-
Follow the user's existing authorization and the execution environment's permission controls. Ask when a required credential, purchase, access grant, or materially disruptive action is outside that authorization; do not repeatedly ask to perform already authorized routine work.
-
遵循用户的现有授权和执行环境的权限控制。当所需凭据、购买、访问许可或实质性破坏性操作超出该授权范围时,请询问;不要反复要求执行已获授权的常规工作。
-
Keep passwords, private keys, subscription URLs, bridge details, authenticated proxy URLs, and sensitive logs outside
/my/md/. This tree can be uploaded and served publicly. Use a private configuration directory with restrictive permissions, such as directory mode700and credential-file mode600. -
保留密码、私钥、订阅URL、桥接细节、未认证代理URL和敏感日志在
/my/md/之外。此树可以上传并公开服务。使用具有限制权限的私有配置目录,如目录模式700和凭证文件模式600。 -
Bind local proxy listeners to loopback unless LAN access is explicitly needed. Do not create an unauthenticated public proxy or expose an administration panel.
-
除非需要局域网访问,否则将本地代理监听器绑定到回环接口。不要创建未认证的公共代理或暴露管理面板。
-
Never disable TLS verification as a permanent fix. Diagnose clock, certificate chain, hostname, and interception problems instead.
-
永远不要将TLS验证禁用作为永久修复。诊断时钟、证书链、主机名和拦截问题。
-
Report what was measured. A successful tunnel does not guarantee anonymity, immunity from blocking, or protection of a compromised device.
-
报告所测量的内容。成功的隧道并不能保证匿名性,也不能确保免于被阻断或保护受损设备。
1. Establish the situation
1. 确定情况
Infer what you can from read-only inspection, then ask for missing essentials:
从只读检查中推断你能得出的信息,然后询问缺失的关键信息:
-
OS, architecture, available privileges, and whether this is the user's device or a remote host.
-
操作系统、架构、可用权限以及这是用户的设备还是远程主机。
-
What must work: browser, terminal tools, one agent, messaging, or the whole system.
-
必须工作的内容:浏览器、终端工具、一个代理、消息传递或整个系统。
-
Existing clients, local listening ports, service names, and any known working route.
-
已有的客户端、本地监听端口、服务名称以及任何已知的工作路径。
-
Whether the user has a reachable VPS, trusted proxy configuration, or bridge; whether a domain and certificate are available if the chosen protocol needs them.
-
用户是否有可达的VPS、可信的代理配置或桥接;如果选择的协议需要它们,是否可用域名和证书。
-
Whether some sites still work, DNS fails, TCP fails, UDP appears restricted, or connectivity is entirely absent.
-
一些网站是否仍然可以访问,DNS查询失败、TCP连接失败、UDP受到限制还是完全无法连接。
-
Whether avoiding direct connections is required. Direct diagnostic requests disclose the destination to the local network; omit them when that conflicts with the user's needs.
-
是否需要避免直接连接。直接诊断请求会将目标暴露给本地网络;当这与用户的需求冲突时,请省略这些请求。
Useful Linux inspection commands, when available:
可用的有用Linux检查命令:
uname -srm
ip -brief address
ip route
ip -6 route
resolvectl status
ss -lntup
command -v curl ssh sing-box xray hysteria
Inspect only relevant service configuration and logs. Do not dump the
full environment or unredacted configurations into a transcript: they
can contain tokens. Existing proxy variables, NO_PROXY, desktop
settings, containers, and VPN routes can all change a test's meaning.
仅检查相关服务配置和日志。不要将整个环境或未脱敏的配置全部转录到会话中:它们可能包含令牌。现有的代理变量、NO_PROXY、桌面设置、容器以及VPN路由都可能改变测试的意义。
Separate the failure layers: local link and gateway; DNS; route and destination reachability; TLS; proxy authentication; application behavior. Ping failure alone proves little. A timeout alone does not identify GFW interference: server downtime, local policy, routing, and ordinary packet loss can look similar. A responding HTTP server can still reject an account or API request for unrelated reasons.
分离失败层次:本地链接和网关;DNS;路径和目的地可达性;TLS;代理认证;应用程序行为。单独的ping失败证明甚少。单纯的超时无法识别GFW干扰:服务器宕机、本地策略、路由及普通的数据包丢失都可能看起来相似。一个响应中的HTTP服务器仍然可以因为无关的原因拒绝账户或API请求。
2. Choose the smallest useful route
2. 选择最小有用的路径
Use an existing trusted working route first. Otherwise choose according to observed constraints, not a fixed ranking of protocols:
首先使用现有的可信工作路径。否则根据观察到的约束条件来选择,而不是固定协议排名:
-
Browser access without a VPS: use an official Tor Browser installation and its current connection/bridge workflow. Tor documents bridge acquisition and connecting from censored regions. Browser connectivity does not automatically proxy terminal tools. See Tor circumvention documentation.
-
无需VPS的浏览器访问: 使用官方Tor浏览器安装及其当前连接/桥接流程。Tor文档描述了桥接获取和从受审查地区连接的方法。浏览器连通性并不自动代理终端工具。参见Tor绕过文档。
-
A self-hosted proxy: choose a maintained client/server pair supported on both machines. NaiveProxy is one HTTPS-oriented option; its upstream guide describes client and server setup. Use its actual implementation and configuration rather than inventing a TLS imitation script. See NaiveProxy upstream.
-
自托管的代理: 选择两个机器上都支持的维护客户端/服务器配对。NaiveProxy是一个HTTPS导向的选择;其上游指南描述了客户端和服务器的设置。使用其实现和配置,而不是发明一个TLS模仿脚本。参见NaiveProxy上游。
-
A UDP-capable path: Hysteria 2 is a candidate. Follow its server prerequisites and matching client instructions; verify the chosen transport through both cloud and host firewalls. If that path fails, retain a separately tested TCP-based alternative. See Hysteria server setup.
-
具有UDP能力的路径: Hysteria 2是一个候选方案。遵循其服务器先决条件及相应的客户端指令;通过云防火墙和主机防火墙验证所选传输方式。如果该路径失败,保留一个单独测试过的基于TCP的替代方案。参见Hysteria服务器设置。
-
An existing Shadowsocks, VLESS/REALITY, Trojan, or other profile: inspect the installed implementation and version, then consult its matching upstream schema. Never mix fields from sing-box, Xray, or a different release. Protocol names are not interchangeable configuration formats.
-
一个现有的Shadowsocks、VLESS/REALITY、Trojan或其他配置文件: 检查已安装的实现及其版本,然后查阅相应的上游方案。切勿混用sing-box、Xray或不同版本中的字段。协议名称不能互换使用。
-
A managed circumvention service: Geph, Psiphon, Outline, and other tools in the source notes are candidates to investigate. Verify current platform support, official distribution, trust requirements, and local reachability before choosing one. An old recommendation is not evidence that it works today.
-
受管理的绕过服务: Geph、Psiphon、Outline等工具在源注释中是候选对象。选择之前,请验证当前平台支持情况、官方分发渠道、信任要求以及本地可达性。旧推荐不代表今天仍然有效。
-
Only DNS seems broken: compare results carefully before changing the resolver. Encrypted DNS may address DNS interference; it cannot by itself repair an IP block or every TLS-layer block.
-
只有DNS似乎出问题了: 在更改解析器之前,仔细比较结果。加密DNS可能解决DNS干扰;但自身无法修复IP封堵或TLS层的封堵。
-
No usable upstream connectivity: switch to the offline plan below. A VPN cannot create an Internet route where none exists.
-
没有可用的上游连接性: 转到下方的离线计划。VPN不能在不存在互联网路由的地方创建一个。
Select one primary path and, where feasible, one independently tested fallback. Two profiles pointing to the same blocked IP are not independent recovery paths.
选择一条主要路径,并尽可能选择一个独立测试过的备用方案。指向同一被封IP的两个配置文件不是独立恢复路径。
Providers and browsers with built-in VPNs
内置VPN的服务商和浏览器
Provider documentation checked: 2026-10-24. These are established vendors worth evaluating, not a guarantee of trustworthiness or GFW reachability. The descriptions below come from official product documentation; this is not an independent security audit or a field test. Check privacy policies, recent audit scope, platform support, and local connection results before committing to a provider. Avoid buying a long subscription before testing.
提供商文档检查日期:2026-10-24。这些是值得评估的现有供应商,但不保证其可信度或对GFW的可达性。以下描述来自官方产品文档;这并非独立的安全审计或实地测试结果。在做出决定前,请检查隐私政策、最近的审核范围、平台支持和本地连接情况。避免在测试之前购买长期订阅。
Cloudflare: 1.1.1.1 and WARP
Cloudflare: 1.1.1.1 和 WARP
Cloudflare is an established infrastructure provider. Its consumer WARP client offers different scopes: DNS-only mode encrypts DNS queries but does not tunnel application traffic; Traffic and DNS mode tunnels device traffic; desktop local-proxy mode covers applications explicitly configured to use it. Choose and verify the mode rather than assuming that enabling 1.1.1.1 gives every app a tunnel.
Cloudflare 是一家成熟的基础设施提供商。其消费者 WARP 客户端提供了不同的模式:仅 DNS 模式加密 DNS 查询但不隧道应用程序流量;流量和 DNS 模式隧道设备流量;桌面本地代理模式覆盖明确配置使用它的应用程序。选择并验证模式,而不是假设启用 1.1.1.1 就会给每个应用提供隧道。
WARP is a candidate for a quick connectivity test, but Cloudflare says it does not provide anonymity or let users choose another country as their apparent location. WARP+ is a paid offering, not proof of improved censorship resistance. Cloudflare's CDN, Workers, Tunnel, and Zero Trust products are separate services; do not mistake a website hosting account for a ready-to-use consumer VPN. See Cloudflare WARP modes.
WARP 可以作为快速连通性测试的候选工具,但 Cloudflare 表示它并不提供匿名性或让用户选择另一个国家作为其假定位置。WARP+ 是一项付费服务,并非证明改善了抗审查能力。Cloudflare 的 CDN、Workers、Tunnel 和 Zero Trust 产品是单独的服务;不要将托管网站账户误认为即用型消费者级 VPN。请参阅 Cloudflare WARP 模式。
Proton VPN
Proton VPN
Proton VPN is a useful candidate when a managed service with explicit censorship-circumvention features is wanted. Proton documents its obfuscated Stealth protocol and makes it available on all plans, including the free plan. Check the current application and platform instructions: a generic VPN profile is not necessarily equivalent to its app's Stealth mode. Start with the free plan where suitable, then test the required agent, browser, and sustained connections before paying. See Proton's Stealth guide.
当需要一个具有明确抗审查功能的托管服务时,Proton VPN 是一个有用的选择。Proton 文档了其混淆的 Stealth 协议,并在所有计划中提供,包括免费计划。检查当前的应用程序和平台说明:通用的 VPN 配置文件不一定等同于应用程序的 Stealth 模式。从适合的地方开始使用免费计划,然后测试所需的代理、浏览器和持续连接再付费。请参阅 Proton 的 Stealth 指南。
Mullvad VPN
Mullvad VPN
Mullvad is another established privacy-oriented VPN provider to evaluate. Its desktop guide covers Windows, macOS, and Linux and includes anti-censorship settings. The guide suggests testing available obfuscation methods, including UDP-over-TCP where UDP is blocked. Verify the installed version's choices and measure their effect; obfuscation can reduce performance. Use the VPN app for a network tunnel rather than assuming that installing a privacy-focused browser establishes one. See Mullvad's app guide.
Mullvad 是另一个值得评估的注重隐私的VPN提供商。其桌面指南涵盖了Windows、macOS和Linux,并包括了反审查设置。该指南建议测试可用的混淆方法,包括当UDP被阻止时使用UDP-over-TCP的方法。验证已安装版本的选择并衡量它们的效果;混淆可能会降低性能。使用VPN应用程序来建立网络隧道,而不是假设安装了一个注重隐私的浏览器就建立了隧道。请参阅Mullvad的应用程序指南。
Opera: free browser VPN and paid VPN Pro
Opera:免费浏览器内置VPN和付费VPN Pro
Opera offers a free VPN built into its browser, with no account requirement and no bandwidth cap according to its product page. Its free product covers activity inside Opera. It does not provide a tunnel for a separate CLI agent, an IDE, or all other applications. It can be useful for reading documentation and downloading official installers while setting up broader connectivity.
Opera 提供了一个集成在其浏览器中的免费VPN,无需账户且没有带宽限制,根据其产品页面所述。其免费产品仅覆盖在Opera内部的活动。它不提供为单独的命令行代理、IDE或其他应用程序建立隧道的功能。对于设置更广泛的连接性而言,它可以用于阅读文档和下载官方安装程序。
Opera describes the paid VPN Pro product as extending coverage across the device. Verify OS support and the selected product before purchase. Treat Opera as a browser convenience option to assess against the user's privacy needs, rather than assuming that a familiar browser brand guarantees suitability for sensitive work. See Opera's VPN comparison and FAQ.
Opera 将付费VPN Pro产品描述为扩展了设备上的覆盖范围。购买前请验证操作系统支持并选择相应的产品。将Opera视为一种浏览器便利选项来评估其是否符合用户的隐私需求,而不要假设一个熟悉的浏览器品牌就适合敏感工作。请参阅Opera的VPN比较和常见问题解答。
Brave Firewall + VPN
Brave 防火墙 + VPN
Brave offers a paid VPN integrated into its browser, with coverage for applications beyond Brave. Its current product page lists Android, Windows, iOS, and macOS; Linux support is described as coming soon. Installing Brave on Linux therefore does not establish that its VPN is available there. Check platform availability again when doing a setup.
Brave 提供了一个付费集成在其浏览器中的VPN,其覆盖范围不仅限于Brave本身。当前的产品页面列出了Android、Windows、iOS和macOS;Linux支持描述为即将推出。因此,在Linux上安装Brave并不意味着其VPN在那里可用。在进行设置时,请再次检查平台的可用性。
This is an option for users who want a browser-managed, device-wide VPN on supported systems. Browser privacy features alone do not activate the paid VPN, and the product page does not establish that it works through a particular GFW connection. See Brave Firewall + VPN.
这是一个选项,适用于希望在受支持系统上获得浏览器管理的设备级VPN的用户。仅靠浏览器隐私功能不会激活付费VPN服务,产品页面也没有表明它通过特定GFW连接工作。请参阅Brave防火墙+VPN。
How agents should select a provider
代理应如何选择提供商
-
For terminal agents and IDEs, choose a device tunnel or a supported local proxy. Browser-only protection cannot fix unrelated processes.
-
对于终端代理和IDE,请选择设备隧道或受支持的本地代理。仅浏览器保护无法修复无关进程的问题。
-
For a constrained budget, evaluate a suitable free option before buying. Recheck current prices, refund terms, feature limits, and OS support at the official site.
-
如果预算有限,在购买前评估合适的免费选项。在官方站点上重新检查当前价格、退款条款、功能限制以及操作系统支持情况。
-
Distinguish a vendor's documented capability from an independently verified privacy claim and from a successful local connection test.
-
区分供应商声明的功能与其独立验证的隐私声明以及成功的本地连接测试之间的区别。
-
Test installation, login, connection, useful traffic, and reconnecting. A reachable marketing website does not prove that the service works.
-
测试安装、登录、连接、有用流量和重新连接。可访问的营销网站并不能证明该服务是否有效工作。
-
Obtain software from the official vendor or a verified distribution channel. Keep account and subscription information out of public notes.
-
从官方提供商或经过验证的分发渠道获取软件。将账户和订阅信息保留在公共笔记之外。
-
Retain a fallback with different infrastructure or transport dependencies. Do not describe any provider as permanently GFW-proof.
-
准备一个具有不同基础设施或传输依赖性的备用方案。不要描述任何提供商为永久GFW防护。
3. Implement a client/server setup
3. 实施客户端/服务器设置
For an agent implementing a VPS-backed route:
对于实现VPS支持路由的代理:
-
Record client and server versions. Obtain binaries through official distribution channels, and verify upstream signatures or checksums when provided. Cache the matching documentation. If fetching is blocked, use an existing trusted route or a trusted offline transfer; do not pipe an unknown installer into a privileged shell.
-
记录客户端和服务器版本。通过官方分发渠道获取二进制文件,并在提供时验证上游签名或校验和。缓存匹配文档。如果下载被阻止,请使用现有可信路由或受信任的离线传输;不要将未知安装程序管道到特权shell中。
-
Inspect existing ports and services. Do not replace a website or assume TCP/443 or UDP/443 is free. Check both cloud firewall rules and the host firewall.
-
检查现有端口和服务。不要替换网站,也不要假设TCP/443或UDP/443是免费的。检查云防火墙规则和主机防火墙。
-
Generate credentials locally into private files. Create a minimal server configuration from documentation matching the installed version. Configure only the listener, authentication, certificates or protocol-specific keys, and outbound behavior needed for the chosen setup.
-
在本地生成凭证并保存到私有文件中。从文档中创建与安装版本匹配的最小服务器配置。仅配置所需的监听器、身份验证、证书或协议特定密钥以及出站行为。
-
Create the corresponding client configuration, initially with a loopback HTTP/SOCKS listener. A sing-box mixed inbound supports both HTTP and SOCKS; that listener still needs a correctly configured outbound route. See sing-box mixed inbound.
-
创建相应的客户端配置,初始时带有回环HTTP/SOCKS监听器。sing-box混合入站同时支持HTTP和SOCKS;该监听器仍然需要正确配置的出站路由。请参阅sing-box混合入站。
-
Run the implementation's documented configuration validator before activation. Obtain the exact syntax from the installed binary's help or its matching manual; do not guess commands across products.
-
在激活之前运行实现文档中描述的配置验证器。从安装二进制文件的帮助或匹配的手册中获取确切语法;不要猜测跨产品的命令。
-
Start with a temporary process or isolated test service where possible. Inspect narrowly scoped, redacted errors. Verify client-to-server authentication and a useful end-to-end request.
-
如果可能,使用临时进程或隔离测试服务开始。检查范围狭窄、已屏蔽的错误信息。验证客户端到服务器的身份验证以及端到端请求的有效性。
-
Add persistent service startup only after the temporary setup works. Document the actual service name, config path, log command, and start/stop commands.
-
在临时设置工作后才添加持久化服务启动。记录实际的服务名称、配置路径、日志命令和启动/停止命令。
-
Test after restarting the service. If the user needs full-device routing, separately configure and test TUN, DNS routing, IPv6, local LAN exceptions, and the route to the tunnel server itself. Avoid routing the tunnel back into itself.
-
重新启动服务后再进行测试。如果用户需要全设备路由,分别配置并测试TUN、DNS路由、IPv6、本地局域网例外以及到隧道服务器本身的路由。避免将隧道回路自身。
Cloud firewall changes, DNS records, certificate issuance, and local routing are separate pieces. A running process is not evidence that they all work.
云防火墙更改、DNS记录、证书颁发和本地路由是独立的部分。正在运行的进程并不意味着它们全部都工作。
4. Verify the path and the real application
4. 验证路径和实际应用
These examples assume an already configured SOCKS5 listener on local
port 2080. Replace the port with the inspected value. example.com is
a basic HTTPS test; also test a destination the user actually needs. Run
direct tests only if direct access is acceptable.
这些示例假设已经在本地端口2080上配置了一个SOCKS5监听器。请用检查出的值替换端口号。example.com是一个基本的HTTPS测试;还应测试用户实际需要的目的地。仅在直接访问可接受的情况下运行直接测试。
# Baseline: bypass explicit HTTP/SOCKS proxy settings.
# This does NOT bypass an active VPN, TUN interface, or transparent
# proxy.
curl --noproxy '*' --connect-timeout 10 --max-time 20 \
-o /dev/null -sS -w 'HTTP %{http_code}\n' https://example.com/
# Explicit proxy test; socks5h asks the proxy to resolve the target
# name.
curl --noproxy '' --proxy socks5h://127.0.0.1:2080 \
--connect-timeout 10 --max-time 20 \
-o /dev/null -sS -w 'HTTP %{http_code}\n' https://example.com/
socks5h concerns target-name resolution for this request. It is not
proof that the entire machine has no DNS leaks. A client may still need
to resolve the proxy server's hostname during bootstrap.
socks5h涉及此请求的目标名解析。它并不能证明整个机器没有DNS泄露。客户端在启动过程中仍可能需要解析代理服务器的主机名。
Test a small request, a sustained transfer, reconnection, and the actual
browser or agent task. Inspect IPv4 and IPv6 behavior where relevant. Do
not conclude that all applications work because one curl request
succeeded.
测试一个小请求、一个持续传输、重连以及实际的浏览器或代理任务。根据相关情况检查IPv4和IPv6的行为。不要因为一次curl请求成功就得出所有应用程序都工作的结论。
For a client with an HTTP or mixed listener, a temporary child process can test conventional proxy environment variables:
对于具有HTTP或混合监听器的客户端,可以使用临时子进程测试常规代理环境变量:
# Replace command-to-test with an installed command and its normal
# arguments.
# Port 2080 must support HTTP CONNECT for this example.
env HTTPS_PROXY=http://127.0.0.1:2080 \
HTTP_PROXY=http://127.0.0.1:2080 \
https_proxy=http://127.0.0.1:2080 \
http_proxy=http://127.0.0.1:2080 \
NO_PROXY=localhost,127.0.0.1,::1 \
no_proxy=localhost,127.0.0.1,::1 \
command-to-test
Agent and IDE networking behavior varies by version and process. Check the installed product's documented proxy support. An IDE extension, integrated terminal, login window, update process, and remote extension host may take different routes. Do not assume an already running GUI inherits new shell variables. Keep local model runners reachable through loopback exclusions. Test authentication and a real request without logging tokens.
代理和IDE的网络行为因版本和进程而异。请检查安装产品的文档中记载的代理支持情况。一个IDE扩展、集成终端、登录窗口、更新过程以及远程扩展主机可能采取不同的路径。不要假设已经运行的GUI继承了新的shell变量。确保本地模型运行器可通过回环排除保持可达。测试认证并进行一次真正的请求而不记录令牌。
Success means the user's intended application works through the intended route, local services still work, reconnect behavior is understood, and the user has a recovery procedure. An external IP check alone is insufficient.
成功意味着用户的预期应用程序通过预期路径正常工作,本地服务仍可正常使用,重连行为已被理解,并且用户拥有恢复程序。单独的外部IP检查是不够的。
5. Troubleshoot without destroying the working state
5. 在不破坏当前状态的情况下排查问题
-
Local connection refused: verify the listener address, port, process, and service errors.
-
本地连接被拒绝: 验证监听地址、端口、进程和服务错误。
-
Listener works, upstream times out: inspect the endpoint, both firewalls, server health, and transport reachability. Compare another authorized network or fallback if available.
-
监听正常,上游超时: 检查端点、防火墙、服务器健康状况和传输可达性。如有其他授权网络或备用方案可用,请进行比较或切换。
-
TLS error: check time, trust store, hostname, certificate expiry, and protocol-specific settings. Do not turn off verification to make the test pass.
-
TLS错误: 核对时间、信任库、主机名、证书有效期以及协议特定设置。不要为了通过测试而关闭验证。
-
Proxy authentication error: compare the client/server credentials privately and check the selected protocol and version.
-
代理认证错误: 私下比对客户端/服务器凭据,并检查所选的协议和版本。
-
curl works, agent fails: inspect application proxy support, inherited environment, exclusions, login/update helpers, and the actual failed hostname. Account restrictions or service errors are not necessarily censorship.
-
curl正常,代理失败: 检查应用程序代理支持、继承环境、排除项、登录/更新辅助工具以及实际失败的主机名。账号限制或服务错误不一定是审查。
-
Short request works, long flow fails: measure loss, MTU symptoms, transport behavior, and server resources. Record the timing; do not declare active probing without evidence.
-
短请求正常,长流程失败: 测量丢失情况、MTU症状、传输行为和服务器资源。记录时间戳;在没有证据的情况下不要声明主动探测。
-
UDP path fails: test a separately configured TCP-based fallback. Changing only a port does not establish that UDP filtering was the cause.
-
UDP路径失败: 测试一个单独配置的基于TCP的备用方案。仅更改端口并不能证明是由于UDP过滤导致的问题。
-
Network breaks after TUN/DNS changes: restore saved routes, DNS settings, and service state using the prepared rollback. Preserve remote administration access.
-
网络在TUN/DNS变更后中断: 使用准备好的回滚恢复保存的路由、DNS设置和服务状态,并保持远程管理访问权限。
Change one relevant variable at a time. Keep a small dated log of evidence and results, with sensitive identifiers redacted.
每次只改变一个相关变量。记录一个小的日志,包含敏感标识符已脱敏的证据和结果。
6. Offline preparation and fallback
6. 离线准备与备用方案
Keep a private recovery kit available before access fails:
在访问失败前准备好私人的恢复工具包:
-
Verified installers for the target OS and architecture, required dependencies, matching manuals, and integrity information.
-
目标操作系统及其架构的验证安装程序、所需依赖项、匹配的手册以及完整性信息。
-
Known-good configurations, recovery instructions, and securely stored credentials outside public notes.
-
已知良好的配置、恢复说明和安全存储的凭据,不包含公共笔记中。
-
A local model, compatible runner, and a tested assistant workflow that starts without cloud login or downloads.
-
本地模型、兼容运行器以及无需云登录或下载即可启动的工作流。
-
Cached knowledge needed to repair networking, plus an understandable handoff for a human working without an agent.
-
缓存的知识用于修复网络问题,以及一个易于理解的人工交接流程,适用于没有代理支持的情况。
-
A fallback endpoint or transport with different failure dependencies, tested in advance.
-
具有不同的故障依赖性的备用端点或传输方式,在提前测试后使用。
For local messaging during an outage, Briar documents synchronization over Bluetooth, Wi-Fi, or memory cards, and Tor use when Internet access is available. This can support nearby or delayed communication; it does not create global Internet access. See Briar's architecture.
在服务中断期间进行本地消息传递时,Briar 文档中提到了通过蓝牙、Wi-Fi 或存储卡同步信息,并在有互联网访问时使用 Tor。这可以支持附近或延迟通信;但这不会创建全球互联网访问。请参见 Briar 的架构。
7. Correct misleading claims in the older notes
7. 在旧笔记中纠正误导性的声明
Do not repeat claims that a transport is “unblockable,” perfectly indistinguishable, or provides absolute anonymity. Encryption, censorship resistance, anonymity, and endpoint security are separate properties.
不要重复传输是“不可封堵的”、“完美无差别的”,或者提供绝对匿名性的说法。加密、防审查性、匿名性和端点安全性是不同的属性。
Do not assume all encrypted tunnels imitate HTTPS, all bridges use residential addresses, or every TLS handshake exposes the same information. Treat claims about Geph generations, sosistab internals, runtime performance, and cryptographic guarantees as unverified until checked against the relevant source release.
不要假设所有加密隧道都模仿 HTTPS,所有桥接都使用住宅地址,或每次 TLS 握手都会暴露相同的信息。在查阅相关源代码发布前,将关于 Geph 代际、sosistab 内部结构、运行时性能和加密保证的声明视为未经验证的说法。
Shared cloud hosting is not automatically domain fronting. A working shared-storage download URL demonstrates that particular delivery path; it does not demonstrate a general-purpose proxy or CDN permission to route arbitrary traffic. Check the actual provider and protocol support before designing around fronting or CDN tunneling.
共享云托管并不自动等同于域名前置。一个有效的共享存储下载 URL 只能证明特定交付路径的存在;它不能证明通用代理或 CDN 的任意流量路由权限。在围绕前置或 CDN 隧道设计之前,请检查实际提供商和协议支持情况。
A bridge may change exposure and availability, but cannot guarantee that the exit or bridge will never be blocked. Preserve useful observations from the old notes without promoting conjecture into operational facts.
桥接可能会改变暴露性和可用性,但无法保证出口点或桥接永远不会被封堵。保留旧笔记中的有用观察结果,而不将猜测提升为操作事实。
8. Required handoff after doing setup work
8. 在完成设置工作后的交接
Leave a short, private operational record containing:
留下一份简短的私有操作记录:
-
Date, OS, architecture, exact software versions, and upstream references used.
-
日期、操作系统、架构、确切的软件版本以及上游引用。
-
What was wrong, evidence collected, and what remains uncertain.
-
问题所在,收集的证据以及仍不确定的内容。
-
Chosen transport, local listener, affected applications, and intended DNS/IPv6 behavior.
-
选定的传输方式,本地监听器,受影响的应用程序以及预期的DNS/IPv6行为。
-
Actual configuration and backup paths, without embedding secrets in public documentation.
-
实际配置和备份路径,不将秘密嵌入公共文档中。
-
Exact start, stop, status, log, validation, and rollback commands for this installation.
-
此安装的确切启动、停止、状态、日志、验证和回滚命令。
-
Test results for the real application, sustained traffic, and service restart.
-
实际应用的测试结果,持续流量和服务重启情况。
-
Fallback procedure and any untested steps, including reboot if not performed.
-
退路程序以及任何未测试的步骤,包括如果未执行则包含重新启动。
Do the authorized implementation and verification rather than ending with a list of products. If blocked, name the precise missing prerequisite and leave a concrete next action. Do not claim a working deployment based solely on configuration generation.
进行授权实施和验证而不是以产品列表结束。如受阻,请明确指出缺失的前提条件并留出具体的下一步行动。不要仅凭配置生成就声称部署成功。