 im0oandClaude Opus 5
|
e77ef3045a
|
feat: 多订阅 / 地区分组 / 回国模式 / 多入站 / GEO 管理
多订阅:
- 向导的订阅那步改成可以连续填多个 (最多 8 个, 回车结束),每个一条独立的
proxy-providers,节点合并进同一组
- 订阅行标记升级成 "# mihomo-up:sub:<provider名>",配置菜单里可按序号改任意一条
- 改完顺手删掉对应的节点缓存,否则内核会继续用旧节点
地区分组:
- 支持 HK TW JP SG US KR UK DE FR,每个地区一个 url-test 组,靠节点名关键词
匹配 (中英文 + 旗帜 emoji)
- 提醒: 某地区匹配不到任何节点会让内核拒绝启动,紧接着的校验会指出来
分流规则从两种变三种:
- 3 = 指定地区走代理、其余直连,也就是回国 / 分区代理
- 回国模式生成 .mrs 规则集而不是 GEOIP: 域名维度打头,IP 维度兜底。
国内站挂境外 CDN 时解析出的 IP 不在本国段,只靠 GEOIP 会整片漏掉
- 只有 CN 有成体系的域名列表,其它国家代码只能按 IP 匹配,脚本会当场说明后果
多入站 (listeners):
- 新增「入站端口」菜单: 加/删额外的本地端口,每个可绑一个策略组、DIRECT,
或按 rules 分流
- 每条写成一行 YAML 流式映射并带标记,加删就是加一行删一行,不动别处
- 拦截端口冲突和非法类型;选了具体出站会提醒它完全跳过 rules
- 删到最后一条时连空的 listeners: 标题一起去掉
GEO / 规则集:
- 新增菜单: 列出 geoip.dat / geosite.dat / *.mmdb / rules/*.mrs 的大小和
更新时间。下载失败是静默的 —— 规则全不匹配、流量落到 MATCH,看起来像
"配置没生效",所以状态必须可见
- 立即更新优先走管理接口 POST /configs/geo,不重启内核;接口不可用时回退到
删文件 + 重启
- 自动更新开关写 geo-auto-update / geo-update-interval
验证: 三种规则模式生成的配置都用 PyYAML 解析通过,分组、rule-providers、
listeners 结构和字段类型均符合预期;两个 .mrs 地址实测 200。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XpjLPV4JvAsuq9ACb3u6B4
|
2026-08-09 17:55:59 +08:00 |
|
 im0oandClaude Opus 5
|
06a42149c6
|
docs: 把被削成单字的动词补回完整词语
用户可见文案里有一批动词被缩成了单字,读起来像电报。统一补全,
菜单标签、帮助文本、提示信息、README 一起过。
装 → 安装 验 → 校验 下 → 下载
起 → 启动 跑 → 运行 拉 → 拉取
删 → 删除 换 → 更换 改 → 修改
查 → 查询 敲 → 输入 重跑 → 重新运行
启停 → 启动 / 停止 自启 → 开机自启 不开 → 不开启
复验 → 重新校验 没法 → 无法 落盘 → 写入磁盘
顺带修掉批量替换造成的重复词 (安安装 / 更更换 / 重写入服务文件 /
已打开开机自启),并补了一条通用自查: 用带 lookbehind 的正则扫任意
汉字连续重复,以及扫非「安装」的孤立「装」。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XpjLPV4JvAsuq9ACb3u6B4
|
2026-08-09 17:32:26 +08:00 |
|
 im0oandClaude Opus 5
|
a275e76206
|
feat: 加快捷命令 mihomo-up,并按 edit-article / think-twice 过一遍文案
快捷命令:
- 一键安装会往 /usr/local/bin/mihomo-up 装一个启动器,每次执行先拉最新脚本再跑,
仓库更新后机器上无需手动更新
- 与纯"每次重新下载"的区别: 落一份缓存到 /var/lib/mihomo-up/,
拉不到 (断网/仓库挂) 或拉到的内容 bash -n 不过时回落缓存。
代理管理脚本尤其需要这条 —— 最需要它的时候往往正是网络不正常的时候
- 抓取带 5s 连接 / 20s 总超时;参数和退出码原样透传
- 新增 shortcut 子命令、服务菜单第 8 项、--script-url / MIHOMO_UP_URL
- uninstall 连启动器和缓存一起清理
修复:
- 子命令失败时 ERR trap 会在人话提示后再补一句「第 N 行出错」,看起来像崩了。
分发点改用 || exit 1 收尾
- --mirror 缓存失败的提示原本描述错了后果,改成照实说
- 升级闸门失败、缺配置两处只给菜单路径,命令行模式下是悬空引用,补上等价命令
- allow-lan 开启时报出具体端口号;管理接口设 0.0.0.0 时补一句暴露后果
- 无效菜单选项说清什么才有效
README:
- 按依赖顺序重排章节: 环境要求提到快速开始之前,快捷命令移到一键安装之后,
GitHub 镜像移到选项表之前以消掉「见下」悬空引用
- 开头「管三样东西」与实际不符,改为完整清单
- 拆开超过 240 字符的长段
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XpjLPV4JvAsuq9ACb3u6B4
|
2026-08-09 17:26:57 +08:00 |
|
 im0oandClaude Opus 5
|
afa5ae42f1
|
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
|
2026-08-09 13:38:27 +08:00 |
|
im0o
|
8e4505391d
|
Initial commit: mihomo 内核管理脚本
bash 脚本,用于在 Linux 服务器上检查、安装、升级、回滚 mihomo 内核,
支持交互菜单与命令行双模式,带安全验证、自动备份与回滚。
|
2026-08-09 12:51:57 +08:00 |
|