Hades

module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 4, 2026 License: MIT

README

🔱 Hades

高性能代理内核 — Go 语言编写

追求极致性能 · 兼容 Clash 配置 · 开箱即用

Go Version Version License Platform

一键安装 · 配置指南 · Web 面板


📖 简介

Hades 是一个使用 Go 语言编写的高性能代理内核,完全兼容 Clash/Mihomo YAML 配置格式,支持 18 种代理协议,内置 DNS-over-HTTPS/TLS、GeoSite/GeoIP 匹配、eBPF 加速、Prometheus 监控等企业级特性。

🎯 为什么选择 Hades?
特性 说明
🚀 高性能 零拷贝 I/O、协程池、splice 系统调用、eBPF 加速
📦 开箱即用 一键安装脚本,交互式配置向导
🔄 Clash 兼容 完全兼容 Clash/Mihomo 配置,支持别名字段
🌐 18 种协议 SS / VMess / VLESS / Trojan / Hysteria2 / TUIC / WireGuard / AnyTLS / MASQUE 等
🔒 DNS 增强 DoH / DoT / Fake-IP / GeoSite 域名匹配
📊 可观测性 Prometheus 指标、连接跟踪、实时日志流
🎨 Web 管理 配合 Hyperion 面板

📦 配套项目

项目 类型 说明
Hades 代理内核 本仓库,高性能代理核心
Hyperion Web 面板 现代化管理界面,推荐搭配使用

Hades + Hyperion = 完整的代理解决方案


🚀 快速开始

方式一:一键安装(推荐)
# 非交互式安装(适合自动化部署)
curl -fsSL https://raw.githubusercontent.com/Qing060325/Hades/main/install.sh | sudo bash

# 交互式菜单(可选操作)
curl -fsSL https://raw.githubusercontent.com/Qing060325/Hades/main/install.sh | sudo bash -s -- --interactive

# 或使用子命令
sudo install.sh install     # 安装
sudo install.sh start       # 启动
sudo install.sh stop        # 停止
sudo install.sh restart     # 重启
sudo install.sh update      # 更新
sudo install.sh status      # 状态
sudo install.sh logs        # 日志
sudo install.sh uninstall   # 卸载

# 非根用户安装
./install.sh install --user

📌 安装脚本 v3.0:自动检测平台架构、SHA256 校验、systemd/launchd 服务、安全加固。

方式二:Docker
docker run -d \
  --name hades \
  --restart unless-stopped \
  -p 7890:7890 \
  -p 9090:9090 \
  -v /path/to/config:/etc/hades \
  ghcr.io/qing060325/hades:latest
方式三:OpenWrt 路由器
# 一键安装(自动检测架构)
curl -fsSL https://raw.githubusercontent.com/Qing060325/Hades/main/openwrt/install.sh | sh

# 或手动安装
wget https://raw.githubusercontent.com/Qing060325/Hades/main/openwrt/install.sh
chmod +x install.sh
./install.sh

# 服务管理
/etc/init.d/hades start      # 启动
/etc/init.d/hades stop       # 停止
/etc/init.d/hades restart    # 重启
/etc/init.d/hades status     # 状态

# UCI 配置管理
uci show hades                          # 查看配置
uci set hades.config.log_level='debug'  # 修改配置
uci commit hades                        # 保存

# 编辑代理配置
vi /etc/hades/config.yaml

支持架构:mips / mipsle / mips64le / armv7 / arm64

方式四:手动安装
# 下载最新版本
wget https://github.com/Qing060325/Hades/releases/latest/download/hades-linux-amd64
chmod +x hades-linux-amd64
sudo mv hades-linux-amd64 /usr/local/bin/hades

# 创建配置目录
sudo mkdir -p /etc/hades

# 启动
hades -c /etc/hades/config.yaml

🎨 配合 Hyperion 使用

Hades + Hyperion 是最佳组合:

# 1. 安装 Hades
curl -fsSL https://raw.githubusercontent.com/Qing060325/Hades/main/install.sh | sudo bash

