[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-94818":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":28,"readmeContent":29,"aiSummary":30,"trendingCount":14,"starSnapshotCount":14,"syncStatus":15,"lastSyncTime":31,"discoverSource":32},94818,"4G-Connect","WongLoki\u002F4G-Connect","WongLoki","Open-source macOS one-click connector for the first-generation DJI 4G module.",null,"Go",108,15,102,0,2,5,45.11,"MIT License",false,"main",true,[23,24,25,26,27],"apple-silicon","dji","libusb","macos","modem","2026-08-24 04:01:22","\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002FAppIcon-1024.png\" width=\"128\" alt=\"4G Connect icon\">\n\u003C\u002Fp>\n\n# 4G Connect\n\n4G Connect 是一个独立开源的 macOS 小工具，用于解决受支持的 **DJI 4G 模块**连接 Mac 后，首次 USB 枚举没有直接出现可用网卡的问题。\n\n它不是完整的调制解调器管理器，也不会启动网页或常驻后台。插入模块后双击 App，它会完成一次检查和必要的恢复，显示 macOS 通知后自动退出。\n\n## 它解决什么问题\n\n部分受支持的 DJI 4G 模块已经保存了 ECM 上网模式，但冷插到 macOS 时可能只暴露厂商自定义 USB 接口。macOS 此时不会创建可用的 Ethernet 网卡；手动让模块软重启并重新枚举后，ECM 网卡才会出现。\n\n4G Connect 将这套恢复流程封装成一次点击：\n\n1. 检测 USB `2ca3:4006` 的大疆\u002F百旺 `EG25G-QDC507` 模块；\n2. 查找由模块旧枚举留下的 `Baiwang \u002F EG25 \u002F QDC507` 网络服务；\n3. 只清理对应硬件已经不存在且仍处于启用状态的残留服务，不触碰 Wi-Fi、VPN、其他网卡或用户已经禁用的服务；\n4. 如果 ECM 网卡已经工作并获得 `192.168.225.x` 地址，立即退出；\n5. 否则通过 libusb 打开模块的 USB AT 接口；\n6. 确认 `AT+QCFG=\"usbnet\"` 为 ECM 模式 `1`，必要时写入；\n7. 执行 `AT+CFUN=1,1` 软重启，等待 macOS 重新枚举并通过 DHCP 获得地址；\n8. 使用 App 自身的原生通知显示结果，然后退出。\n\n## 隐私与安全\n\n- 完全在本机运行；\n- 不启动 HTTP 服务，不监听端口；\n- 不常驻后台，不安装 LaunchAgent；\n- 不包含遥测、分析或自动更新；\n- 不读取短信、通讯录、eSIM Profile 或浏览器数据；\n- 不上传 SIM、设备或网络信息；\n- 网络服务清理严格限制在 `Baiwang \u002F EG25 \u002F QDC507` 身份和已消失的设备节点。\n\n日志仅写入本机：\n\n```text\n~\u002FLibrary\u002FLogs\u002F4G Connect\u002Fconnect.log\n```\n\n## 系统要求\n\n- Apple Silicon Mac；\n- macOS 13 Ventura 或更新版本；\n- 受支持的 DJI 4G 模块，常见 USB ID 为 `2ca3:4006`；\n- 可正常使用的数据 SIM。\n\n目前没有 Intel Mac 构建。\n\n## 下载与使用\n\n1. 从 [Releases](https:\u002F\u002Fgithub.com\u002FWongLoki\u002F4G-Connect\u002Freleases) 下载 `4G-Connect-macOS-arm64-*.zip`；\n2. 可选：用同名 `.sha256` 文件核对下载；\n3. 完整解压，将 `4G Connect.app` 拖入“应用程序”；\n4. 插入模块，双击 App；\n5. 等待原生通知显示激活结果。\n\n如果 DJ 4G Hub 或其他程序正在占用模块 USB AT 接口，请先停止它。\n\n### macOS 阻止打开\n\n自动构建使用 ad-hoc 签名，没有 Apple Developer ID 公证。首次运行可能需要在“系统设置 → 隐私与安全性”中选择“仍要打开”。如果系统仍提示文件损坏，可对确认来源可信的 App 执行：\n\n```sh\nxattr -dr com.apple.quarantine \"\u002FApplications\u002F4G Connect.app\"\n```\n\n## 从源码构建\n\n需要 Apple Silicon Mac、Go 1.26、Xcode Command Line Tools 和 `pkg-config`：\n\n```sh\n.\u002Fscripts\u002Fbuild-app.sh dev\n```\n\n构建脚本会：\n\n- 从 libusb 官方 Release 下载 1.0.30 源码；\n- 验证固定 SHA-256；\n- 构建并内置 `libusb-1.0.0.dylib`；\n- 生成完整的 macOS `.icns` 图标；\n- 生成并验证 ad-hoc 签名的 `.app`；\n- 输出 ZIP 和 SHA-256 文件。\n\n## 自动构建与发布\n\nGitHub Actions 使用 `macos-15` Apple Silicon Runner：\n\n- 每次 push 和 pull request 自动运行测试并打包；\n- 构建结果作为 Actions Artifact 保存；\n- 推送 `v*` tag 时自动创建 GitHub Release，并上传 ZIP 与 SHA-256。\n\n发布示例：\n\n```sh\ngit tag v0.2.0\ngit push origin v0.2.0\n```\n\n## 开源许可证\n\n本仓库中的独立实现使用 [MIT License](LICENSE)，允许个人和商业使用、修改、分发和再许可。动态链接的 libusb 使用 LGPL-2.1-or-later，完整许可证包含在发布 App 中，详情见 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。\n\n从 `v0.2.0` 开始，当前实现已经独立重写并使用 MIT License。历史 `v0.1.x` 预览版仍按各自归档中附带的 PolyForm Noncommercial 条款授权，本次变更不追溯修改旧版本许可证。\n\nDJI、Quectel 和其他第三方名称仍属于各自权利人；MIT License 不授予第三方商标权。本项目仅以文字说明真实的硬件兼容性，不使用第三方 Logo 作为项目标识。\n\n## 非官方声明\n\n本项目是独立的社区开源项目，未获得 DJI 的授权、赞助或认可，与 DJI、百旺、Quectel、Apple、运营商或 SIM\u002FeSIM 厂商不存在隶属或合作关系。使用前请自行确认硬件保修、运营商资费和当地法律要求。\n\n欢迎阅读 [CONTRIBUTING.md](CONTRIBUTING.md) 并提交 Issue 或 Pull Request。\n","4G Connect 是一款专为 Apple Silicon Mac 设计的开源 macOS 工具，用于一键修复 DJI 第一代 4G 模块（USB ID 2ca3:4006，基于 Quectel EG25G）在冷插拔后无法自动识别为 ECM 网卡的问题。它通过 libusb 向模块发送 AT 指令配置 USB 网络模式并触发软重启，清理残留网络服务，促使 macOS 正确枚举出 192.168.225.x 子网的以太网接口，完成后即退出，不常驻、不联网、无遥测。适用于使用 DJI 4G 模块进行野外无人机图传中继或移动办公网络扩展的 macOS 用户。","2026-08-16 02:30:11","CREATED_QUERY"]