android-security-engineer/apkpure-skills

GitHub: android-security-engineer/apkpure-skills

面向Android安全研究的一站式APKPure搜索、检查与下载工具,提供CLI、SDK及AI代理接口,零配置即可在国内网络环境下快速获取应用样本。

Stars: 1 | Forks: 1

# apkpure 用于从 [APKPure](https://apkpure.com) 搜索、检查和下载 Android APK/XAPK 的 CLI 和 SDK — 零配置,自动检测代理。 [![npm version](https://img.shields.io/npm/v/apkpure.svg)](https://www.npmjs.com/package/apkpure) [![Node.js >=20](https://img.shields.io/node/v/apkpure.svg)](https://nodejs.org/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) ``` npx apkpure search telegram ``` 无需安装,无需设置。开箱即用,完美支持 GFW 网络。 ## 安装说明 ### Claude Code (Marketplace) ``` # 添加 marketplace claude plugin marketplace add android-security-engineer/apkpure-skills # 安装插件 claude plugin install apkpure@apkpure-skills ``` 这会安装包含 24 个内置工作流、斜杠命令和自动检测功能的 `apkpure` 技能 — 直接在 Claude Code 中运行。 ### npm ``` npm install -g apkpure # 或在不安装的情况下使用: npx apkpure search telegram ``` ## 功能 - **搜索** — 通过关键字分页查找应用 - **信息** — 获取详细的应用元数据(版本、大小、开发者等) - **下载** — 抓取 APK/XAPK 文件并进行 SHA-256 验证 - **版本列表** — 列出应用的所有可用版本 - **流行趋势** — 发现热门趋势应用 - **双模式** — 移动端 API + 网页抓取并自动回退 - **代理自动检测** — 支持环境变量、Clash 配置及端口扫描 - **AI 就绪** — 提供 SDK 和技能处理程序,适用于 AI 代理 ## 快速入门 ``` # 搜索 npx apkpure search "whatsapp" npx apkpure search "微信" --page 2 # 获取应用详情 npx apkpure info com.whatsapp # 列出所有版本 npx apkpure versions org.telegram.messenger # 下载最新 APK/XAPK npx apkpure download com.whatsapp # 下载特定版本 npx apkpure download org.telegram.messenger -v 10.5.1 # 下载到自定义目录 npx apkpure download com.whatsapp -o ~/Downloads # 输出为 JSON(用于脚本) npx apkpure search telegram --json npx apkpure info com.whatsapp --json ``` ## CLI 参考 ### 全局选项 | 选项 | 描述 | 默认值 | |--------|-------------|---------| | `-m, --mode ` | API 模式:`api`、`scraping` 或 `auto` | `auto` | | `-p, --proxy ` | HTTP 代理 URL | 自动检测 | | `-j, --json` | 输出原始 JSON | — | ### 命令 #### `search ` 在 APKPure 上搜索应用。 ``` npx apkpure search "telegram" npx apkpure search "微信" --page 2 --json ``` | 选项 | 描述 | 默认值 | |--------|-------------|---------| | `--page ` | 页码 | `1` | #### `info ` 获取应用的详细信息。 ``` npx apkpure info com.whatsapp npx apkpure info org.telegram.messenger --json ``` #### `download ` 下载 APK 或 XAPK 文件。 ``` npx apkpure download com.whatsapp npx apkpure download org.telegram.messenger -v 10.5.1 -o ~/Downloads ``` | 选项 | 描述 | 默认值 | |--------|-------------|---------| | `-o, --output ` | 输出目录 | `~/.apkpure/downloads` | | `-v, --version ` | 指定要下载的版本 | 最新版 | #### `versions ` 列出应用的所有可用版本。 ``` npx apkpure versions org.telegram.messenger ``` #### `trending` 列出热门趋势应用。 ``` npx apkpure trending ``` ## 工作流 将多项技能组合为一步的高级操作。非常适合 AI 代理和自动化任务。 ``` # 列出可用工作流 npx apkpure workflows # 按应用名称下载 — 只需说出名称,即可获取 APK npx apkpure workflow download-by-name -q "Telegram" # 一步完成搜索和下载 npx apkpure workflow search-and-download -q "WhatsApp" -o ~/Downloads # 一步完成搜索并获取信息 npx apkpure workflow search-and-info -q "Signal" # 按名称生成完整报告(无需包名) npx apkpure workflow search-and-report -q "Telegram" # 下载包含完整元数据的最新版本 npx apkpure workflow download-latest -p org.telegram.messenger # 下载特定版本 npx apkpure workflow download-version -p org.telegram.messenger -v 10.5.1 # 验证应用是否存在,然后下载 npx apkpure workflow verify-and-download -p com.whatsapp # 完整应用报告(信息 + 所有版本) npx apkpure workflow app-report -p org.telegram.messenger # 用于逆向工程的深度情报报告 npx apkpure workflow app-intelligence -p org.telegram.messenger # 安全扫描:下载 + 版本分析 npx apkpure workflow security-scan -p com.whatsapp # 带 SHA256 完整性验证的下载 npx apkpure workflow download-and-verify -p com.whatsapp # 用于差异定位的版本跳跃分析 npx apkpure workflow compare-versions -p com.whatsapp # 版本审计 — 包含版本号和类型的所有版本 npx apkpure workflow version-audit -p com.whatsapp # 下载最旧版本用于漏洞研究 npx apkpure workflow download-oldest -p com.whatsapp # 快速查询 — 仅包含关键元数据 npx apkpure workflow quick-lookup -q "Signal" # 检查是否有可用更新 npx apkpure workflow check-update -p com.whatsapp --current-version 2.25.1 # 浏览分类中的应用 npx apkpure workflow explore-category -q "VPN" # 验证包名 npx apkpure workflow validate-package -p com.whatsapp # 批量验证多个包 npx apkpure workflow batch-validate --packages "com.whatsapp,org.telegram.messenger" # 获取多个应用的批量信息(不下载) npx apkpure workflow batch-info --packages "com.whatsapp,org.telegram.messenger" # 批量下载多个应用 npx apkpure workflow batch-download --packages "com.whatsapp,org.telegram.messenger" ``` ### 内置工作流 (24 个) #### 基于搜索(输入应用名称,无需包名) | 工作流 | 输入 | 描述 | |----------|-------|-------------| | `download-by-name` | `-q ` | 按名称搜索,下载最佳匹配项 | | `search-and-download` | `-q ` | 搜索并下载,返回组合结果 | | `search-and-info` | `-q ` | 一步完成搜索并获取详细信息 | | `search-and-report` | `-q ` | 搜索 + 信息 + 版本列表(无需包名) | | `search-intelligence` | `-q ` | 搜索 + 深度情报报告 | | `quick-lookup` | `-q ` | 搜索 + 仅返回关键元数据 | | `explore-category` | `-q ` | 搜索 + 结构化应用列表 | #### 基于包名(输入包名) | 工作流 | 输入 | 描述 | |----------|-------|-------------| | `app-report` | `-p ` | 完整信息 + 所有可用版本 | | `download-latest` | `-p ` | 下载最新版并在结果中包含应用元数据 | | `download-version` | `-p -v ` | 下载特定版本 | | `download-oldest` | `-p ` | 下载最旧版本,用于漏洞研究 | | `verify-and-download` | `-p ` | 下载前验证应用是否存在 | | `download-and-verify` | `-p ` | 下载 + 返回 SHA256 以进行完整性校验 | | `info-and-versions` | `-p ` | 获取信息 + 所有版本 | | `validate-package` | `-p ` | 检查包名是否在 APKPure 上存在 | #### 情报与分析 | 工作流 | 输入 | 描述 | |----------|-------|-------------| | `app-intelligence` | `-p ` | 深度报告:信息 + 版本 + 文件类型 + 范围 | | `version-audit` | `-p ` | 用于差异分析的版本比较表 | | `compare-versions` | `-p ` | 用于差异定位的版本跳跃分析 | | `check-update` | `-p --current-version` | 检查是否有可用更新 | | `security-scan` | `-p ` | 下载 + 版本分析,用于漏洞研究 | #### 批量处理与发现 | 工作流 | 输入 | 描述 | |----------|-------|-------------| | `batch-download` | `--packages ` | 批量下载多个应用 | | `batch-info` | `--packages ` | 批量获取多个应用的信息 | | `batch-validate` | `--packages ` | 批量验证多个包名 | | `trending-and-info` | — | 列出热门趋势应用 | ### 编程式工作流 ``` import { runWorkflow, listWorkflows } from "apkpure"; // List available workflows const workflows = listWorkflows(); // Run a workflow const result = await runWorkflow("download-by-name", { query: "Telegram", }, { outputDir: "/tmp/apks" }); if (result.success) { const output = result.output as { app: string; packageName: string; version: string; filePath: string; sha256: string; }; console.log(`Downloaded ${output.app} to ${output.filePath}`); } ``` ### AI 代理工作流 ``` import { handleSkillRequest } from "apkpure"; // One-step: download by name const result = await handleSkillRequest({ action: "workflow", workflow: "download-by-name", params: { query: "Telegram" }, }); // List workflows const workflows = await handleSkillRequest({ action: "list-workflows", }); ``` ## 代理自动检测 无需手动配置即可在防火墙和 GFW 网络下运行。检测顺序如下: 1. **环境变量** — `HTTPS_PROXY`、`HTTP_PROXY`、`ALL_PROXY` 2. **Clash 配置文件** — 从 Clash 配置中读取 `mixed-port` / `port` 3. **端口扫描** — 探测常见代理端口(7897、7890、1080 等) 如需要,可进行覆盖: ``` npx apkpure search telegram --proxy http://127.0.0.1:7897 ``` ## 编程式 SDK 作为 Node.js 库使用: ``` import { ApkPure } from "apkpure"; const sdk = new ApkPure({ mode: "auto" }); // Search const { apps } = await sdk.search("telegram"); // Get app details const detail = await sdk.getInfo("org.telegram.messenger"); // Download const result = await sdk.download("com.whatsapp", { outputDir: "/path/to/downloads", version: "2.24.5", // optional, defaults to latest onProgress: (downloaded, total) => { console.log(`${(downloaded / total * 100).toFixed(1)}%`); }, }); console.log(`Downloaded: ${result.filePath}`); console.log(`SHA-256: ${result.sha256}`); // List versions const versions = await sdk.getVersions("org.telegram.messenger"); ``` ### SDK 类型 ``` interface AppInfo { packageName: string; name: string; version?: string; versionCode?: number; iconUrl?: string; developer?: string; category?: string; rating?: string; description?: string; size?: number; fileType?: "apk" | "xapk" | "apks"; } interface AppDetail extends AppInfo { downloadUrl: string; updateDate?: string; requiresAndroid?: string; screenshots?: string[]; } interface DownloadResult { filePath: string; packageName: string; version: string; fileType: string; fileSize: number; sha256: string; } ``` ## AI 代理集成 为 AI 代理(Claude、GPT 等)内置的技能处理程序: ``` import { handleSkillRequest } from "apkpure"; const result = await handleSkillRequest({ action: "download", package: "com.whatsapp", outputDir: "/tmp/apks", // optional, defaults to ~/.apkpure/downloads }); ``` 支持的操作:`search`、`info`、`download`、`versions`、`trending`。 ## 全局安装 ``` npm install -g apkpure apkpure search telegram ``` ## 架构 ``` src/ ├── cli.ts # Commander CLI entry point ├── skill-handler.ts # AI agent skill handler ├── config.ts # Constants and defaults ├── core/ │ ├── apkpure.ts # Main SDK class (dual-mode orchestration) │ └── downloader.ts # File download with SHA-256 verification ├── client/ │ ├── mobile-client.ts # APKPure mobile API client (signed requests) │ └── scraping-client.ts # Web scraping client (Cheerio-based) ├── types/ │ ├── index.ts # Public SDK types │ └── api.ts # Mobile API response types └── utils/ ├── crypto.ts # HMAC signing for mobile API ├── headers.ts # Default HTTP headers ├── http.ts # HTTP client (fetch + proxy support) └── proxy.ts # Proxy auto-detection ``` **双模式策略:** 在 `auto` 模式下,为了速度和结构化数据,会优先尝试移动端 API。如果失败,抓取客户端会自动回退。你可以使用 `--mode api` 或 `--mode scraping` 强制指定模式。 ## 测试覆盖率 172 个测试,覆盖所有核心模块的 96% 以上代码行。 ``` npm test ``` ## 许可证 MIT
标签:AI代理集成, Android应用市场, APKPure, APK下载, GFW绕过, GNU通用公共许可证, MITM代理, Node.js, npm包, VPS部署, XAPK, 云资产清单, 代理自动检测, 元数据提取, 双模式(API+爬虫), 安全可观测性, 应用商店搜索, 应用程序分析, 版本控制, 自动化攻击, 软件分析, 进程保护, 逆向工程