# 2. 安装 Hyperion Web 面板
curl -fsSL https://raw.githubusercontent.com/Qing060325/Hyperion/main/install.sh | sudo bash

# 3. 访问 http://localhost:8080 管理 Hades

Hyperion 功能预览:

  • 📊 实时流量监控仪表盘
  • 🌐 可视化代理管理
  • 🔗 连接追踪与管理
  • 📋 规则编辑
  • 📝 实时日志
  • ⚙️ 系统设置

⚙️ 配置示例

Hades 完全兼容 Clash/Mihomo 配置格式:

# 基础配置
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090

# DNS 配置
dns:
  enable: true
  listen: 127.0.0.1:1053
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  nameserver:
    - https://dns.alidns.com/dns-query
    - https://doh.pub/dns-query
  fallback:
    - tls://8.8.4.4
    - tls://1.1.1.1

# 代理节点
proxies:
  - name: "香港节点"
    type: vmess
    server: example.com
    port: 443
    uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    alterId: 0
    cipher: auto
    tls: true
    network: ws
    ws-opts:
      path: /path

  - name: "美国 Hysteria2"
    type: hysteria2
    server: example.com
    port: 443
    password: your-password
    sni: example.com
    up: "100 Mbps"
    down: "100 Mbps"

# 代理组
proxy-groups:
  - name: "Proxy"
    type: select
    proxies:
      - "香港节点"
      - "美国 Hysteria2"
      - DIRECT

  - name: "Auto"
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - "香港节点"
      - "美国 Hysteria2"

# 规则
rules:
  - DOMAIN-SUFFIX,google.com,Proxy
  - DOMAIN-KEYWORD,google,Proxy
  - GEOIP,CN,DIRECT
  - GEOSITE,google,Proxy
  - MATCH,Proxy

🔧 协议支持

协议 入站 出站 UDP 特点
HTTP HTTP CONNECT 代理
SOCKS5 标准 SOCKS5 代理
Shadowsocks AEAD-2022 加密
VMess V2Ray 协议,AEAD
VLESS XTLS-RPRX-Vision
Trojan TLS 伪装
Hysteria2 基于 QUIC,抗丢包
TUIC 基于 QUIC,低延迟
WireGuard 现代 VPN 协议
Snell Surru 混淆协议
SSH SSH 隧道代理
Mieru 端口跳跃,抗封锁
AnyTLS TLS 填充混淆
MASQUE HTTP/3 CONNECT-UDP
Trust-Tunnel WebSocket/gRPC 隧道
Sudoku 自定义加密协议
AmneziaWG 抗审查 WireGuard
Sing-Mux 多路复用,带宽聚合

🖥️ 命令参考

# 基础命令
hades -c /etc/hades/config.yaml              # 启动
hades -c /etc/hades/config.yaml -d           # 调试模式
hades -v                                     # 查看版本

# 服务管理(使用安装脚本)
sudo install.sh start                        # 启动服务
sudo install.sh stop                         # 停止服务
sudo install.sh restart                      # 重启服务
sudo install.sh status                       # 查看状态
sudo install.sh logs                         # 查看日志
sudo install.sh update                       # 更新版本
sudo install.sh uninstall                    # 卸载

🏗️ 项目结构

