UCVL Software Automation 261dde435b
Android client acceptance / test-and-build (push) Has been cancelled
Release Android 1.0.2 with unified gateway routing
2026-09-04 12:47:31 +08:00

纵横家 Android 客户端

版本 1.0.1 候选;包名 cn.toplc.zonghengjia。这是公司 Android 客户端的 GPL-3.0 衍生源码,不包含服务器端、账号、节点凭据或公司签名私钥。

已实现

  • 公司账号登录、浏览器注册、设备授权、个人信息、套餐/额度/有效期。
  • 由平台自动分配节点,客户端只显示实际工作节点,不提供节点选择。
  • 完整保留平台下发的路由规则,支持智能/全局代理;使用 Android VpnService + HEV 隧道接管其他应用。
  • 仅统计 proxy 出站的速度/流量,两条低高度曲线;直连不计入代理统计。
  • Android Keystore 加密会话、同一证书覆盖升级保留配置。
  • VPN 后台每 60 秒检查授权,401/403 时断开并清除会话;临时网络错误不误当账号撤销。
  • 退出等待服务停止,TLS 清理在后台线程执行;系统 VPN 关闭后由 Android 恢复原网络。

验收边界

acceptance/ 保存实际测试记录,不把编译成功当作手机实测。原生内核三节点 × 两模式 HTTPS、系统 VPN 独立 UID、退出/后台回收、同证书覆盖升级测试已通过。独立源码副本重新下载依赖并从头构建,通过 26 项单测;生成的 APK 解包内容与候选构建逐项相同。没有 Android 实体手机测试,尚未宣称与 Windows 全功能等价。

当前没有实现 Android 未知目标失败的全量学习闭环、持续故障自动换节点和应用内下载安装升级流程。公司已确认的规则会随连接配置下发。暂不作为全公司稳定版通知。

从源码构建

  1. 安装 JDK 21、Python 3、Android SDK(platforms;android-37、build-tools;37.0.0 和 platform-tools);设置 JAVA_HOME、ANDROID_HOME。Windows 建议使用不含中文的项目路径。
  2. 运行 python Restore-Dependencies.py,恢复锁定的 AAR/JNI。文件逐一校验 SHA256;不读取公司密钥。
  3. 在 V2rayNG 运行 gradlew :app:testPlaystoreReleaseUnitTest :app:assemblePlaystoreRelease(Linux/macOS 用 ./gradlew)。Gradle wrapper 为 9.4.1,AGP/Kotlin/Maven 依赖锁定在 gradle/libs.versions.toml。
  4. 构建生成的 release APK 未签名。用自己的 Android keystore、zipalign 和 apksigner 签名后可安装;自行签名不能覆盖公司原证书安装的包,先备份数据再卸载旧包。私钥不属于本源码分发内容。
  5. 公司发布工具 Sign-Candidate.ps1 使用本地私有 .tools/signing/signing.properties;此文件和 keystore 永不入库。不必使用公司密钥即可构建和运行修改版。

测试专用的 acceptanceProbe 是独立 UID 网络探针,不随客户端打包,不对员工发布。需要时用 -PUCVL_ACCEPTANCE=true :acceptanceProbe:assembleDebug 构建。src/androidTest 需要隔离模拟器和临时授权测试会话;仓库不附真实会话。

来源与许可

  • v2rayNG 2.2.1,源提交 39d2513,https://github.com/2dust/v2rayNG ,GPL-3.0。保留原始 LICENSE、版权、原始说明和依赖许可;2026-09-03 UCVL 修改包含公司界面/API、完整路由桥接、流量显示、授权回收与测试。
  • AndroidLibXrayLite v26.5.19,4c3a3cd051ac6a10d27ba1347a05fff2697ea272;对应 Xray-core 1bdb488c9ec0,见其 go.mod/go.sum 及原始许可。AAR 与上游 release SHA256 一致。
  • HEV SOCKS5 Tunnel dfabaa9cadf8894eb8ebfa0f75b1fee331869b34 及递归子模块源代码保留。可用 Android NDK 28.2.13676358 和 compile-hevtun.sh 自行重建;发布用 JNI 来自上游 v2rayNG 2.2.1 APK,逐 ABI 哈希锁定。
  • QuickieExtended quickie-foss 1.14.0、Toasty 1.5.2;其余 AndroidX、OkHttp、Gson、MMKV 等按各自许可使用。详见 V2rayNG/app/src/main/assets/open_source_licenses.html 和版本目录。
  • 源码副本中的 AndroidLibXrayLite/、hev-socks5-tunnel/ 为带原始许可的上游快照,包含递归子模块。SOURCE-PROVENANCE.json 列明每个完整提交;不依赖公司私有仓库。

本程序依 GPL-3.0 提供,不提供任何担保;可以按许可证复制、修改及再分发。公司名称/Logo 保留作为原始来源标识,不表示修改后的第三方版本获得公司服务授权。公司服务器和其他平台的私有源码不在此次公开范围。

客户端公开源码:https://pro.ucvl.cn/admin/ucvl-zonghengjia-android

S
Description
UCVL Zonghengjia Android GPL-3.0 client source and build instructions. No server source or credentials. Candidate acceptance status in README.
Readme GPL-3.0 10 MiB
Languages
C 82.7%
Kotlin 15%
HTML 1%
Makefile 0.4%
Assembly 0.3%
Other 0.4%