Hysteria 是一个基于 Scuttlebutt 协议的点对点网络框架,常用于匿名网络和去中心化应用(DAG),配置 Hysteria 节点的过程相对简单,但需要注意一些关键配置参数,以下是配置 Hysteria 节点的基本步骤和常见配置: 确保你的环境已经安装了必要的依赖,Hysteria 可以通过 npm 安装:
npm install -g hysteria
如果你打算从源码编译,可以先克隆仓库:
git clone https://github.com/hypercore/hyperbee.git cd hyperbee npm install
配置 Hysteria 节点
Hysteria 节点的配置主要通过命令行参数或配置文件进行,以下是常见的配置参数:
1 启动 Hysteria 节点
默认情况下,Hysteria 节点可以通过以下命令启动:
hysteria start
如果需要指定配置文件,可以使用 --config 选项:
hysteria start --config config.json
2 配置文件
配置文件通常位于 config.json,以下是一个示例配置:
{
"api": {
"port": 5186, // API 服务端口
"ip": "...", // 节点的网络接口
"listen": true // 是否监听 API 请求
},
"network": {
"id": "your-node-id", // 节点的唯一标识符
"secret": "your-secret-key", // 节点的密钥
"addr": "your-node-address", // 节点的地址(可选)
"role": "leaf" // 节点角色(可选,默认为 leaf)
},
"db": {
"type": "leveldb", // 使用的数据库类型,默认为 leveldb
"path": "~/.hysteria/db", // 数据库存储路径
"keepalive": true // 是否保持数据库活跃
},
"networking": {
"outgoing": {
"enabled": true, // 是否启用出边
"peers": ["some-peer-address"], // 已知的朋友地址
"num_peers": 10, // 最大邻居数量
"metric": 256 // 启发式度量
},
"incoming": {
"enabled": true, // 是否启用入边
"peers": ["some-peer-address"], // 已知的朋友地址
"num_peers": 10, // 最大邻居数量
"metric": 256 // 启发式度量
}
}
}
3 数据库配置
Hysteria 使用 levelup 库,默认会在用户目录下生成数据库文件,可以通过配置文件中的 db 部分调整数据库类型和路径。
运行和验证
运行 Hysteria 节点后,可以通过以下命令验证节点是否正常运行:
hysteria status
可以通过浏览器访问节点的 API 端口(默认为 5186)来验证节点是否在线:
curl http://localhost:5186/api/health
常见配置问题
- 网络配置:确保你的节点能够连接到其他节点,如果是新节点,可以指定一个已知的朋友地址(
peers)来 bootstrap 节点。 - 数据库配置:如果数据库路径不正确,Hysteria 可能无法正常运行,确保数据库路径是可写的,并且有足够的权限。
- 防火墙设置:Hysteria 节点需要与外部网络通信,确保防火墙允许相关端口(如 5186)。
进阶优化
- 性能优化:调整网络参数(如
num_peers和metric)以优化节点性能。 - 安全性:确保节点的密钥和秘密键保密,避免被恶意攻击。
- 网络稳定性:定期检查网络连接,确保节点能够保持长时间连接。









