文字与生活

HTTP代理、SOCKS5和混合端口有什么区别?机场客户端接口选用指南

应用要求填写 HTTP 或 SOCKS5 代理,而机场订阅里写的是另一种协议,这通常不是冲突。前者描述应用怎样连接本地客户端,后者描述客户端怎样连接远端节点。把两段连接分开,很多“端口填了却不能用”的问题就容易检查。

先画清楚两段连接

常见使用方式可以简化为:

浏览器或应用 → 本机代理入口 → 客户端内核 → 机场节点 → 目标服务。

本地入口的协议类型和端口,应从当前正在运行的客户端读取;不能把远端节点端口、管理面板端口或订阅网址填进应用的代理栏。示例教程里的数字也不是所有客户端的通用默认值。

本文讨论普通应用的显式代理配置。TUN 接管属于另一种路径,不能仅凭应用未填写代理,就判断流量一定没有进入客户端。

三种名称分别表示什么

名称 用来判断什么 不能据此保证什么
HTTP 代理入口 应用按HTTP代理方式发送请求 不保证任意应用的UDP都被代理
SOCKS5入口 应用与客户端使用SOCKS5交互 不保证软件已实现或启用UDP转发
混合端口 同一入口可接受HTTP与SOCKS连接 不等于多条线路叠加或速度翻倍

RFC 9110 中的 CONNECT 用于建立隧道,成功后双向转发数据;HTTPS 请求可以经这样的隧道建立到目标的 TLS 连接。CONNECT 定义

SOCKS5 标准分别定义 CONNECT 与 UDP ASSOCIATE,后者用于建立 UDP 转发关联,并依赖相关 TCP 控制连接的生命周期。标准具有这项能力,不代表任意应用、客户端和节点组合都已支持。RFC 1928

以 mihomo 为例,其文档分别列出 HTTP、SOCKS 和混合代理端口;混合端口接受 HTTP 与 SOCKS 请求。实际选用时仍需按应用提供的代理类型填写。mihomo 代理端口说明

怎样给一个应用填写代理

  1. 在客户端确认当前运行状态和本地监听地址、端口、协议。
  2. 查看目标应用提供哪些代理类型,选择双方都支持的一项。
  3. 同机应用使用客户端实际提供的回环地址与端口;另一台设备不能直接照搬本机地址。
  4. 保存后只发起一次小请求,核对客户端连接记录中是否出现该应用或目标。
  5. 同时记录成功现象或报错原文,再决定是否更换类型。

不要同时更换节点、DNS、应用代理和系统代理。先保持节点与目标不变,才容易看出修改入口是否有效。应用没有提供某种代理类型时,不能仅靠把类型名称写进地址栏补上支持。

网页成功为什么不能证明UDP成功

可以打开HTTPS网页,只能说明该次请求走通。若你真正需要的是语音、特定游戏或其他使用UDP的功能,应测试那个功能本身,并在客户端可见记录中确认相关流量。

建议把验收拆成两行:“目标网页请求完成”和“目标UDP功能完成”。后一项没测过就写未测试。即使某项功能正常,也不要扩大成全部UDP应用都兼容。

遇到网页能用而另一个应用失败,先核对该应用是否真的使用了填写的代理设置,以及它对UDP代理的支持情况,再检查客户端和远端路径。盲目更改端口,无法替代这几层确认。

两个容易混淆的安全边界

本地HTTP入口不等于目标网页明文。 目标是否使用HTTPS、连接怎样经过本地入口、远端节点采用什么传输,属于不同问题。不要只看客户端界面的“HTTP”字样,就给整条链路作安全结论。

开放局域网访问不是填写端口的必要步骤。 同机使用先保持现有监听范围。如果确实需要其他设备接入,再单独规划监听地址、访问限制和认证;不要为解决单机连接问题随手对外开放入口。

最后保留一条简短记录:应用、代理类型、本地入口、实际出站、目标结果。能够说明某条连接怎样成功,才是选择端口类型的有效依据。

留下你的回声

评论

搜索文章

正在加载搜索…