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 — 零配置,自动检测代理。
[](https://www.npmjs.com/package/apkpure)
[](https://nodejs.org/)
[](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+爬虫), 安全可观测性, 应用商店搜索, 应用程序分析, 版本控制, 自动化攻击, 软件分析, 进程保护, 逆向工程