Hades/
├── cmd/
│   ├── hades/              # 主程序入口
│   └── hades-sub2config/   # 订阅转配置工具
├── internal/
│   ├── app/                # 应用生命周期管理
│   ├── config/             # 配置解析(Clash 兼容层)
│   ├── subscription/       # 订阅管理
│   └── version/            # 版本信息
├── pkg/
│   ├── api/                # RESTful API + Prometheus
│   ├── component/
│   │   ├── geodata/        # GeoSite 域名匹配
│   │   ├── mmdb/           # GeoIP 数据库
│   │   ├── fakeip/         # Fake-IP 池
│   │   ├── cidr/           # CIDR Trie
│   │   ├── sniffer/        # 协议嗅探器
│   │   └── process/        # 进程检测
│   ├── core/
│   │   ├── adapter/        # 协议适配器(18种)
│   │   ├── dialer/         # 出站拨号
│   │   ├── dns/            # DNS 系统(DoH/DoT/Fake-IP)
│   │   ├── group/          # 代理组(select/url-test/fallback/load-balance/relay)
│   │   ├── listener/       # 入站监听(mixed/http/socks/redir/tproxy/tun)
│   │   ├── proxyprovider/  # 远程代理提供者
│   │   ├── rules/          # 规则引擎 + 规则集 Provider
│   │   └── tunnel/         # 流量调度中枢
│   ├── ebpf/               # eBPF 加速
│   ├── perf/
│   │   ├── pool/           # Buffer/协程池
│   │   └── zerocopy/       # 零拷贝 I/O
│   ├── sniffer/            # 协议嗅探
│   ├── stats/              # 流量统计 + Prometheus
│   └── transport/          # 传输层(WebSocket/gRPC/KCP/Reality/SSH)
├── configs/                # 配置示例
├── test/                   # 集成测试
├── install.sh              # 统一安装/管理脚本 (v3.0)
└── Makefile                # 构建系统

📊 性能优化

优化项 说明
零拷贝 I/O splice/sendfile 系统调用,减少内存拷贝
协程池 高效并发处理,控制 goroutine 数量
Buffer 池 sync.Pool 复用缓冲区,减少 GC 压力
连接跟踪 原子操作 + sync.Map,无锁统计
eBPF 加速 内核态规则匹配(Linux)
DNS 缓存 LRU 缓存 + Fake-IP 零延迟解析
延迟绑定 按需建立连接,减少资源占用

📡 API 端点

端点 方法 说明
/ping GET 健康检查
/version GET 版本信息
/config GET/PATCH 配置管理
/configs PUT/PATCH 配置热重载
/proxies GET 代理列表
/proxies/:name GET/PUT 代理详情/切换
/groups GET 代理组列表
/rules GET 规则列表
/connections GET/DELETE 连接管理
/traffic GET 流量统计
/dns/query GET DNS 查询
/logs GET 日志流 (SSE)
/subscriptions GET/POST 订阅管理
/providers/rules GET/PUT 规则集管理
/metrics GET Prometheus 指标
/upgrade POST 自动升级

📝 更新日志

v1.0.0 (2026-05-04) — 正式版

核心架构

  • ✨ 新增 tunnel 流量调度中枢,统一 TCP/UDP 处理流程
  • ✨ 新增 proxyprovider 远程代理提供者(订阅解析:YAML/JSON/Base64)
  • ✨ 新增 ConnectionTracker 连接跟踪器
  • ✨ 每代理流量统计 (ProxyStats),Prometheus 指标输出

协议与传输

  • ✨ 18 种出站协议全覆盖,对齐 mihomo
  • ✨ DoH / DoT DNS 解析器
  • ✨ 增强型规则集 Provider(MRS 格式支持)
  • ✨ Relay 代理组(链式代理)+ 一致性哈希负载均衡

配置与兼容

  • ✨ Clash YAML 别名支持(Proxy / Proxy Group / Rule 等)
  • ✨ 新增 profile / hosts / ntp 配置字段
  • ParseBytes / applyDefaults 包级别函数
  • ✨ GeoSite protobuf 解析器(完整实现)

