From 126f2b6e6c952882aa437781e5c2aa4fe87ea4f8 Mon Sep 17 00:00:00 2001 From: waxgourd Date: Fri, 16 Jan 2026 20:25:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E4=BA=86emby=E3=80=81filebro?= =?UTF-8?q?wser-wg=E3=80=81zigbee2mqtt=E3=80=81filebrowser=EF=BC=9B=20?= =?UTF-8?q?=E9=A6=96=E6=AC=A1=E6=8E=A8=E5=87=BAeasytier;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- easytier/CHANGELOG.md | 2 + easytier/DOCS.md | 200 ++++++++++++++++++++++++++++++++++++ easytier/README.md | 12 +++ easytier/config.yaml | 25 +++++ easytier/icon.png | Bin 0 -> 1420 bytes easytier/logo.png | Bin 0 -> 1420 bytes emby/CHANGELOG.md | 2 + emby/config.yaml | 2 +- filebrowser-wg/CHANGELOG.md | 4 + filebrowser-wg/config.json | 132 ------------------------ filebrowser-wg/config.yaml | 126 +++++++++++++++++++++++ filebrowser/CHANGELOG.md | 4 + filebrowser/config.yaml | 2 +- zigbee2mqtt/CHANGELOG.md | 2 + zigbee2mqtt/config.json | 2 +- 15 files changed, 380 insertions(+), 135 deletions(-) create mode 100644 easytier/CHANGELOG.md create mode 100644 easytier/DOCS.md create mode 100644 easytier/README.md create mode 100644 easytier/config.yaml create mode 100644 easytier/icon.png create mode 100644 easytier/logo.png delete mode 100644 filebrowser-wg/config.json create mode 100644 filebrowser-wg/config.yaml diff --git a/easytier/CHANGELOG.md b/easytier/CHANGELOG.md new file mode 100644 index 0000000..a2cdf2a --- /dev/null +++ b/easytier/CHANGELOG.md @@ -0,0 +1,2 @@ +## 2.5.0 (2026-01-13) +- 首次推出 \ No newline at end of file diff --git a/easytier/DOCS.md b/easytier/DOCS.md new file mode 100644 index 0000000..40aed70 --- /dev/null +++ b/easytier/DOCS.md @@ -0,0 +1,200 @@ +# 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" # ✅ 无多余空格 +``` + +**问题4:Web 控制台不显示节点** + +**检查**: +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 目录确保持久化 +``` \ No newline at end of file diff --git a/easytier/README.md b/easytier/README.md new file mode 100644 index 0000000..44f7803 --- /dev/null +++ b/easytier/README.md @@ -0,0 +1,12 @@ +# 冬瓜甄选Addons:Easytier + +EasyTier 是一款简单、安全、去中心化的内网穿透和异地组网工具,适合远程办公、异地访问、游戏加速等多种场景。无需公网 IP,无需复杂配置,轻松实现不同地点设备间的安全互联。 + + +## 来源 + +- 官网: https://easytier.cn +- Github: https://github.com/EasyTier/EasyTier/releases +- Dockerhub: https://m.daocloud.io/docker.io/easytier/easytier +- Web 控制台:https://easytier.cn/web +- 公共节点状态:https://uptime.easytier.cn \ No newline at end of file diff --git a/easytier/config.yaml b/easytier/config.yaml new file mode 100644 index 0000000..c285fee --- /dev/null +++ b/easytier/config.yaml @@ -0,0 +1,25 @@ +name: "EasyTier" +version: "2.5.0" +slug: "easytier" +description: "基于EasyTier的快速组网工具" +url: "https://gitcode.com/waxgourd/addons" +image: "r.hassbus.com/wghaos/easytier" +arch: + - aarch64 + - amd64 +startup: services +boot: auto +map: + - config:rw +host_network: true +privileged: + - NET_ADMIN + - NET_RAW +options: + username: "" + env_vars: [] +schema: + username: str? + env_vars: + - name: str? + value: str? \ No newline at end of file diff --git a/easytier/icon.png b/easytier/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..26c6d8f15179f9df6fe0ebd5310aa105a366d9f1 GIT binary patch literal 1420 zcmV;71#|j|P)C zFlJjCRLeA-0JebZ>&h}n!VGM20~4Uoezu|K1M1|^0~l-~hsPZKW0)O*ZlVL~%|PDZ z-%1AHu6otfI2$&U48XlU{!w&zhe@&s0g#z)si_FhVF}O!(-~)=ClzGw0a!_4FLetr zM1X;&EJVW607ml3IRG~XRhF8*1^DU60fsFS>$C<}|7gYL{K5buz)zu7=>wE8P`?0b zA3*NGRjGY|TRlL1fGkPu!McOnSGf<00K_{qN7`0b;zHs{p~Vx%`On!CSIJ77ZN}*b-i(5JR;s5P;Bu&xa5irx>4rY(p3I zmq6zY!Y4xkSZ;zD*UyBF8$lI7W5XES)KN@9=AiI|h&M8KG8#2NU6 z#2b2mW)MOTs^RA(fky_RSqLBKHqOWAj4?gn!>}a)b7Q_mFMxRG@MN1>cP9bH*xuG4 zhYr9tZ#+O#xsS#OvE2yR8WR9_uFx1^E&$g6@+oCKIyLkzp8<2;h~n0?{a3+y(+2PRHuz-}PUb=K34R_t&gOwQ6Ag~gewm5g zwE(@f@bA@VIl1fy#yQxR?tY*;Tbi%|N;^`2OZ#$9tO~x`l^-X&^1uB;&oe3H>P|hA z;2R&3Z`3{C$QMJ;JB!CC(Y;S{d_YZw0pCR^OahKjIx*5a*N?wg9<5>AX zYaZ0k*?h72&1W~pI21Ml6*(`&GMt9ALeK3V>g`;MMDn0{2Z8Jxb`=;PDM$N|8o83ig|u zgp`63=fPZ4&{uf}ZKatwK{_Q3)1?HRzhxPWb~Sb+u#5l&=w-T=AOS3#WIN6!K-s?Z z^{rM(-Rqi^NGmjmH}>*sE~d_xco-_KZ7i{X6>k8T09AesB~C0|w-*v-n&ggvnWk*@ zg#flcKyV6EFKgVcrUBDb05rK!b$0)_uxu9a6prf?_zg#>2|NQc_GVOuGYb$sUX z;+flIaZu0#uxCadS_U{V1#KAOwTS6z-v#sH1z%Z);_`Lnlb7Y<>U>@I*Sel=GCyX6 a+wuq7Un^4w()P9h0000C zFlJjCRLeA-0JebZ>&h}n!VGM20~4Uoezu|K1M1|^0~l-~hsPZKW0)O*ZlVL~%|PDZ z-%1AHu6otfI2$&U48XlU{!w&zhe@&s0g#z)si_FhVF}O!(-~)=ClzGw0a!_4FLetr zM1X;&EJVW607ml3IRG~XRhF8*1^DU60fsFS>$C<}|7gYL{K5buz)zu7=>wE8P`?0b zA3*NGRjGY|TRlL1fGkPu!McOnSGf<00K_{qN7`0b;zHs{p~Vx%`On!CSIJ77ZN}*b-i(5JR;s5P;Bu&xa5irx>4rY(p3I zmq6zY!Y4xkSZ;zD*UyBF8$lI7W5XES)KN@9=AiI|h&M8KG8#2NU6 z#2b2mW)MOTs^RA(fky_RSqLBKHqOWAj4?gn!>}a)b7Q_mFMxRG@MN1>cP9bH*xuG4 zhYr9tZ#+O#xsS#OvE2yR8WR9_uFx1^E&$g6@+oCKIyLkzp8<2;h~n0?{a3+y(+2PRHuz-}PUb=K34R_t&gOwQ6Ag~gewm5g zwE(@f@bA@VIl1fy#yQxR?tY*;Tbi%|N;^`2OZ#$9tO~x`l^-X&^1uB;&oe3H>P|hA z;2R&3Z`3{C$QMJ;JB!CC(Y;S{d_YZw0pCR^OahKjIx*5a*N?wg9<5>AX zYaZ0k*?h72&1W~pI21Ml6*(`&GMt9ALeK3V>g`;MMDn0{2Z8Jxb`=;PDM$N|8o83ig|u zgp`63=fPZ4&{uf}ZKatwK{_Q3)1?HRzhxPWb~Sb+u#5l&=w-T=AOS3#WIN6!K-s?Z z^{rM(-Rqi^NGmjmH}>*sE~d_xco-_KZ7i{X6>k8T09AesB~C0|w-*v-n&ggvnWk*@ zg#flcKyV6EFKgVcrUBDb05rK!b$0)_uxu9a6prf?_zg#>2|NQc_GVOuGYb$sUX z;+flIaZu0#uxCadS_U{V1#KAOwTS6z-v#sH1z%Z);_`Lnlb7Y<>U>@I*Sel=GCyX6 a+wuq7Un^4w()P9h0000