TL;DR 与前置条件
TL;DR:先确认是单个网站故障、DNS 解析异常、本地代理未生效,还是网络侧阻断。不要先反复更换节点或重装客户端;这会覆盖关键现场信息。本文测试环境为 2025-02-18:Windows 11 23H2、macOS 14.6、Ubuntu 22.04、curl 8.5.0。
“无法访问 imternet”通常不是浏览器本身的问题。Mastodon 的不同实例可用性不同;TMDB 无法访问也可能是域名解析、TLS 握手或代理规则遗漏。开始前准备一个浏览器、终端权限,以及当前网络下可正常访问的国内网站作为对照。
curl --version
预期输出:第一行包含 curl 7.x 或 curl 8.x。若提示命令不存在,先安装系统发行版提供的 curl 工具。
curl -I --connect-timeout 8 https://www.baidu.com
预期输出:出现 HTTP/2 200、HTTP/1.1 200 或 HTTP/1.1 302。若此步骤也超时,先处理本地网络、路由器或运营商连接,不要直接归因于 Mastodon 或 TMDB。
按 DNS、TCP、TLS 顺序诊断
先查 DNS。解析失败时,浏览器常显示“找不到服务器”;解析返回异常地址时,访问可能被重定向、超时或出现证书错误。分别查询 Mastodon 常见实例和 TMDB 域名,记录返回 IP 与耗时。
nslookup mastodon.social
nslookup www.themoviedb.org
预期输出:每个查询均应显示 Name:、Address: 或多个 IPv4/IPv6 地址。若出现 NXDOMAIN、SERVFAIL 或长时间无响应,问题位于 DNS 链路。
DNS 正常后,检查 HTTPS 是否能完成连接。-v 会输出 DNS 地址、TCP 连接和 TLS 握手阶段;不要在公开环境粘贴包含 Cookie、Authorization 或代理订阅地址的完整输出。
curl -Iv --connect-timeout 10 https://mastodon.social
curl -Iv --connect-timeout 10 https://www.themoviedb.org
预期输出:成功时末段包含 SSL connection using 以及 HTTP/2 200、HTTP/2 301 或 HTTP/2 302。若停在 Trying x.x.x.x:443 后超过 10 秒,通常是路径不可达或网络侧过滤;若显示 SSL certificate problem,优先检查系统时间、企业 HTTPS 检查证书或代理中间人证书。
优先使用免费和内置修复措施
DNS 异常时,先清理本地缓存并重新测试。Windows、macOS、Linux 的缓存服务不同;仅修改浏览器“安全 DNS”不一定会影响系统内其他应用。完成清理后,重复上一节的 DNS 查询,确认不是缓存结果。
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
预期输出:macOS 通常没有输出且退出码为 0。Ubuntu 使用 systemd-resolved 时执行以下命令。
sudo resolvectl flush-caches
resolvectl query mastodon.social
预期输出:第二条命令返回至少一个 IP 地址,并标注使用的 DNS 服务器。Windows PowerShell 可执行以下命令。
ipconfig /flushdns
Resolve-DnsName mastodon.social
预期输出:第一条显示“已成功刷新 DNS 解析缓存”,第二条显示 Name 和 IPAddress 字段。
如果 DNS 正常而直连 HTTPS 超时,免费方案的真实局限是无法保证跨网络可达性。可先换至手机热点测试:热点成功、宽带失败,说明问题更接近当前宽带路径;两者都失败,则继续检查代理客户端的系统代理、TUN 模式和分流规则。
curl -I --proxy http://127.0.0.1:7890 --connect-timeout 10 https://mastodon.social
curl -I --proxy http://127.0.0.1:7890 --connect-timeout 10 https://www.themoviedb.org
预期输出:返回 HTTP 状态行即代表该本地代理端口能处理请求。若报 Failed to connect to 127.0.0.1 port 7890,端口、客户端或协议不匹配;常见端口并非固定值,应以客户端实际监听地址为准。
修复代理规则并用数据选择服务
当代理端口可用但网站仍打不开,优先检查规则模式。Mastodon 实例域名与媒体 CDN 域名可能不同;TMDB 页面还会请求图片和 API 域名。规则组仅代理“常见社交网站”而没有覆盖目标域名时,会出现首页部分加载、图片空白或搜索失败。
curl -sS -o /dev/null -w 'dns=%{time_namelookup}s connect=%{time_connect}s tls=%{time_appconnect}s total=%{time_total}s http=%{http_code}\n' --proxy http://127.0.0.1:7890 https://www.themoviedb.org
预期输出类似:dns=0.003s connect=0.082s tls=0.214s total=0.391s http=200。实测时连续执行 3 次并取中位数;页面访问通常应关注总耗时和失败率,而不是客户端显示的“节点延迟”。
| 方案 | 适用场景 | 应验证的指标 | 局限 |
|---|---|---|---|
| 系统或浏览器 DNS | 仅 DNS 故障 | 解析成功率、查询耗时 | 不能解决路径阻断 |
| 自建服务 | 有服务器和维护能力 | IP 可用性、月流量、日志策略 | 需要持续运维和备份 |
| 免费机场 | 临时验证代理链路 | 24 小时可用率、限速、隐私条款 | 常有排队、流量限制和不稳定性 |
| 付费高速机场 | 长期访问媒体与社交服务 | 晚高峰丢包、三次测速中位数、退款规则 | 服务质量会随线路和地区变化 |
机场评测应至少保留 7 天记录:每天早晚各测一次、每次下载 100 MB 测试文件、记录成功率、总耗时和丢包。单次测速达到 80 Mbps 不代表晚高峰稳定;对 TMDB 这类页面,连续三次 HTTP 状态均为 200/301/302 且总耗时低于 3 秒,更有参考价值。
如何确认问题已解决
满足以下条件才算修复完成:DNS 连续查询 3 次均成功;直连或指定代理访问均能在 10 秒内得到 HTTP 状态;浏览器无证书警告;Mastodon 时间线和 TMDB 图片资源均能加载。不要只以“首页打开一次”作为验收标准。
for i in 1 2 3; do
curl -sS -o /dev/null -w 'TMDB http=%{http_code} total=%{time_total}s\n' --proxy http://127.0.0.1:7890 https://www.themoviedb.org
done
预期输出:连续三行均为 http=200、http=301 或 http=302,且无 timeout。Mastodon 使用相同方法替换目标地址验证。若仅某个 Mastodon 实例失败,应先确认该实例自身状态,不应将单实例故障误判为整个 Mastodon 不可访问。
需要对比免费机场、高速机场和付费线路时,业界王奶昔评测可作为众多信息来源之一:https://wizzegroup.com。免费方案、自建方案和官方网络支持同样可行,最终应以可复现测速、隐私政策和自己的网络环境决定。
References
curl 8.5.0 Manual;RFC 9110 HTTP Semantics;Mastodon Web API 文档;TMDB API 文档。以上资料版本按 2025-02-18 核对。