160 Commits
Author SHA1 Message Date
github-actions[bot]andClaude Opus 5.5 9c51d3f8d2 feat: 适配 EasyTier 2.7.0(破坏性参数迁移、新参数补齐、连接信息加载优化与完整中文 i18n)
- 版本统一到 2.7.0:version.mk、easytier/easytier-noweb/luci-app-easytier 的 PKG_VERSION、
  download.sh 与 init.d 的兜底 tag、upload.htm 占位符与前端兜底值,全部由 2.6.x 改为 v2.7.0。
  luci-app-easytier/Makefile 新增 PKG_PO_VERSION:=$(PKG_VERSION),使 i18n 语言包 ipk 的
  文件名跟随插件版本号,而不是 LuCI feed 的 git 时间戳版本(git-YY.DDD.SSSSS-hash)。

- VPN Portal 破坏性变更适配:2.7.0 起 --vpn-portal 只接受 wg://主机:端口,客户端必须用
  --vpn-portal-client 名称=网段 逐个枚举,且门户必须有私钥,否则实例启动即退出。
  init.d 按新格式拆分拼接并做格式/私钥校验,遇到旧写法(URL path 带网段)或缺私钥时
  跳过门户启动并写入中文日志提示;CBI 新增 VPN 门户客户端列表(DynamicList)与门户私钥
  (password,经 ET_VPN_PORTAL_PRIVATE_KEY 环境变量下发,避免出现在进程命令行);
  config.toml 增加新版 [vpn_portal_config] 注释示例,并说明顶层 rpc_portal 会被静默忽略
  (RPC 端口只能由 -r 指定)。

- 补齐 2.7.0 常用新参数(CBI 表单 + get_etconfig 读取 + 命令行拼接):
  --disable-upnp、--lazy-p2p、--need-p2p、--disable-relay-quic、
  --enable-relay-foreign-network-quic、--tld-dns-zone、--instance-recv-bps-limit、
  --socket-mark、--stun-servers、--tcp-stun-servers;--multi-thread 改为始终显式传
  true/false,避免 2.7.0 默认值变化导致界面勾选与实际运行不一致。

- easytier-web 新增参数:--heartbeat-min-response-ms、--heartbeat-timeout-ms、
  --gateway-peer-url、--gateway-relay-data(init.d 拼接 + controller 读写 +
  easytier_web.htm 表单字段)。

- 配置文件模式容错:check_config 改为同步执行 --check-config 并检查退出码,校验失败时把
  2.7.0 更严格的解析规则(旧 [vpn_portal_config] client_cidr、[flags] 未知键)写入日志提示。

- 进程守护:core 与 web 的 procd respawn 显式设为 3600 5 20(存活满 1 小时归零,
  1 小时内崩溃超过 20 次才判定为崩溃循环并放弃拉起),避免参数配置错误时无限重启刷日志。

- 连接信息卡片加载优化:改为按标签页按需拉取(parts 参数),CLI 结果在
  /tmp/easytier_conninfo 缓存 3 秒,只刷新当前标签页,移除每 5 秒全量 XHR.poll 与重复请求;
  前端改为 10 秒自动刷新、页面隐藏时跳过,XHR 增加 20 秒超时与失败提示,改善低性能设备体验。

