Hysteria2 防墙 端口跳跃+nginx+ssl+bbr+ Salamander混淆+http/3伪装安装部署指南
📋 系统要求
服务器要求
| 项目 | 最低要求 | 推荐配置 |
|------|----------|----------|
| 操作系统 | Ubuntu 18.04+ / CentOS 7+ / Debian 9+ | Ubuntu 20.04+ |
| 内存 | 512MB | 1GB+ |
| 存储 | 1GB | 5GB+ SSD |
| 网络 | 1Mbps | 100Mbps+ |
| 架构 | x86_64, ARM64 | x86_64 |
| 内核版本 | 3.10+ | 4.9+ (支持BBR) |
| ROOT权限 |
网络要求
-
公网IP: 必须有独立公网IP
-
端口访问: 能够开放UDP和TCP端口
-
域名 (可选): 用于获取真实SSL证书
-
防火墙: 支持iptables或ufw
✨ 核心特性
| 特性 | 描述 |
|---|---|
| 🎯 一键部署 | 单命令完成所有配置 |
| 🔄 多端口配置 | 支持生成100个不同端口的节点配置 |
| 🔒 Salamander混淆 | 自动生成混淆密码,防DPI检测 |
| 🌐 nginx Web伪装 | TCP端口显示正常企业网站 |
| ⚡ BBR优化 | 启用BBR拥塞控制算法,提升网络性能 |
| 🔒 自动HTTPS证书 | 支持Let’s Encrypt自动申请和续期 |
| 🔧 完整清理 | 删除时自动清理所有配置 |
| 📥 配置下载 | 自动生成并提供多平台配置文件下载 |
核心特性对比
为了更直观地展示两者的差异,我们使用表格进行对比:
| 特性 / 维度 | Hysteria2 | VMess |
|---|---|---|
| 底层协议 | 基于 UDP(QUIC) | 灵活,通常基于 TCP。可与 WebSocket, gRPC, mKCP, QUIC 等结合 |
| 防墙安全性 | 中等。协议本身有强加密,但其基于 UDP 的大流量和行为特征可能被高级防火墙识别。伪装能力相对较弱。 | 极高。尤其是 VMess+WS+TLS 组合,流量在外观上与 HTTPS 完全一致,极难被识别和封锁。 |
| 传输速率 | 极高。专为速度优化,在有丢包和延迟的国际网络中表现尤其出色,通常能跑满带宽。 | 良好。速度依赖底层传输。在网络稳定时速度不错,但在弱网环境下,基于 TCP 的传输会因丢包而严重降速。 |
| 连接延迟 | 极低。基于 QUIC 的 0-RTT/1-RTT 握手,建连速度快,显著降低了访问延迟,适合游戏和实时应用。 | 较高。标准 TCP + TLS 的握手过程需要多次往返,初始连接延迟相对较高。 |
| 稳定性 | 高。QUIC 协议能更好地处理网络波动和丢包,连接不易中断,且支持连接迁移(如切换 Wi-Fi/4G)。 | 依赖网络。在稳定网络下非常可靠。但在高丢包网络中,TCP 连接容易卡顿或中断。 |
| 资源消耗 | 较高。为了实现高速率,其拥塞控制算法对 CPU 和内存的消耗相对较大,尤其是在高速传输时。 | 较低。基础的 VMess+TCP 配置资源占用很小。即使是 VMess+WS+TLS,也比 Hysteria2 更轻量。 |
| 配置复杂度 | 相对简单。核心配置项不多,上手较快。一个二进制文件即可启动服务端和客户端。 | 可简可繁。基础配置简单,但实现 WS+TLS 等高级伪装需要配置反向代理(如 Nginx/Caddy),复杂度较高。 |
📋 基础命令
| 命令 | 功能 |
|---|---|
python3 nginx-hysteria2.py help |
查看帮助 |
python3 nginx-hysteria2.py install --simple |
简化一键部署 |
python3 nginx-hysteria2.py status |
查看状态 |
python3 nginx-hysteria2.py client |
显示客户端配置 |
python3 nginx-hysteria2.py del |
完全删除 |
python3 nginx-hysteria2.py fix |
修复配置 |
kk |
全局管理菜单 (部署后可用) |
🎛️ 全局管理菜单 (kk命令)
部署完成后,您可以在任何位置使用 kk 命令进入交互式管理菜单:
| 选项 | 功能 | 说明 |
|---|---|---|
| 1 | 查看节点信息 | 显示443端口地址和10个随机v2ray地址 |
| 2 | 查看配置文件 | 显示下载链接和本地配置文件状态 |
| 3 | 查看服务状态 | 检查Hysteria2、nginx和端口监听状态 |
| 4 | 重启服务 | 重启Hysteria2服务 |
| 5 | 查看日志 | 显示最新50行日志信息 |
| 6 | 删除服务 | 完全删除Hysteria2服务和配置 |
| 0 | 退出 | 退出管理菜单 |
# 使用方法
kk # 进入管理菜单
🚀 快速安装
方法一:一键部署 (推荐)
# 下载脚本
wget https://raw.githubusercontent.com/zhumengkang/agsb/main/nginx-hysteria2.py
# 或使用curl
curl -O https://raw.githubusercontent.com/zhumengkang/agsb/main/nginx-hysteria2.py
### 方法二:高性能部署
```bash
# 高位端口 + BBR优化 + 完整防护
python3 nginx-hysteria2.py install --simple --port-range 28888-29999 --enable-bbr
方法三:真实证书部署 ⭐推荐
# 自动申请Let's Encrypt证书
python3 nginx-hysteria2.py install --simple \
--domain yourdomain.com \
--use-real-cert \
--email [email protected]
方法四:完整配置部署
# 最强配置 (真实域名 + 自动证书 + BBR + 高位端口)
python3 nginx-hysteria2.py install --simple \
--domain yourdomain.com \
--use-real-cert \
--email [email protected] \
--port-range 28888-29999 \
--enable-bbr \
--password "YourSecurePassword123"
🔧 详细安装流程
阶段一:环境准备
1.1 系统更新
# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
# CentOS/RHEL
sudo yum update -y
# 或 (CentOS 8+)
sudo dnf update -y
1.2 安装依赖
# Ubuntu/Debian
sudo apt install -y python3 python3-pip wget curl openssl
# CentOS/RHEL
sudo yum install -y python3 python3-pip wget curl openssl
1.3 检查Python版本
python3 --version # 需要 Python 3.6+
阶段二:脚本下载与验证
2.1 下载脚本
# 方法1: wget
wget https://raw.githubusercontent.com/zhumengkang/agsb/main/nginx-hysteria2.py
# 方法2: curl
curl -O https://raw.githubusercontent.com/zhumengkang/agsb/main/nginx-hysteria2.py
# 方法3: git clone (开发者)
git clone https://github.com/zhumengkang/hy2.git
cd hy2
2.2 验证脚本
# 检查文件完整性
ls -la nginx-hysteria2.py
file nginx-hysteria2.py
# 查看帮助信息
python3 nginx-hysteria2.py help
📊 完整工作流程详解
🔄 安装工作流程 (12步详细流程)
┌─────────────────────────────────────────────────────────────┐
│ Hysteria2 安装工作流程 │
└─────────────────────────────────────────────────────────────┘
阶段1: 环境检查 (5-10秒)
├── 检查操作系统和架构
├── 验证Python版本
├── 检查网络连接
├── 验证sudo权限
└── 检查域名DNS解析 (如使用真实证书)
阶段2: 目录创建 (1-2秒)
├── 创建 ~/.hysteria2/
├── 创建 ~/.hysteria2/cert/
├── 创建 ~/.hysteria2/config/
├── 创建 ~/.hysteria2/logs/
└── 创建 ~/.hysteria2/web/
阶段3: 下载Hysteria2 (30-120秒)
├── 检测系统架构 (x86_64/arm64)
├── 获取最新版本信息 (v2.6.1)
├── 下载二进制文件 (10-20MB)
├── 验证文件完整性
└── 设置可执行权限
阶段4: 生成安全配置 (2-5秒)
├── 生成16位随机Salamander混淆密码
├── 解析端口范围配置
├── 验证端口可用性
└── 生成密码哈希
阶段5: SSL证书处理 (5-300秒) ⭐核心特性
├── 自签名证书 (5秒)
│ ├── 生成4096位RSA密钥
│ ├── 创建证书签名请求
│ └── 签发自签名证书
└── Let's Encrypt证书 (30-300秒) ⭐自动申请
├── 自动安装certbot
├── 验证域名DNS解析
├── 执行ACME挑战验证
├── 自动获取证书
├── 配置自动续期
└── 设置证书权限
阶段6: Web伪装部署 (3-10秒)
├── 生成企业级伪装网站
├── 创建index.html (逼真企业页面)
├── 创建robots.txt
├── 创建sitemap.xml
├── 创建favicon.ico
└── 设置文件权限
阶段7: Hysteria2配置 (2-5秒)
├── 生成主配置文件
│ ├── 监听端口配置 (UDP)
│ ├── TLS证书配置
│ ├── 认证密码配置
│ ├── Salamander混淆配置
│ ├── HTTP/3伪装配置
│ ├── 带宽优化配置
│ └── 日志配置
└── 验证配置文件语法
阶段8: 端口跳跃配置 (5-15秒)
├── 计算端口范围
│ ├── 默认: 1024-1074 (51个端口)
│ └── 自定义: 如28888-29999 (1112个端口)
├── 配置iptables规则
│ ├── NAT PREROUTING规则
│ ├── INPUT允许规则
│ └── 端口转发规则
├── 保存iptables配置
└── 验证规则生效
阶段9: BBR优化 (10-30秒, 可选)
├── 检查内核版本 (需要4.9+)
├── 检查BBR模块可用性
├── 修改sysctl配置
│ ├── net.core.default_qdisc=fq
│ ├── net.ipv4.tcp_congestion_control=bbr
│ └── 其他网络优化参数
├── 应用配置并验证
└── 显示BBR状态
阶段10: Hysteria2服务启动 (5-10秒)
├── 创建启动脚本
├── 设置可执行权限
├── 后台启动服务
├── 验证端口监听
└── 生成PID文件
阶段11: nginx Web伪装 (10-30秒)
├── 检查nginx安装状态
├── 自动安装nginx (如需要)
├── 配置SSL证书
├── 部署伪装网站文件
├── 创建nginx配置
├── 测试配置语法
├── 启动nginx服务
└── 验证Web服务
阶段12: 配置下载服务 (5-10秒, 端口跳跃模式)
├── 生成v2rayN配置文件
├── 生成Clash Meta配置文件
├── 生成官方客户端JSON配置
├── 启动Python HTTP服务器 (端口8080)
├── 配置下载链接生成
└── 验证下载服务可用性
阶段13: 最终输出与验证 (2-5秒)
├── 生成一键导入链接
├── 整理服务器信息
├── 显示防护特性
├── 提供配置下载链接
├── 显示使用提醒
└── 显示作者信息
🛡️ 技术架构说明
Hysteria2 核心特性
基于UDP/QUIC协议
-
Hysteria2是基于UDP协议的代理工具
-
使用QUIC协议确保数据传输的可靠性
-
不支持TCP转发,所有流量通过UDP承载
-
不支持FakeTCP模式
真正支持的功能
-
✅ 端口跳跃 (Port Hopping): 客户端可连接端口范围内任意端口
-
✅ Salamander混淆: 内置的流量混淆算法,防DPI检测
-
✅ HTTP/3伪装: 流量伪装成正常HTTP/3网站访问
-
❌ FakeTCP: 此功能不存在于Hysteria2中
端口跳跃技术详解
工作原理:
-
客户端可连接端口范围内的任意端口 (如: 28888-29999)
-
iptables DNAT规则将这些端口的流量转发到Hysteria2监听端口
-
Hysteria2在固定端口(如443)监听,处理所有转发来的流量
iptables规则示例:
# DNAT转发规则
iptables -t nat -A PREROUTING -p udp --dport 28888:29999 -j DNAT --to-destination :443
# INPUT允许规则
iptables -A INPUT -p udp --dport 28888:29999 -j ACCEPT
iptables -A INPUT -p udp --dport 443 -j ACCEPT
优势:
-
防止单一端口被封锁
-
增加检测和封锁的难度
-
提供更好的连接稳定性
-
客户端可以使用范围内任意端口连接
🔧 安装后验证
验证服务状态
# 查看Hysteria2服务状态
python3 nginx-hysteria2.py status
# 检查端口监听 (应该看到443端口UDP监听)
sudo ss -anup | grep hysteria
sudo ss -anup | grep :443
# 检查iptables规则
sudo iptables -t nat -L PREROUTING -n
sudo iptables -L INPUT -n | grep -E "(1024|28888|443)"
验证Web伪装
# 测试nginx状态
sudo nginx -t
sudo systemctl status nginx
# 测试Web访问
curl -k https://localhost
curl -k https://你的服务器IP
# 检查TCP端口监听
sudo ss -antp | grep :443
sudo ss -antp | grep :80
验证BBR优化 (如果启用)
# 检查BBR状态
cat /proc/sys/net/ipv4/tcp_congestion_control
# 查看可用拥塞控制算法
cat /proc/sys/net/ipv4/tcp_available_congestion_control
# 检查网络参数
sysctl net.ipv4.tcp_congestion_control
sysctl net.core.default_qdisc
验证配置下载服务 (端口跳跃模式)
# 检查HTTP服务器状态
curl http://localhost:8080/
curl http://你的服务器IP:8080/
# 测试配置文件下载
curl -O http://你的服务器IP:8080/v2rayn.yaml
curl -O http://你的服务器IP:8080/clash.yaml
curl -O http://你的服务器IP:8080/hysteria2.json
🔍 故障排除
常见安装问题
1. 权限不足
# 确保有sudo权限
sudo whoami
# 检查Python权限
python3 --version
which python3
2. 网络连接问题
# 测试GitHub连接
curl -I https://github.com
# 测试下载
wget --spider https://github.com/apernet/hysteria/releases/latest
3. 端口冲突
# 检查端口占用
sudo ss -anup | grep :443
sudo lsof -i :443
# 停止冲突服务
sudo systemctl stop apache2
sudo systemctl stop nginx
4. 防火墙问题
# 检查防火墙状态
sudo ufw status verbose
sudo iptables -L -n
# 临时关闭防火墙测试
sudo ufw disable
5. DNS解析问题 (真实证书)
# 检查域名解析
nslookup yourdomain.com
dig yourdomain.com A
# 检查域名指向
ping yourdomain.com
日志分析
Hysteria2日志
# 查看运行日志
tail -f ~/.hysteria2/logs/hysteria.log
# 查看启动日志
cat ~/.hysteria2/start.log
# 检查错误信息
grep -i error ~/.hysteria2/logs/hysteria.log
nginx日志
# 查看nginx错误日志
sudo tail -f /var/log/nginx/error.log
# 查看nginx访问日志
sudo tail -f /var/log/nginx/access.log
# 检查配置测试
sudo nginx -t
系统日志
# 查看系统日志
sudo journalctl -xe
# 查看网络相关日志
sudo dmesg | grep -i network
# 查看iptables日志 (如果启用)
sudo tail -f /var/log/kern.log | grep iptables
📋 环境检查清单
安装前检查
-
☐ 操作系统: Ubuntu 18.04+ / CentOS 7+ / Debian 9+
-
☐ 内存: 至少512MB可用内存
-
☐ 存储: 至少1GB可用存储空间
-
☐ 网络: 稳定的互联网连接
-
☐ 权限: sudo管理员权限
-
☐ Python: Python 3.6+ 已安装
-
☐ 端口: 443端口未被占用 (或选择其他端口)
-
☐ 域名: 域名已解析到服务器 (如使用真实证书)
安装后检查
-
☐ 服务状态: Hysteria2服务正常运行
-
☐ 端口监听: UDP端口正常监听
-
☐ iptables规则: 端口转发规则生效
-
☐ nginx状态: Web伪装正常工作
-
☐ 证书验证: SSL证书有效
-
☐ 配置生成: 客户端配置正确生成
-
☐ 下载服务: 配置下载服务可用 (端口跳跃模式)
-
☐ 防火墙: 必要端口已开放
💡 优化建议
性能优化
-
使用高位端口: 如28888-29999,减少端口冲突
-
启用BBR: 提升UDP传输性能
-
使用SSD: 提高IO性能
-
增加带宽: 在配置中设置合适的带宽限制
-
优化内核参数: 调整网络缓冲区大小
安全优化
-
使用真实证书: Let’s Encrypt自动证书更安全
-
定期更换密码: 包括连接密码和混淆密码
-
监控访问日志: 定期检查异常访问
-
最小权限原则: 仅开放必要的端口
-
定期更新: 保持软件版本最新
隐蔽性优化
-
自定义Web内容: 修改伪装网站内容
-
使用企业域名: 看起来更像正常企业网站
-
配置CDN: 隐藏真实服务器IP
-
调整端口范围: 使用看起来正常的端口范围
-
限制访问频率: 避免异常的高频访问
👨💻 作者信息
-
作者: 康康
-
Github: https://github.com/zhumengkang/
-
Telegram: https://t.me/+WibQp7Mww1k5MmZl
⚠️ 免责声明: 此工具仅供学习和技术研究使用,请遵守当地法律法规。
评论区