Files
waxgourd-addons/easytier/DOCS.md
2026-01-16 20:27:01 +08:00

200 lines
5.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Easytier
## 关于
基于 EasyTier 的高性能虚拟组网工具,支持三种组网模式:快速组网、官方 Web 控制台、自建 Web 控制台。通过纯环境变量配置,提供简洁安全的用户体验。
### 🚀 功能特性
- ✅ 三模式支持:快速组网 / 官方 Web 控制台 / 自建 Web 控制台
- ✅ 纯环境变量配置:通过 ET_* 环境变量管理所有参数,无需复杂 UI
- ✅ 多架构兼容:支持 aarch64、amd64覆盖树莓派、x86 服务器)
- ✅ Alpine Linux 优化:使用 #!/bin/sh镜像体积最小化
- ✅ 安全第一:自动清理环境变量首尾空格,防止配置错误
- ✅ 优雅关闭:正确处理 SIGTERM/SIGINT 信号,确保资源正确释放
- ✅ 完整参数支持:支持 EasyTier 所有配置参数60+ 个环境变量)
### 🛠️ 安装方法
**方式一:通过 GitHub 仓库(推荐)**
1. 进入 设置 → 加载项 → 加载项商店
1. 点击右上角菜单 → 仓库
1. 添加仓库地址https://gitcode.com/waxgourd/addons
1. 在商店中找到 EasyTier 并点击安装
### 🛠️ 配置说明
**核心配置方式**
本插件**主要通过 `env_vars`** 配置所有参数,同时保留 `username` 作为 Web 控制台模式的快捷输入方式。
#### username 快捷方式
对于 **Web 控制台模式**,可直接在插件配置界面填写 `username`,无需通过 `env_vars` 设置 `ET_CONFIG_SERVER`
** 示例 **
```yaml
username: "myuser" # 等价于 env_vars.ET_CONFIG_SERVER=myuser
```
**注意**username 仅用于 Web 控制台模式,不能与 ET_CONFIG_SERVER 同时设置。
### 快速组网必需参数
| 参数 | 说明 | 是否必需 |
| ------------------- | ------ | ----------------- |
| `ET_NETWORK_NAME` | 网络名称 | ✅ 必须 |
| `ET_NETWORK_SECRET` | 网络密码 | ⚠️ 强烈推荐(允许空,但有警告) |
| `ET_PEERS` | 对等节点地址 | ⚠️ 推荐(允许空,但有警告) |
| `ET_DHCP` | DHCP模式 | ❌ 可选(默认`false` |
###
**三种运行模式**
**模式一:快速组网(推荐新手)**
通过公共节点 + 密码快速打通多设备。
**必须参数:**
- ET_NETWORK_NAME网络名称
- ET_NETWORK_SECRET网络密码强烈推荐
- ET_PEERS对等节点地址如 tcp://public.easytier.cn:11010
**配置示例**
```yaml
env_vars:
- name: "ET_NETWORK_NAME"
value: "myhome"
- name: "ET_NETWORK_SECRET"
value: "secure-password"
- name: "ET_DHCP"
value: "true"
- name: "ET_PEERS"
value: "tcp://public.easytier.cn:11010"
```
**模式二:官方 Web 控制台**
通过 https://easytier.cn/web 统一管理节点
**必需参数:**
- ET_CONFIG_SERVER用户名在官网注册
**配置示例:**
```yaml
env_vars:
- name: "ET_CONFIG_SERVER"
value: "myuser"
- name: "ET_CONSOLE_LOG_LEVEL"
value: "info"
```
或者使用快捷方式:
```yaml
username: "myuser"
```
**模式三:自建 Web 控制台**
**必需参数:**
- ET_CONFIG_SERVER自建服务器 URL如 http://192.168.1.100:22020/myuser
**配置示例:**
```yaml
env_vars:
- name: "ET_CONFIG_SERVER"
value: "http://myserver:22020/myuser"
- name: "ET_MACHINE_ID"
value: "server-01"
```
### 完整配置选项
可使用 `easytier-core --help` 查看全部配置项。
### 基础设置
#### 配置服务器
**完整列表参考**https://easytier.cn/guide/network/configurations.html
### 🌟 高级配置示例
**示例1家庭多设备互通快速组网 + 子网代理)**
```yaml
env_vars:
- name: "ET_NETWORK_NAME"
value: "home-network"
- name: "ET_NETWORK_SECRET"
value: "my-secure-key"
- name: "ET_DHCP"
value: "true"
- name: "ET_PEERS"
value: "tcp://public.easytier.cn:11010"
- name: "ET_PROXY_NETWORKS"
value: "192.168.10.0/24,192.168.20.0/24"
- name: "ET_MACHINE_ID"
value: "ha-main-server"
```
**示例2企业私有网络自建控制台 + 高级日志)**
```yaml
env_vars:
- name: "ET_CONFIG_SERVER"
value: "http://config.internal:22020/myuser"
- name: "ET_CONSOLE_LOG_LEVEL"
value: "debug"
- name: "ET_FILE_LOG_DIR"
value: "/config/easytier-logs"
- name: "ET_DISABLE_UDP_HOLE_PUNCHING"
value: "false"
- name: "ET_SOCKS5"
value: "1080"
```
**示例3最小化配置官方控制台**
```yaml
env_vars:
- name: "ET_CONFIG_SERVER"
value: "myuser"
```
### 🔍 故障排查
**问题1插件启动失败**
**现象**:容器不断重启
**解决**
1. 检查日志:**加载项 → EasyTier → 日志**
1. 确认 ET_CONFIG_SERVER 或 ET_NETWORK_NAME 已配置
1. 验证 env_vars 格式正确name/value 均为字符串)
**问题2节点无法互通**
**检查步骤**
- **防火墙**:确认路由器/系统防火墙放行了相关端口
- **对等节点**:检查 ET_PEERS 是否正确配置
- **网络名称**:所有节点的 ET_NETWORK_NAME 必须完全相同
- **网络密钥**:所有节点的 ET_NETWORK_SECRET 必须完全相同
**问题3配置包含空格**
**现象**:配置值异常或无法识别
**解决:**
本插件**自动清理**所有环境变量 name 和 value 的首尾空格。但请避免在值**中间**添加不必要的空格
**错误示例**
```yaml
- name: "ET_PEERS"
value: " tcp://1.1.1.1:11010, udp://2.2.2.2:11011 " # ❌ 首尾空格
```
**正确示例**
```yaml
- name: "ET_PEERS"
value: "tcp://1.1.1.1:11010,udp://2.2.2.2:11011" # ✅ 无多余空格
```
**问题4Web 控制台不显示节点**
**检查**
1. 确认 ET_CONFIG_SERVER 用户名正确
1. 检查 ET_FILE_LOG_LEVEL=debug 日志,确认连接到 web.easytier.cn
1. 等待 30-60 秒Web 控制台有延迟
**问题5日志文件找不到**
**解决**
```yaml
env_vars:
- name: "ET_FILE_LOG_DIR"
value: "/config/logs" # 使用 /config 目录确保持久化
```