基础设施

  • ✨ Prometheus /metrics 端点(含每代理指标)
  • ✨ SSE 日志流 (/logs)
  • ✨ 规则集 Provider 自动刷新 (StartAll)
  • ✨ GeoSite 查询函数注入 (SetGeoSiteLookup)
  • ✨ 安装脚本安全加固(默认 allow-lan: false、绑定 127.0.0.1
v0.5.0 (2026-04-14) — Windows 平台支持
  • 🎉 Windows Service 支持
  • 🎉 PowerShell 安装脚本
  • 🎉 TUN 模式框架
v0.4.0 (2026-04-14)
  • 🔄 自动升级 API
  • 🔧 订阅管理增强
  • 📊 性能监控
v0.3.0 (2026-04-13)
  • ✨ RESTful API
  • ✨ 健康检查端点
  • ✨ 配置热重载
v0.2.1 (2026-04-14)
  • 🐛 修复适配器返回值问题
  • ✨ 统一安装脚本 v3.0
v0.2.0 (2026-04-13)
  • ✨ 新增 Hysteria2 / TUIC / WireGuard
  • ✨ Clash YAML 完全兼容
  • 🔒 TLS 1.3 支持
v0.1.0 (2026-04-10)
  • 🎉 初始版本

🤝 贡献

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建分支:git checkout -b feature/xxx
  3. 提交更改:git commit -m 'Add xxx'
  4. 推送:git push origin feature/xxx
  5. 提交 PR

📄 许可证

MIT License


Hades — 高性能代理内核

Made with ❤️ by Qing060325

Directories

Path Synopsis
cmd
hades command
Package main 程序入口
Package main 程序入口
hades-sub2config command
cmd/sub2config/main.go - 订阅链接转配置文件工具
cmd/sub2config/main.go - 订阅链接转配置文件工具
internal
app
Package app 应用生命周期管理
Package app 应用生命周期管理
config
Package config 配置管理模块 - Clash YAML 兼容层
Package config 配置管理模块 - Clash YAML 兼容层
service
Package service 跨平台服务管理
Package service 跨平台服务管理
subscription
Package subscription 内部订阅管理
Package subscription 内部订阅管理
version
Package version 提供版本信息
Package version 提供版本信息
pkg
api
Package api RESTful API 实现
Package api RESTful API 实现
component/cidr
Package cidr CIDR 工具
Package cidr CIDR 工具
component/fakeip
Package fakeip Fake-IP DNS 模式
Package fakeip Fake-IP DNS 模式
component/geodata
Package geodata GeoSite 数据加载器
Package geodata GeoSite 数据加载器
component/mmdb
Package mmdb MaxMind DB 读取器
Package mmdb MaxMind DB 读取器
component/process
Package process Linux 进程检测
Package process Linux 进程检测
component/sniffer
Package sniffer 流量嗅探器
Package sniffer 流量嗅探器
core/adapter
Package adapter 代理适配器核心模块
Package adapter 代理适配器核心模块
core/adapter/amneziawg
Package amneziawg Amnezia WireGuard 协议实现 AmneziaWG 是基于 WireGuard 的混淆变体,通过添加垃圾包和随机填充来抵抗 DPI 检测
Package amneziawg Amnezia WireGuard 协议实现 AmneziaWG 是基于 WireGuard 的混淆变体,通过添加垃圾包和随机填充来抵抗 DPI 检测
core/adapter/anytls
Package anytls AnyTLS 协议实现 AnyTLS 使用 TLS 1.3 + 基于密码的密钥派生,在 TLS 连接上多路复用流
Package anytls AnyTLS 协议实现 AnyTLS 使用 TLS 1.3 + 基于密码的密钥派生,在 TLS 连接上多路复用流
core/adapter/hysteria
Package hysteria Hysteria v1 协议实现 Hysteria v1 是基于 QUIC 的高性能代理协议,支持带宽控制和混淆
Package hysteria Hysteria v1 协议实现 Hysteria v1 是基于 QUIC 的高性能代理协议,支持带宽控制和混淆
core/adapter/hysteria2
Package hysteria2 Hysteria2 协议实现 Hysteria2 是基于 QUIC 的高性能代理协议
Package hysteria2 Hysteria2 协议实现 Hysteria2 是基于 QUIC 的高性能代理协议
core/adapter/masque
Package masque MASQUE 协议实现 (RFC 9298) MASQUE 基于 HTTP/3 (QUIC) 协议,支持代理 UDP 和 IP 数据包
Package masque MASQUE 协议实现 (RFC 9298) MASQUE 基于 HTTP/3 (QUIC) 协议,支持代理 UDP 和 IP 数据包
core/adapter/mieru
Package mieru Mieru 协议适配器实现 Mieru 是一种基于 TCP 的代理协议,支持端口跳跃 (port hopping) 和连接复用
Package mieru Mieru 协议适配器实现 Mieru 是一种基于 TCP 的代理协议,支持端口跳跃 (port hopping) 和连接复用
core/adapter/outboundgroup
Package outboundgroup 代理组实现
Package outboundgroup 代理组实现
core/adapter/shadowsocks
Package shadowsocks AEAD 加密实现
Package shadowsocks AEAD 加密实现
core/adapter/shadowsocksr
Package shadowsocksr ShadowsocksR 协议实现 ShadowsocksR 是 Shadowsocks 的增强版本,支持协议和混淆插件
Package shadowsocksr ShadowsocksR 协议实现 ShadowsocksR 是 Shadowsocks 的增强版本,支持协议和混淆插件
core/adapter/snell
Package snell Snell 协议适配器实现
Package snell Snell 协议适配器实现
core/adapter/ssh
Package ssh SSH 协议适配器实现 通过 SSH 隧道进行代理转发,使用 direct-tcpip 通道建立 TCP 连接
Package ssh SSH 协议适配器实现 通过 SSH 隧道进行代理转发,使用 direct-tcpip 通道建立 TCP 连接
core/adapter/sudoku
Package sudoku Sudoku 协议实现 Sudoku 使用基于数独谜题的认证机制,通过 TCP 连接进行代理
Package sudoku Sudoku 协议实现 Sudoku 使用基于数独谜题的认证机制,通过 TCP 连接进行代理
core/adapter/trojan
Package trojan Trojan 协议实现
Package trojan Trojan 协议实现
core/adapter/trusttunnel
Package trusttunnel TrustTunnel 协议实现 TrustTunnel 使用 TLS + SNI 路由,支持 WebSocket 和 gRPC 传输
Package trusttunnel TrustTunnel 协议实现 TrustTunnel 使用 TLS + SNI 路由,支持 WebSocket 和 gRPC 传输
core/adapter/tuic
Package tuic TUIC 协议实现 TUIC 是基于 QUIC 的代理协议
Package tuic TUIC 协议实现 TUIC 是基于 QUIC 的代理协议
core/adapter/vless
Package vless VLESS 协议实现
Package vless VLESS 协议实现
core/adapter/vmess
Package vmess VMess AEAD 加密
Package vmess VMess AEAD 加密
core/adapter/wireguard
Package wireguard WireGuard 协议实现 WireGuard 是现代化的高性能 VPN 协议
Package wireguard WireGuard 协议实现 WireGuard 是现代化的高性能 VPN 协议
core/dialer
Package dialer 拨号器模块
Package dialer 拨号器模块
core/dns
Package dns DNS解析模块
Package dns DNS解析模块
core/group
Package group 代理组模块
Package group 代理组模块
core/listener
Package listener 监听器模块
Package listener 监听器模块
core/listener/redir
Package redir Linux iptables REDIRECT 透明代理入站监听器
Package redir Linux iptables REDIRECT 透明代理入站监听器
core/listener/tproxy
Package tproxy Linux TProxy 透明代理入站监听器 使用 IP_TRANSPARENT socket 选项实现透明代理,支持 TCP 和 UDP
Package tproxy Linux TProxy 透明代理入站监听器 使用 IP_TRANSPARENT socket 选项实现透明代理,支持 TCP 和 UDP
core/listener/tun
Package tun 网络栈实现
Package tun 网络栈实现
core/proxyprovider
Package proxyprovider 订阅格式解析器
Package proxyprovider 订阅格式解析器
core/rules
Package rules 规则引擎 — 扩展规则类型
Package rules 规则引擎 — 扩展规则类型
core/rules/logic
Package logic 逻辑规则 (AND/OR/NOT)
Package logic 逻辑规则 (AND/OR/NOT)
core/rules/provider
Package provider 增强型规则集提供者
Package provider 增强型规则集提供者
core/tunnel
Package tunnel 流量调度中枢 所有入站连接统一经过 tunnel 进行:元数据提取 → DNS 解析 → 规则匹配 → 出站选择 → 流量转发
Package tunnel 流量调度中枢 所有入站连接统一经过 tunnel 进行:元数据提取 → DNS 解析 → 规则匹配 → 出站选择 → 流量转发
dns
Package dns DNS 解析器增强
Package dns DNS 解析器增强
ebpf
Package ebpf 提供 Hades 的 eBPF 加速数据包转发功能。
Package ebpf 提供 Hades 的 eBPF 加速数据包转发功能。
perf/pool
Package pool 内存池模块
Package pool 内存池模块
perf/zerocopy
Package zerocopy 零拷贝模块
Package zerocopy 零拷贝模块
sniffer
Package sniffer 流量嗅探模块
Package sniffer 流量嗅探模块
stats
Package stats 连接跟踪模块
Package stats 连接跟踪模块
subscription
pkg/subscription/subscription.go - 订阅管理
pkg/subscription/subscription.go - 订阅管理
transport
Package transport gRPC 传输实现
Package transport gRPC 传输实现
transport/gost-plugin
Package gostplugin GOST Plugin 传输实现 GOST Plugin 提供 WebSocket 和 gRPC 隧道传输
Package gostplugin GOST Plugin 传输实现 GOST Plugin 提供 WebSocket 和 gRPC 隧道传输
transport/hysteria
Package hysteria Hysteria 传输层
Package hysteria Hysteria 传输层
transport/kcp
Package kcp KCP 传输层实现 KCP 是一种快速可靠的 ARQ 协议,提供比 TCP 更低延迟的可靠传输
Package kcp KCP 传输层实现 KCP 是一种快速可靠的 ARQ 协议,提供比 TCP 更低延迟的可靠传输
transport/masque
Package masque MASQUE 传输层 (HTTP/3 代理)
Package masque MASQUE 传输层 (HTTP/3 代理)
transport/reality
Package reality Reality 协议传输层
Package reality Reality 协议传输层
transport/restls
Package restls RESTLS 混淆传输实现 RESTLS 将 TLS 流量伪装为正常的 HTTPS 流量,通过密码和序列填充来抵抗主动探测
Package restls RESTLS 混淆传输实现 RESTLS 将 TLS 流量伪装为正常的 HTTPS 流量,通过密码和序列填充来抵抗主动探测
transport/shadowtls
Package shadowtls ShadowTLS 混淆传输
Package shadowtls ShadowTLS 混淆传输
transport/simple-obfs
Package simpleobfs Simple Obfs 混淆
Package simpleobfs Simple Obfs 混淆
transport/sing-mux
Package singmux Sing-Mux 多路复用传输实现 Sing-Mux 支持 smux/yamux/h2mux 三种多路复用协议,可配置连接数、流数和暴力模式
Package singmux Sing-Mux 多路复用传输实现 Sing-Mux 支持 smux/yamux/h2mux 三种多路复用协议,可配置连接数、流数和暴力模式
transport/snell
Package snell Snell 协议传输层
Package snell Snell 协议传输层
transport/ssh
Package ssh SSH 传输层
Package ssh SSH 传输层
transport/ssr
Package ssr ShadowsocksR 传输层
Package ssr ShadowsocksR 传输层
transport/v2ray-plugin
Package v2rayplugin V2Ray Plugin 传输实现 V2Ray Plugin 通过 WebSocket 和 TLS 进行流量混淆
Package v2rayplugin V2Ray Plugin 传输实现 V2Ray Plugin 通过 WebSocket 和 TLS 进行流量混淆
transport/xhttp
Package xhttp XHTTP 传输层 (WebSocket/HTTP2/QUIC over HTTP)
Package xhttp XHTTP 传输层 (WebSocket/HTTP2/QUIC over HTTP)
test
integration
Package integration 协议自动化测试套件
Package integration 协议自动化测试套件

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL