HERO-WPC/yx-android

Cloudflare 优选 IP 测速 · 安卓版(Go 引擎 gomobile + WebView,基于 byJoey/yx-tools)

★ 9Forks 1GoGitHub ↗Compare

README

yx-android

Cloudflare 优选 IP 测速 · 安卓版。把 byJoey/yx-tools 的 Go 测速引擎装进手机:单 APK,装上就能用,不用装 Python、不用 Termux。

Platform License

测速内核基于 XIU2/CloudflareSpeedTest,反代场景的 IP:端口 支持来自 byJoey/yx-tools。

怎么做的

┌─ Android App ──────────────────────────────┐
│  MainActivity(Kotlin,只有一个壳)        │
│   └─ 系统 WebView(Chromium 内核)          │
│        └─ http://127.0.0.1:{port}/         │
│  yx.aar(gomobile bind 编译 Go 引擎)       │
│   ├─ yx-tools 测速内核 + 内嵌网页(原样)   │
│   └─ androidlib:Start/Stop 薄封装          │
└────────────────────────────────────────────┘
  • Go 引擎(测速内核 + 网页界面)零改动复用上游代码,经 gomobile 编译成 .aar 嵌入 APK,在应用内起本地 HTTP 服务
  • 界面就是 yx-tools 原生网页,WebView 加载,桌面版能做的它都能做
  • 下载结果自动存进系统「下载」目录(Android 10+ 走 MediaStore,免权限)
  • 界面里的外部链接自动跳系统浏览器
  • 手机没有 crontab,定时任务按钮自动隐藏
  • 测速数据(结果、配置、Token)都在应用私有目录,卸载即清除

能做什么

同上游 yx-tools:测 Cloudflare 各数据中心的延迟和下载速度(IPv4 / IPv6)、按机场码筛全球 97 个地区、反代模式测 IP:端口(支持导入 FOFA 资产 CSV / 别人分享的结果)、一键上报到 cfnew 面板或 GitHub 仓库。网页界面实时进度,逐条出结果。

装

去 Releases 下 app-release.apk 安装。

  • 仅支持 arm64 设备(2014 年之后的手机基本都是),Android 8.0+
  • 首次安装如提示「未知来源应用」,允许一次即可
  • 自带签名密钥随仓库发布,仅作打包用,无保密价值;要自己分发请换成你的密钥

用

打开 App 就是完整界面,左侧配参数,右侧看结果:

  • 延迟测速线程建议 ≤100(默认 200 是给电脑的,手机会发热耗电)
  • 下载测速走真实大文件下载,注意流量,尽量 Wi-Fi 下测
  • 上报 cfnew / GitHub 的配置方法和上游一致

从源码构建

需要:Go 1.22+、JDK 17、Android SDK + NDK r19+、gomobile。

go install golang.org/x/mobile/cmd/gomobile@latest
go install golang.org/x/mobile/cmd/gobind@latest

Windows 上一键构建(脚本会自动生成 android/local.properties):

build-apk.bat

产物是仓库根目录的 yx-android.apk。手动等效命令:

# 1. Go 引擎 -> aar
gomobile bind -target=android/arm64 -androidapi 26 -o android/app/libs/yx.aar ./androidlib

# 2. 打 APK
cd android && gradle assembleRelease

CI 在每次 push 和打 tag 时自动构建,推 v* 标签即发布 Release。

与上游同步

上游源码(cmd/、internal/、ip.txt 等)vendor 在本仓库里,方便完整构建。同步上游更新:把 byJoey/yx-tools 对应文件覆盖进来,保留 androidlib/、android/ 和本 README 即可;go.mod 需保留 golang.org/x/mobile 依赖。

目录

├── androidlib/        Go 移动端封装(Start/Stop/Version)
├── android/           安卓壳工程(Kotlin + WebView)
├── cmd/ internal/     yx-tools 测速引擎(来自上游,未改动)
├── ip.txt ipv6.txt    Cloudflare 官方 IP 段缓存
└── build-apk.bat      一键构建脚本

致谢

许可

MIT

Contributors

HERO-WPC

Issues