Shadowsocks(SS)
Shadowsocks使用共享密钥与指定加密方法转发流量的代理协议,连接参数通常包含服务器、端口、密码与加密方法。客户端和服务端的加密方法必须匹配,SS 2022 的密钥格式也不同于旧版。若配置带有插件,还需确认当前内核支持对应插件及参数,不能把插件设置直接丢弃。
从订阅导入时的节点与配置,到规则分流中的 DNS 与策略组,按概念查阅用途和边界。术语说明用于理解设置;具体入口、字段与支持范围,以客户端所用内核为准。
协议决定客户端如何与服务端通信,传输方式与加密保护则可能由其他参数指定。名称相同,也要逐项核对配置,不能只改协议标签。
使用共享密钥与指定加密方法转发流量的代理协议,连接参数通常包含服务器、端口、密码与加密方法。客户端和服务端的加密方法必须匹配,SS 2022 的密钥格式也不同于旧版。若配置带有插件,还需确认当前内核支持对应插件及参数,不能把插件设置直接丢弃。
源自 V2Ray 生态的代理协议,以 UUID 标识用户,并涉及时间相关的认证检查。订阅中的 WebSocket、TLS、路径或主机名属于连接所需的附加设置,不是填写 UUID 后就可以省略。出现认证或握手错误时,除检查这些参数,也应确认设备系统时间准确。
通常在 TLS 连接中传输代理数据,并使用密码进行认证。服务器地址、证书对应的名称以及客户端的 SNI 设置都可能影响握手结果。遇到证书错误应先检查域名、时间与证书链,不宜把跳过证书验证当作长期解决办法;是否支持额外传输方式仍取决于内核。
将协议认证与传输保护分开的轻量代理协议,常与 TLS 或 REALITY 配合使用,不应把 VLESS 名称本身理解为完整的加密方案。导入时需保留传输类型、服务器名称、flow 及相关验证参数。旧内核可能认识 VLESS 类型,却不支持订阅采用的某个组合,仍会导致连接失败。
基于 QUIC 的代理协议,使用 UDP 承载连接,设计上关注吞吐与不稳定链路下的传输表现。实际体验取决于 UDP 是否可达、服务端容量、链路拥塞以及带宽参数,并非协议名称就能保证速度。Hysteria2 与第一代的协议及配置存在差异,不能仅修改类型名称完成迁移。
基于 QUIC 的代理协议,利用多路复用承载连接,并提供与 UDP 转发相关的设置。客户端与服务端必须使用兼容的协议版本,认证字段和拥塞控制参数也需按服务端要求填写。若当前网络限制 UDP,切换节点名称通常不能解决问题,应先确认底层连接条件。
协议的资源占用与使用场景,见协议与内核技术参考。
客户端负责操作入口,内核负责执行网络逻辑。判断某个协议或配置能否使用,应同时看应用提供的界面和实际运行的内核。
提供订阅导入、节点选择、系统代理、日志查看等操作界面的应用,部分客户端还负责内核进程与后台服务的管理。不同客户端即使使用同一内核,也可能对配置进行合并、覆写或过滤。因此教程中的菜单名称未必完全相同,排查时要区分界面保存值与内核实际加载值。
负责连接建立、协议处理、DNS 查询与规则匹配的执行程序,可由图形客户端管理,也可独立运行。同一份配置能否加载,主要受内核支持的字段、协议和运行环境影响。只升级界面应用不一定同步升级内核,遇到未知字段或不支持的代理类型时,应查看实际内核信息。
Clash.Meta 项目后续使用的内核名称,延续 Clash 风格的 YAML 配置,并扩展协议、规则、DNS 与接管能力。它是内核而非某个固定外观的客户端,不同应用可以搭载它。旧配置迁移后仍应检查日志与字段含义,mihomo 的新功能也不能默认由原版或其他旧内核识别。
通常指 Clash.Meta 内核分支及其历史命名,与 mihomo 有项目延续关系;在应用名称和旧教程中也常作为生态称呼出现。名称中包含 Meta,并不表示所有客户端使用相同的内核构建或开放全部设置。对照文档时,应以运行中的内核名称、功能支持和配置语法为判断依据。
配置文件描述监听端口、节点、策略组、规则与 DNS 等内容。能被读取、能建立连接和能按预期分流,是需要分别确认的三个层次。
Clash 配置常用的结构化文本格式,通过缩进表达层级,通过冒号和列表标记组织数据。编辑时应使用空格缩进,带特殊字符的字符串需注意引号,避免把字段放进错误的层级。YAML 语法正确只说明文本结构可以读取,内核仍需验证字段类型、策略组名称与规则引用是否有效。
根据域名、IP、进程等条件,为连接选择直连、拒绝或某个策略组。规则通常从上到下匹配,例如 DOMAIN-SUFFIX 匹配域名后缀,MATCH 用于最后兜底。若宽泛规则排在例外规则之前,后者可能没有机会生效;查看连接面板的命中规则比只看当前节点更准确。
把节点或其他策略组组织成统一出口,供分流规则引用。select 用于手动选择,url-test 按测试结果择优,fallback 按顺序寻找可用项,load-balance 按策略分摊连接。自动策略依赖测试地址和周期,切换结果通常影响新连接,并不保证已经建立的连接同步迁移。
将一组匹配条件拆分为独立来源,由 rule-providers 声明,再通过 RULE-SET 规则引用。规则集负责提供条件,引用它的规则负责指定出口策略,因此更新规则集不等于替换整份配置。来源格式、behavior 与内核支持需一致,下载成功后仍应检查是否实际加载并被引用。
GeoIP 为 IP 地址提供地区等分类信息,GeoSite 按站点或用途组织域名集合,可分别用于 GEOIP 与 GEOSITE 匹配。分类取决于数据来源、格式和更新情况,不是对服务器真实位置或归属的绝对证明。名称相近的集合也可能包含不同条目,应按实际数据源选择标签。
先区分流量怎样进入内核,再看域名怎样解析。系统代理、TUN 和 DNS 模式处在不同环节,开启其中一项并不自动解决其他环节的问题。
通过操作系统的代理设置,让遵循该设置的应用把连接交给本地代理端口。它不等于接管设备上的全部网络流量,部分游戏、命令行工具或自带网络栈的应用可能忽略它。若浏览器可用而其他应用仍直连,应先确认应用的代理支持;关闭客户端后也要留意系统设置是否恢复。
通过虚拟网络接口与路由接收 IP 数据包,再由代理内核处理,适合接管不遵循系统代理的应用。它通常需要额外权限或后台服务,并涉及路由、DNS 与协议栈选择。TUN 与规则模式并不互斥:前者决定流量如何进入内核,后者决定进入后如何选择出口;启用时还需留意其他虚拟网卡。
把域名转换为地址等记录的查询系统,连接服务前通常需要先完成解析。查询由谁发出、经过哪个解析器、解析器连接走哪条路径,与最终业务连接的出口是不同问题。浏览器自带的加密 DNS、系统缓存和应用内解析都可能改变结果,排查时不能只检查配置中的一个 DNS 地址。
向应用返回合成地址,并在内核中保存该地址与原始域名的映射,以便后续连接仍可按域名匹配规则。应用看到的地址因此不一定是目标服务器的真实地址,这本身不代表解析失败。少数依赖真实地址的应用需要在 fake-ip-filter 中设置合适例外,切换模式后也应留意残留 DNS 缓存。
指域名查询没有沿预期的解析路径发送,例如业务连接经过代理,而查询仍由另一条路径发出。是否符合预期,需要结合分流目标、应用解析方式以及解析器连接路径判断。检测页面显示的解析器地区不能单独作为结论;应同时检查浏览器加密 DNS、系统解析设置与内核日志。
在同一个本地监听端口接收 HTTP 与 SOCKS 代理连接,配置字段为 mixed-port。教程中常见的 7890 只是示例端口,并非不可修改,应用填写的地址与端口必须和实际监听值一致。允许局域网设备访问时,还需检查监听地址、认证及防火墙,不宜把代理端口直接暴露到公网。
订阅是配置或节点的获取方式,节点是连接参数,测试结果是特定条件下的观察值。三者需要分别核对,不能用一次测速代替完整的连接验证。
通过 URL 获取并更新节点集合或完整配置的机制,并不是某一种固定协议。Base64 节点集合、Clash YAML 配置和其他客户端格式不一定能够互相直接导入,应先确认接收端支持的格式。订阅地址可能包含账户信息,不宜公开分享或提交到不可信的转换服务,更新失败也应先看错误类型。
描述一个远端代理服务的一组参数,通常包含服务器地址、端口、协议、认证信息与可选传输设置。列表中的显示名称只是标签,不能据此证明服务器位置、出口位置或实际带宽。参数能被客户端读取,也不等于服务端一定可用,还需要验证握手、认证以及目标应用的访问情况。
客户端通过指定测试地址评估连接耗时,常涉及代理连接建立与 HTTP 请求,并不必然等同于 ICMP Ping。结果会受到测试目标、超时阈值、连接复用和网络状态影响,较低数值也不代表下载速度更高。超时只说明该次测试未在期限内完成,仍需结合日志与真实访问判断故障范围。
通过 proxy-providers 声明的节点来源,可以来自文件或远程地址,再由策略组引用。它将节点更新与主配置分开管理,更新集合通常只刷新节点内容,不等于替换主配置中的规则和 DNS 设置。完整配置订阅与代理集合文件的结构不同,不能仅把一个 URL 填进另一类入口就认为兼容。