[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-94829":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":15,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":14,"starSnapshotCount":14,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},94829,"DJ4Hub","WongLoki\u002FDJ4Hub","WongLoki","Local-first macOS console for the first-generation DJI 4G module",null,"Go",129,19,106,0,9,23,50.7,"Other",false,"main",true,[23,24,25,26,27,28],"4g","cellular","dji","esim","macos","sms","2026-08-24 04:01:22","\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fimages\u002Fdj-4g-hub-icon.png\" width=\"128\" alt=\"DJ 4G Hub icon\">\n\u003C\u002Fp>\n\n# DJ 4G Hub\n\nDJ 4G Hub 是一个本地优先的 macOS 设备控制台，支持兼容的 **DJI 4G 模块**。它通过模块已有的 USB 接口，在 Mac 上提供设备状态、短信、eSIM Profile、蜂窝上网、网络活动和 AT 调试能力，不修改模块固件。\n\n管理服务和网页均运行在本机，默认只监听 `127.0.0.1:7575`。SIM、短信、EID、ICCID 和网络连接信息不会由项目主动上传到远程服务器。\n\n> [!IMPORTANT]\n> DJ 4G Hub 是独立开发的非官方开源项目，未获得 DJI 的授权、赞助或认可，与 DJI、Quectel、运营商或 eSIM 卡片厂商不存在隶属或合作关系。DJI 及相关产品名称是其各自权利人的商标，仅用于说明兼容性。\n\n## 界面预览\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fimages\u002Fdj4hub-console-overview-light.png\" width=\"100%\" alt=\"DJ 4G Hub 浅色主题设备概览与联网活动\">\n\u003C\u002Fp>\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd width=\"50%\" valign=\"top\">\n      \u003Cimg src=\"docs\u002Fimages\u002Fdj4hub-console-network-light.png\" width=\"100%\" alt=\"DJ 4G Hub 网络诊断与 USB 网卡模式\">\n    \u003C\u002Ftd>\n    \u003Ctd width=\"50%\" valign=\"top\">\n      \u003Cimg src=\"docs\u002Fimages\u002Fdj4hub-console-at-light.png\" width=\"100%\" alt=\"DJ 4G Hub AT 调试控制台\">\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd align=\"center\">\u003Csub>网络诊断与 USB 网卡模式\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Csub>AT 调试控制台\u003C\u002Fsub>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## 为什么是一个新项目\n\nDJ 4G Hub 最初从 [ZenGeekLabs\u002FDJOneHub](https:\u002F\u002Fgithub.com\u002FZenGeekLabs\u002FDJOneHub) 的代码与实践出发，也使用了其上游 [iniwex5\u002Fvohive](https:\u002F\u002Fgithub.com\u002Finiwex5\u002Fvohive) 的部分基础能力。随着 macOS 端持续开发，本项目已经重新设计了产品界面、设备工作流、网络诊断和发行方式，因此以独立项目继续维护。\n\n独立维护不代表抹去来源。仓库继续保留原许可证要求的声明、上游作者署名以及第三方组件许可证。详细来源见 [项目来源与许可](#项目来源与许可) 和 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。\n\n## 相关项目\n\n4G Connect 是独立开发、独立发布的 MIT 项目。本仓库只通过 Git submodule 固定一个经过验证的版本，方便一起检出和联调，不将其源码、提交、Issue、Actions、Release 或许可证合并进 DJ 4G Hub。\n\n| 项目 | 位置 | 用途 | 维护方式 |\n| --- | --- | --- | --- |\n| DJ 4G Hub | 当前仓库 | 完整设备控制台：短信、eSIM、网络、流量和 AT 调试 | 当前仓库独立维护 |\n| [4G Connect](https:\u002F\u002Fgithub.com\u002FWongLoki\u002F4G-Connect) | `apps\u002F4g-connect` submodule | 双击即用的一次性 USB 网卡激活 App | 独立仓库、MIT License |\n\n克隆时需要同时取回子仓库：\n\n```sh\ngit clone --recurse-submodules https:\u002F\u002Fgithub.com\u002FWongLoki\u002FDJ4Hub.git\n```\n\n已经克隆主仓库时：\n\n```sh\ngit submodule update --init --recursive\n```\n\n## 我们重新实现和新增了什么\n\n- 重新设计本地网页控制台，统一浅色、深色和响应式界面。\n- 面向 macOS 的 USB 设备发现、libusb AT 通信、热插拔恢复和换卡刷新。\n- 短信收发、自动轮询、验证码提取、长短信分片和模块旧短信清理。\n- 实体 eUICC 卡片的 Profile 读取、下载、启用、改名、删除及号码备注。\n- 短信模式与 USB 网卡模式切换，并明确显示当前工作模式。\n- 一次性 `activate` 工具：清理残留网络服务、确认 `usbnet=1`、重启模块并等待 macOS DHCP。\n- 实时上下行速度、本次会话流量、USB 网卡、默认出口和代理诊断。\n- 联网链路识别，例如 `en9 → utun → 应用`，并展示应用、目标地址、端口、协议和累计流量。\n- 本地服务启动器、日志管理、Apple Silicon 发行包和 GitHub Actions 自动构建。\n\n## 功能状态\n\n| 功能 | 状态 | 说明 |\n| --- | --- | --- |\n| 设备自动识别 | 可用 | 识别受支持的 DJI 4G 模块，处理拔出与重新连接 |\n| 实时状态 | 可用 | 运营商、信号、网络制式、SIM、工作模式和流量 |\n| 短信 | 可用 | 收发、轮询、验证码、长短信与模块存储清理 |\n| eSIM \u002F 卡片 | 可用 | 管理插在模块卡槽中的兼容实体 eUICC 卡片 |\n| USB 4G 上网 | 可用 | 切换 USB 网卡模式并检查 macOS 网络接口 |\n| 联网活动 | 可用 | 展示连接元数据，不读取 HTTPS 页面内容 |\n| AT 调试 | 可用 | 直接向模块发送 AT 指令 |\n| Apple Silicon | 可用 | 当前发行包面向 macOS 13+、M 系列芯片 |\n| Intel Mac | 未验证 | 尚未发布经过真机验证的发行包 |\n| iPhone \u002F iPad | 规划中 | 需要独立的移动端架构、权限和安全设计 |\n\n## 硬件与系统\n\n- 受支持的 DJI 4G 模块，常见 USB 标识为 `2ca3:4006`\n- 可用的实体 SIM，或兼容的实体 eUICC\u002FeSIM 卡片\n- 支持数据传输的 USB-C 线缆\n- Apple Silicon Mac\n- macOS 13 Ventura 或更新版本\n\n发行包会携带所需的 `libusb`。普通用户不需要安装 Go、Node.js 或 Homebrew。\n\n## 工作模式\n\n| 模式 | 页面名称 | 主要用途 |\n| --- | --- | --- |\n| `usbnet=0` | 短信模式 | 状态、短信、eSIM 和 AT 调试 |\n| `usbnet=1` | 上网模式 | 向 macOS 暴露 USB 网卡并使用 SIM 数据 |\n| `usbnet=2\u002F3` | 实验模式 | 用途和稳定性尚未完成验证 |\n\n切换模式会触发 USB 重新枚举，页面短暂显示断开属于正常现象。不要在 eSIM Profile 写入过程中拔出模块或切换模式。\n\n## 下载与安装\n\n从项目 [Releases](https:\u002F\u002Fgithub.com\u002FWongLoki\u002FDJ4Hub\u002Freleases) 下载名称包含 `DJ-4G-Hub-macOS-arm64` 的 ZIP，并按需使用同名 `.sha256` 校验文件。只需要一次性激活工具时，请前往 [4G Connect Releases](https:\u002F\u002Fgithub.com\u002FWongLoki\u002F4G-Connect\u002Freleases)。\n\n```sh\nshasum -a 256 DJ-4G-Hub-*.zip\n```\n\n完整解压后，在发行包目录执行：\n\n```sh\n.\u002Finstall\n```\n\n程序默认安装到：\n\n```text\n\u002Fusr\u002Flocal\u002Flibexec\u002Fdj4ghub\n```\n\n命令入口位于：\n\n```text\n\u002Fusr\u002Flocal\u002Fbin\u002Fdj4ghub\n```\n\n## 使用\n\n连接模块后启动：\n\n```sh\ndj4ghub start\n```\n\n管理页面会自动打开：\n\n```text\nhttp:\u002F\u002F127.0.0.1:7575\n```\n\n常用命令：\n\n```text\ndj4ghub start          启动并自动打开管理页面\ndj4ghub start --demo   启动无硬件演示模式\ndj4ghub activate       不启动网页；清理残留网卡并激活上网模式\ndj4ghub stop           停止服务\ndj4ghub status         查看运行状态\ndj4ghub logs           查看实时日志\ndj4ghub open           重新打开管理页面\n```\n\n`dj4ghub activate` 是一次性命令。它只处理与第一代 DJI 4G 模块匹配的残留网络服务，并在需要时确认 `usbnet=1`、软重启模块、等待 ECM 网卡与 DHCP 地址，完成后立即退出。\n\n## 页面能力\n\n### 概览\n\n显示运营商、信号、LTE 注册、SIM 状态、当前工作模式、实时速度和本次运行期间的累计流量。\n\n“联网活动”会尝试还原真实链路：\n\n```text\n应用 → 系统隧道（可选）→ 兼容模块 USB 网卡 → 蜂窝网络\n```\n\n页面可以显示应用名、目标域名或 IP、端口、协议和累计上下行字节。域名依赖 macOS 本地解析缓存；HTTPS 页面路径和通信内容不可见。\n\n### 短信\n\n支持接收、发送、自动轮询、验证码提取和长短信分片。国际号码请使用完整格式，例如 `+86138XXXXXXXX`。\n\n### eSIM \u002F 卡片\n\n这里管理的是插在模块实体 SIM 卡槽中的兼容 eUICC 卡片，不是 Mac 内置 eSIM。Profile 下载、启用、改名和删除会真实修改卡片，操作过程中不要拔出设备。\n\n### 网络\n\n显示 macOS 是否识别 USB 网卡、物理接口、默认出口、蜂窝 IP、PDP\u002FAPN 信息，并提供 4G 出口与代理检测。\n\n### AT 调试\n\nAT 调试面向诊断和开发。不了解作用的写入类命令不要执行，也不要照搬来源不明的刷机指令。\n\n## 本地数据与隐私\n\n新版本使用以下目录：\n\n```text\n~\u002FLibrary\u002FLogs\u002FDJ 4G Hub\u002Fdj4ghub.log\n~\u002FLibrary\u002FApplication Support\u002FDJ 4G Hub\n```\n\nProfile 号码备注会兼容读取旧的 `DJOneHub` 和 `VoHive macOS` 数据目录，后续写入统一保存到 `DJ 4G Hub`。\n\n发布 Issue、截图或日志前，请隐藏手机号、短信验证码、EID、ICCID、IMSI 和其他个人信息。\n\n## 从源码开发\n\n```sh\ngo test .\u002F...\n.\u002Fscripts\u002Fbuild-macos.sh\n.\u002Fscripts\u002Fpackage-macos-arm64.sh v0.1.0-preview\n```\n\n主要目录：\n\n```text\ncmd\u002Fdj4ghub-macos\u002F       macOS 服务、USB AT 和内嵌网页\napps\u002F4g-connect\u002F         独立 4G Connect 仓库的 submodule 引用\ninternal\u002F                设备后端、短信、eSIM 与配置能力\npkg\u002F                     MBIM、短信编码和日志组件\npackaging\u002F               安装器、启动器与发行说明\nscripts\u002F                 本地构建和 Apple Silicon 打包脚本\n```\n\nDJ 4G Hub 在本仓库运行测试与发布流程，推送 `v*` 标签时构建 Release。4G Connect 在自己的仓库中运行独立 Actions 和发布流程。\n\n## 移动设备路线图\n\n移动端不会简单地把当前 macOS 二进制搬到 iPhone 或 iPad。后续计划先拆分设备层与控制 API，再评估：\n\n1. 带鉴权和加密的局域网远程控制模式。\n2. iPhone \u002F iPad Companion App，用于状态、短信和流量查看。\n3. 对移动系统 USB 权限、后台运行和 App Store 规则的可行性验证。\n4. 在不暴露短信、SIM 身份和控制接口的前提下设计配对流程。\n\n在安全模型完成前，服务仍默认只监听本机回环地址。\n\n## 当前限制\n\n- 发行包目前只支持 Apple Silicon。\n- 不同 SIM、eUICC、运营商、漫游环境和模块固件可能存在差异。\n- 联网活动只显示连接元数据，不能看到 HTTPS 内容，也不等同于运营商账单。\n- 当前发行包使用临时签名，尚未经过 Apple Developer ID 公证。\n- 模式 2 和模式 3 仍属于实验功能。\n\n## 项目来源与许可\n\n本仓库是独立维护项目，但包含从以下项目演进或借鉴的工作：\n\n- [ZenGeekLabs\u002FDJOneHub](https:\u002F\u002Fgithub.com\u002FZenGeekLabs\u002FDJOneHub)\n- [iniwex5\u002Fvohive](https:\u002F\u002Fgithub.com\u002Finiwex5\u002Fvohive)\n- libusb 及仓库中列出的其他第三方开源组件\n\nDJ 4G Hub 主项目包含从 VoHive 演进而来的代码，因此根目录代码继续遵循 [PolyForm Noncommercial License 1.0.0](LICENSE)，不是 MIT、Apache-2.0 等宽松许可证。源码公开不代表可以忽略非商业限制。\n\n4G Connect 是另一个独立仓库，使用其自身的 [MIT License](https:\u002F\u002Fgithub.com\u002FWongLoki\u002F4G-Connect\u002Fblob\u002Fmain\u002FLICENSE)。本仓库中的 submodule 只是对外部提交的引用，该 MIT 授权不改变 DJ 4G Hub 的许可证，DJ 4G Hub 的条款也不覆盖 Connect 仓库。\n\n必须保留的上游声明：\n\n```text\nRequired Notice: Copyright iniwex5 (https:\u002F\u002Fgithub.com\u002Finiwex5\u002Fvohive)\n```\n\nlibusb 1.0.30 使用 GNU Lesser General Public License v2.1 or later；其他依赖遵循各自许可证。完整信息见 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) 和各 `third_party\u002F` 目录中的许可证文件。\n\n## 贡献\n\n欢迎提交兼容性结果、问题日志、UI 改进和新设备适配。涉及网络、短信、eSIM 写入或 USB 模式切换的改动，请同时说明硬件型号、固件、macOS 版本和验证方式，并先清理隐私数据。\n","DJ 4G Hub 是一个面向 macOS 的本地优先控制台工具，专为第一代 DJI 4G 模块设计，通过 USB 接口实现设备状态监控、短信收发、eSIM Profile 管理、蜂窝网络配置、USB 网卡模式切换及 AT 指令调试。项目采用 Go 编写，所有服务运行于本地（127.0.0.1:7575），不上传 SIM、ICCID、EID 或网络数据，支持 Apple Silicon Mac 及 macOS 13+。适用于无人机用户、现场作业工程师及 eSIM 调试人员在无云依赖场景下对 DJI 4G 模块进行离线精细化管理。",2,"2026-08-16 02:30:13","CREATED_QUERY"]