- Web 服务器地址文案:说明 EasyTier 2.7.0 起必须填写完整 URL
  (udp://config-server.easytier.cn:22020/账户名),帮助文案与占位符同步更新。

- i18n 补全:新增统计指标(traffic_*、peer_rpc_errors、tcp_proxy_connect、
  udp_broadcast_relay_*、vpn_portal_* 等)与 ACL 规则统计(字段名、动作/协议/连接状态等取值)
  的中文翻译,po/templates 同步更新,cli.htm 增加 ACL 与统计输出的翻译映射。

feat: adapt to EasyTier 2.7.0 (breaking CLI/config migration, new flags, faster
connection-info loading, complete Chinese i18n)

- Bump every version string to 2.7.0 (version.mk, easytier/easytier-noweb/
  luci-app-easytier Makefiles, download.sh and init.d fallbacks, upload.htm placeholders),
  and set PKG_PO_VERSION:=$(PKG_VERSION) so the i18n ipk filename follows the plugin
  version instead of the LuCI feed git timestamp (git-YY.DDD.SSSSS-hash).
- Handle the breaking VPN Portal changes in 2.7.0: --vpn-portal now accepts only
  wg://host:port, clients must be enumerated via --vpn-portal-client NAME=CIDR and a
  private key is required, otherwise the instance exits on startup. init.d validates and
  splits accordingly and skips the portal with a Chinese log hint on legacy values or a
  missing key; CBI gains a client list (DynamicList) and a private-key field (password,
  passed via the ET_VPN_PORTAL_PRIVATE_KEY environment variable so it stays out of the
  process command line); config.toml documents the new [vpn_portal_config] layout and the
  silently ignored top-level rpc_portal (RPC port is only settable through -r).
- Add commonly used new flags: --disable-upnp, --lazy-p2p, --need-p2p,
  --disable-relay-quic, --enable-relay-foreign-network-quic, --tld-dns-zone,
  --instance-recv-bps-limit, --socket-mark, --stun-servers, --tcp-stun-servers;
  --multi-thread is now always passed explicitly as true/false.
- Add new easytier-web options: --heartbeat-min-response-ms, --heartbeat-timeout-ms,
  --gateway-peer-url, --gateway-relay-data (init.d, controller and easytier_web.htm).
- Run --check-config synchronously in check_config and check its exit code, logging the
  stricter 2.7.0 parsing rules (legacy [vpn_portal_config] client_cidr, unknown [flags]
  keys) on failure.
- Set procd respawn to 3600 5 20 for both core and web (counter reset after one hour of
  uptime; give up only after more than 20 crashes within an hour) to avoid endless
  restart loops on misconfiguration.
- Speed up the connection-info card: per-tab on-demand fetching with a 3-second
  server-side cache, refresh only the active tab, drop the 5-second full XHR.poll;
  the front end now refreshes every 10 seconds, skips while the page is hidden, and uses
  a 20-second XHR timeout with proper error handling.
- Document that the Web server address requires a full URL since EasyTier 2.7.0.
- Complete Chinese translations for stats metrics and ACL rule output.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 15:11:00 +08:00
lmq8267 79b2b01ded Merge pull request #181 from ygxbnet/main 2026-09-25 19:43:30 +08:00
YGXB_net fbb37ec460 更新官方配置文件生成器链接 2026-09-25 10:41:15 +00:00
lmq8267andClaude Opus 4.8 5a6040b44b fix: 停止自动放行 SOCKS5 端口到 WAN,避免无认证代理暴露公网
此前只要配置了 socks_port,init.d 就会无条件在 WAN 区域放行该 TCP
端口,且绕过 auto_config_firewall 总开关。EasyTier --socks5 是无认证
SOCKS5 代理,暴露公网后任何人均可借节点做匿名代理或直通虚拟内网,
存在严重安全隐患。

现注释掉 init.d/easytier 与 firewall.sh 中的自动放行逻辑:
- 本地/局域网仍可通过 --socks5 正常使用代理(lan 区域默认放行)
- 需要公网访问时手动在 LuCI 防火墙页面添加规则
- 保留 stop_service / clean_firewall_rules 中的规则清理逻辑

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-31 15:58:16 +08:00
lmq8267 87efe0f201 Merge pull request #175 from zhouzhiwen2000/fix/in-place-log-rotation
fix: rotate EasyTier logs in place
2026-07-29 15:32:45 +08:00
Zhiwen Zhou c69c0869ae fix: rotate EasyTier logs in place 2026-07-28 21:40:03 +08:00
lmq8267andGPT-5 Codex 3ad6a22cbf Improve package docs and LuCI layout
中文说明:

- 在 GitHub Actions 构建产物中生成 README_PACKAGE.md,补充 IPK/APK 包用途、安装顺序、手动上传和常见问题说明。

- 优化 EasyTier 日志页面布局,改进移动端显示,并将自动刷新按钮调整为开关控件。

- 调整 Web 控制台配置页为更紧凑的响应式布局。

- 为 proxy_network 启动参数增加引用,避免包含特殊字符时被 shell 拆分。

English summary:

- Generate README_PACKAGE.md in GitHub Actions artifacts with package roles, install order, manual upload notes, and troubleshooting for IPK/APK packages.

- Improve the EasyTier log page layout, mobile rendering, and replace the auto-refresh button with a switch control.

- Make the web console settings page more compact and responsive.

- Quote proxy_network startup arguments to avoid shell word splitting when values contain special characters.

Co-authored-by: GPT-5 Codex <noreply@openai.com>
2026-06-24 12:00:44 +08:00
lmq8267andClaude Opus 4.7 89b3c27535 修复状态页面虚拟网卡名称始终显示tun0的问题及请求被取消时页面卡死的问题
- 修复 act_status() 读取错误的 UCI 键名 (dev_name → tunname),导致自定义虚拟网卡名称始终不生效,状态页面接口卡片右上角始终显示 tun0
- 为 api_status 轮询回调添加空值保护 (if (!data) return;),防止后端异常时页面卡在"正在获取中"
- 修复 refreshConnInfo 中 isRefreshing 死锁问题,添加 xhr.onerror/onabort 处理,防止手动刷新请求被取消后 UI 永运卡在加载状态
- 为 api_conninfo 轮询回调添加 data 空值检查,避免无效数据覆盖 UI

Fix #165: Status page always shows tun0 for virtual NIC name and UI freezes on cancelled requests

- Fix wrong UCI key (dev_name → tunname) in act_status() so custom dev-name is correctly displayed on status page
- Add null check in api_status poll callback to prevent UI stuck on "Collecting data..."
- Fix isRefreshing deadlock in refreshConnInfo by adding xhr.onerror/onabort handlers
- Add data null check in api_conninfo poll callback

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 12:12:55 +08:00
lmq8267 bbe6b84f72 修复 extra_args 空格参数解析
Fix extra_args parsing for arguments with spaces
v2.6.4
2026-05-16 09:33:27 +08:00
lmq8267 39d7eda9c5 v2.6.4
中文说明:
- 在线解压前增加 unzip 可用性检查
- 对 network_name、network_secret、hostname 使用 shell 安全转义
- 取消 network_name 特殊字符限制,并增加 extra_args 重复项校验
- 保留多行 extra_args 每项中的空格
- 修复启动参数页面显示不完整问题,并增加一键复制及翻译

English notes:
- add unzip availability check before online extraction
- quote network_name, network_secret, and hostname safely for shell execution
- relax network_name character validation and add duplicate extra_args validation
- preserve spaces in multi-line extra_args entries
- fix command-line display truncation and add copy action with translations
2026-05-16 09:01:07 +08:00
lmq8267 91fd7f0938 Merge pull request #157 from Cathgao/main
修复 easytier-noweb INSTALL_BIN 导致的 Segmentation fault
2026-05-16 07:08:32 +08:00
Cathgao c3376e4e6f 修复 easytier-noweb INSTALL_BIN 导致的 Segmentation fault
与 easytier 包一致,使用 $(CP) + chmod 替代 $(INSTALL_BIN),
并添加 RSTRIP:=: 禁用自动 strip,防止 Go/Rust 二进制被 strip 后崩溃
2026-05-04 16:21:07 +08:00
lmq8267 a760e85d38 Merge pull request #154 from Cathgao/main 2026-04-29 16:10:28 +08:00
Cathgao fd5b2b8e15 revert easytier package 2026-04-29 16:07:29 +08:00
lmq8267 365a1f6747 修复 INSTALL_BIN 安装方法导致的 Segmentation fault 问题
Replaced INSTALL_BIN commands with CP and chmod for installation.
2026-04-29 14:49:57 +08:00
Cathgao ef41ed4fdd 拆分easytier包:easytier(含web)和easytier-noweb(不含web)
- 新增 easytier/ 包含 web 控制台 (easytier-core + easytier-cli + easytier-web)
- 新增 easytier-noweb/ 仅包含核心组件 (easytier-core + easytier-cli)
- 更新 CI workflow 同时编译两个包,release zip 包含所有包
2026-04-29 11:48:14 +08:00
lmq8267 ca9e2d63d3 v2.6.2 v2.6.2 2026-04-27 20:11:49 +08:00
claude e6bf09af93 2.6.1 v2.6.1 2026-04-23 17:33:54 +08:00
claude a56641c45a 修改init脚本里的web路径变量缺少的问题
启动命令增加工作路径在/tmp ,避免core程序写入日志文件到根目录
2026-04-23 17:28:11 +08:00
lmq8267 f333f04571 web控制台新增一些参数
web页面增加重置数据库按钮

修复一些参数不匹配问题
2026-04-18 09:21:34 +08:00
claude 38eb541aae 添加在线下载程序功能 v2.6.0 2026-04-17 16:05:54 +08:00
claude e1e68a1078 i18 2026-04-16 17:30:18 +08:00
claude ad3899bd47 i18 2026-04-16 16:10:12 +08:00
lhongcai 24f18b2815 更新v2.6.0
去掉WAN上线重启ET

更新布局样式,状态页面添加快捷重启服务和开关服务(需提前配置好参数)以及网卡接口和连接信息等

在自动配置防火墙规则后的等待5秒再重载网络和防火墙使其生效
2026-04-16 15:21:26 +08:00
lmq8267 cdd0543a12 Merge pull request #128 from lgs2007m/main 2026-03-01 13:19:10 +08:00
lgs2007m 890fbac67e Fix user-agent in curl command for getting latest version tag
https://github.com/EasyTier/luci-app-easytier/issues/117
2026-02-20 09:54:25 +08:00
lmq8267 0ec2cf2bce Merge pull request #122 from yvvw/fix-set-firewall 2026-01-31 17:33:41 +08:00
lmq8267 c63871efab Merge pull request #121 from yvvw/fix-check-config-argument 2026-01-31 17:33:25 +08:00
yvvw 476dd1009e fix skip set firewall when using config mode 2026-01-28 09:05:14 +08:00
yvvw 478ea79861 fix check config argument 2026-01-28 09:01:03 +08:00
lmq8267 124e774b7a Merge pull request #116 from StillMilesToGo/develop 2026-01-22 07:42:19 +08:00
Miles 26f56804db Merge branch 'main' into develop 2026-01-21 23:11:14 +08:00
lmq8267 06b0818c35 Merge pull request #114 from Oldcucumber/main 2026-01-19 13:56:53 +08:00
Miles 4534446827 fix(config): correct encryption algorithm options to match easytier-core 2026-01-18 17:49:51 +08:00
Miles 19e566c926 feat(config): add toggles for firewall/interface auto-configuration and configurable netmask 2026-01-18 17:15:06 +08:00
Old_cucumber 839286e920 refactor: 代码质量改进与模块化重构
- 修复变量名拼写错误 (desvice_name -> hostname_opt)
- 创建 version.mk 集中管理版本号
- 统一配置文件缩进格式
- 修复 conffiles 配置保护升级时用户配置

init.d 脚本模块化:
- 新增 utils.sh 工具函数模块
- 新增 firewall.sh 防火墙管理模块
- 新增 download.sh 下载管理模块
- 支持 UCI 配置 GitHub 代理地址

安全性改进:
- 添加网络名称输入验证
- 用 Lua 原生计算运行时长
- 服务安装后自动启用
2026-01-14 14:45:00 +08:00
lmq8267 0649c42b4a Merge pull request #112 from Oldcucumber/main 2026-01-13 18:45:27 +08:00
Old_cucumber fd864e35c6 修复Web的问题 2026-01-13 18:37:48 +08:00
Old_cucumber ab11c450cc 修复: webconsole配置读写问题 2026-01-13 18:37:45 +08:00
Old_cucumber 2b14486888 重构了一下界面 2026-01-13 18:37:39 +08:00
lmq8267 124b3a3f92 删除重复的参数 2026-01-12 20:16:48 +08:00
lmq8267 f1be5813c8 Merge pull request #108 from Oldcucumber/main 2026-01-12 20:15:39 +08:00
Old_cucumber f8243d6b77 优化: 状态页面排版重构为表格布局 2026-01-11 18:52:16 +08:00
Old_cucumber 589fbf12d9 修复: 状态页面文字颜色统一化以适配暗色主题 2026-01-11 18:52:16 +08:00
Old_cucumber 0f2ab41363 修复: 连接信息页面表格在暗色主题下的显示问题 2026-01-11 18:52:16 +08:00
lhongcai 6fa92cb0f6 修复tcp port参数重复导致的报错unknown protocol - https://github.com/EasyTier/luci-app-easytier/issues/107 v2.5.0 2026-01-08 10:31:29 +08:00
lhongcai 05ac3903a3 update v2.5.0 2026-01-05 08:40:15 +08:00
lmq8267 2ab90a0966 Merge pull request #101 from oenhu/patch-3 2025-11-24 14:43:19 +08:00
lmq8267 07a74589fd Merge pull request #100 from oenhu/patch-1 2025-11-24 14:43:08 +08:00
oenhu 65132ba906 Update easytier.lua
菜鸟教程已失效
2025-11-17 02:05:07 +08:00