Repository navigation
🆕 eSIM-Matrix v1.4.7 (build 147)
这一版把虚拟定位和代理从"切卡流程的附属品"变成了两个能独立使用的工具,并给虚拟定位补上了远程通道。
🧭 两个独立控制台(不需要写卡)
底部标签栏新增 虚拟定位 与 代理,管理页顶栏也有入口。
虚拟定位
| 区块 | 内容 |
|---|---|
| 状态 | 注入状态、当前坐标、生效通道(真实注册的测试 Provider)、双通道权限 |
| 通道 | 系统模拟位置 / Shizuku 注入,可切换 |
| 注入 | 一键注入 / 停止注入 |
| 地点 | 常用模板(可搜索、可删自定义)/ 手动经纬度(带范围校验、可存模板) |
| 联动 | 切卡时自动注入对应国家定位 |
代理控制台
控制器地址 / Secret / 策略组 → 策略组下拉 → 当前节点 → 节点列表(类型徽章、延迟徽章、单点测速、全部测速、切换)→ 自动化开关。控制器不可达时降级为提示,不抛异常。
📡 虚拟定位可以远程操作了
之前代理有完整的 HTTP + Telegram 通道,定位一条都没有。
GET /api/v1/location 状态(注入中、坐标、通道、权限)
POST /api/v1/location { latitude, longitude, label?, mode? }
DELETE /api/v1/location 停止
Telegram:
/location 状态 + 用法
/location 22.3193 114.1694 香港尖沙咀
/location 22.3193,114.1694 逗号也认
/location_stop 停止
Web 面板新增「虚拟定位」卡片与顶部状态胶囊;纯文本 /status 也会显示 📍 虚拟定位:🟢 正在注入【香港尖沙咀】 (22.3193, 114.1694)。
注入失败会如实返回 409 {success:false, error:"injection_failed"},不会用 200 让人以为位置变了。
🔒 注入不再随时消失
新增前台服务:注入期间进程被系统保活,通知栏显示当前虚拟位置,并带一个「停止定位」按钮。
此前注入只是内存里每秒推一次,进程被回收后定位会静默失效,而界面还写着「🟢 正在注入」——这是谎报。
🎯 修掉会误导人的地方
| 问题 | 修复 |
|---|---|
代理节点列表把 PASS、REJECT-DROP 和组外节点一起列出,点了被控制器拒绝 |
只显示当前策略组的成员,标题写明组名与数量 |
| 没有任何测试 Provider 注册成功时仍报「注入成功」 | 如实返回失败,并把 Provider 列表回传给界面 |
Shizuku 模式每秒 fork 一次 cmd location 进程 |
改为 5 秒节流 |
| 控制台每次打开都跳回第一个内置模板 | 记住上次注入的坐标 |
| 「全部测速」串行,7 个节点最坏 35 秒 | 并发 4 路 |
| 联动开关在三个页面各有一份,互不同步 | 只保留在各自控制台,并监听设置变化 |
🧹 短信转发页精简
- 删掉与代理控制台重复的三个输入框和两个测试按钮,换成两个跳转按钮;
- 6 个开关改为即时保存(原来改了不点保存等于没改);
- 历史记录、远程下卡/切卡/删卡、切卡自动化三张卡片默认折叠,页面从 5 屏回到 1 屏。
✅ 验证
| 检查 | 结果 |
|---|---|
dart analyze lib test |
No issues found |
| 全量测试 | 984 项全部通过 |
| 实机(25102RKBEC / Android 16) | 注入后 dumpsys location 确认 network/fused provider 均为 mock 坐标;停止后消失 |
| 实机代理 | 连上 FlClash v1.19.33,切节点后控制器 now 同步变化,测速返回真实新值 |
| 三证书 v2 签名 | ESTK C47350… + 9eSIM D1C0F4… + SakuraSIM 65D057… 全部匹配 |
📦 安装说明
- APK:
eSIM-Matrix-v1.4.7.apk(arm64-v8a),可直接覆盖升级并保留全部数据。 - 已安装 1.4.6 及更早版本的用户会通过应用内更新检查收到本次更新。
- 虚拟定位的两种通道:系统模拟位置需在「开发者选项 → 选择模拟位置信息应用」中选择本应用;Shizuku 模式需启动并授权 Shizuku。