feat: 一键安装 / 配置向导 / 卸载,并整体优化脚本
安装: - 新增 install 子命令和菜单第 1 项「一键安装」: 装内核 → 写 systemd → 跑配置向导 → enable + start,装完打印代理端口 / 面板地址 / 密钥 / 日志命令 - systemd unit 按 MetaCubeX 官方文档写入,旧 unit 内容不同时先备份 配置: - 新增配置向导,问 7 个问题生成最小可用配置 (订阅 provider、mixed-port、 allow-lan、external-controller、secret、Web 面板、分流规则) - 新增「配置管理」菜单: 换订阅 / 改端口 / 局域网共享 / 面板密钥 / URL 导入 / 校验 / 手动编辑 / 备份还原。每次改动前自动备份,改完 -t 校验, 不过则询问还原,服务在跑再询问重启 卸载: - 新增 uninstall 子命令和菜单项: stop + disable + 删 unit 和 drop-in + daemon-reload + reset-failed + 删二进制,配置目录和内核备份单独询问 - --purge 全删不问 其它: - --mirror 支持 GitHub 反代前缀,带 mirror 时生成的配置一并写走镜像的 geox-url - --service 自定义服务名、--skip-conf-check 跳过升级前的配置预校验 - 服务菜单新增开机自启开关和重写服务文件 - 修复 ask_default 与 ask 的局部变量重名: bash 动态作用域下 printf -v 写进了 ask 自己的变量,导致向导除默认值外的输入全部丢失 - 修复输入流 EOF 时向导在「订阅不能空」处死循环 - 修复无配置时改端口直接 die 退出菜单、查版本失败 die 掉整个会话、 --dry-run 被 root 检查提前挡掉等问题 - 生成的 find-process-mode 加引号,避免被解析成布尔值 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XpjLPV4JvAsuq9ACb3u6B4
This commit is contained in:
+811
-110
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user