理解代理协议、内核与多用户管理
理解代理协议、内核与多用户管理
在折腾 Clash、Sing-box、Xray、Hysteria 等工具时,很多人都会有疑惑:
- 协议(VLESS / Trojan / Hysteria) 和 内核(sing-box / xray-core) 是什么关系?
- 不同协议是如何实现多用户管理的?
- 机场面板为什么能统计流量、显示到期时间?
这篇文章尝试用简洁的方式,把这些概念梳理清楚。
一、协议 vs 内核
1. 协议
协议定义了 客户端和服务端如何通信,包括握手、加密和数据传输规则。
常见的协议有:
- VLESS:轻量、基于 UUID 鉴权
- VMess:VLESS 的前身,逐渐淘汰
- Trojan:基于 TLS + 密码认证
- Shadowsocks (SS):最经典的加密代理
- Hysteria (v2):基于 QUIC,优化高丢包环境
👉 可以理解为“文件格式”,比如 mp4 / mkv / avi。
2. 内核
内核是实际跑在服务器上的 代理引擎,负责处理流量并实现协议。
常见的内核有:
- xray-core → VLESS / VMess / Trojan / Shadowsocks
- sing-box → VLESS / Trojan / Shadowsocks / Hysteria2
- hysteria → 专注于 Hysteria 协议
- v2ray-core → 老的内核,已逐渐被 xray 取代
👉 可以理解为“播放器”,支持不同格式的文件。
3. 二者关系
- 协议 = 语言 / 格式
- 内核 = 翻译器 / 播放器
- 客户端 (Clash / sing-box app / v2rayN) 通过配置文件告诉内核:用哪种协议去连服务器。
二、不同协议的多用户机制
不同的协议,区分用户的方式不一样。
| 协议 | 用户区分方式 | 多用户支持情况 |
|---|---|---|
| Hysteria2 | 密码 (auth) | 支持多个用户,每人一个密码 |
| VLESS | UUID | 强多用户支持,可统计流量 |
| Trojan | 密码 | 多用户支持,配置多个密码 |
| Shadowsocks | 端口+密码 | 多用户支持较差,通常靠端口区分 |
| VMess | UUID | 和 VLESS 类似,但逐渐淘汰 |
👉 可以看到:
- VLESS / VMess / Trojan / Hysteria2 都原生支持多用户。
- Shadowsocks 多用户支持较弱,需要靠端口或防火墙规则来统计。
三、机场面板的角色
机场的“面板”并不是新的协议或内核,而是一个 管理系统。
它的核心作用有三点:
- 维护用户数据库(谁的 UUID / 密码,何时到期,总流量多少)
- 生成订阅文件(Clash / sing-box 客户端可直接导入)
- 统计流量与时间(通过内核 API、日志或防火墙规则获取)
例如 Clash 里能显示“剩余流量 / 到期时间”,就是因为面板在返回订阅时加上了 HTTP Header:
理解代理协议、内核与多用户管理
https://blog.yonagi.top/2025/08/21/cb8618e8d286/