- 桌面应用
- 前端
- 后端
- 社交
【免费下载链接】coolapk-desktop
酷安跨平台桌面版
coolapk-desktop 是一款基于 Tauri 2、Vue 3 与 Rust 的酷安跨平台桌面客户端。本文基于 2026-08-06 的实测数据,完整拆解它的酷安API逆向过程:8 组探测函数、208 个探测用例、110+ 接口端点的可用性全报告——哪些接口可用、哪些必须登录、哪些已被官方废弃,一目了然。
一、项目速览:这套桌面客户端凭什么跑起来 🖥️
酷安官方并没有提供桌面端,coolapk-desktop 的思路是:直接逆向官方 Android 客户端的接口规范,用 Rust 在后端复现一套"合规"的酷安API调用器,再由 Vue 3 前端消费数据。
因此整个项目有一条清晰的调用链:
- Rust 层 client.rs:统一构造请求头与签名,封装 270+ 个接口方法;
- 命令层 commands.rs:把接口能力暴露给前端;
- 前端层 coolapk.ts(1800+ 行):页面组件直接调用的 TypeScript API 门面。
下面这张首页截图里的动态流、热榜、热门话题、侧边栏榜单,背后分别对应indexV8、dataList、hotSearch等不同端点:
二、逆向起点:从官方 APK 到全量接口文档 🔍
逆向的第一手资料是酷安 Android 客户端的反编译源码(UriActionUtils、AuthUtils、HttpClientFactory等类)。项目将其整理成一份全量接口文档:docs/COOLAPK_API_DOCUMENTATION.md。
有两个细节最影响"能不能调通":
1️⃣ 请求头必须齐。核心请求头见官方原生 API 接口文档的规范表,其中X-Requested-With: XMLHttpRequest决定返回 JSON 还是 HTML;X-App-Device本项目每次启动随机生成,不做固定设备指纹。
2️⃣X-App-Token是动态签名。v3 Token 由"内置密钥片段 + 设备码 MD5 + 时间戳 + AppCode"拼接后经 MD5、取盐、bcrypt(cost=10)生成,实现见 auth.rs。由于 bcrypt 盐存在无效位,时间点前 15 秒内会自动向前探测重试——无需登录即可调用公开接口。
响应结构也很统一:code: 200成功;401未登录;-10001 + forwardUrl=/account/login登录跳转;消息含"验证码"表示触发反爬;API unsupported.则意味着接口已废弃。这几个"暗号"正是后面可用性判定的依据。
三、测试体系:8 组探测函数 × 208 个用例 🧪
可用性结论不是拍脑袋写的,而是由一套可复现的自动化探测体系产出,核心位于 api_tests.rs(约 3000 行):
| 探测函数 | 职责 |
|---|---|
probe_readonly_endpoints_smoke | 只读接口冒烟测试(32 个) |
probe_all_documented_endpoints_from_collect | 全部文档化 API 探测(40 个端点,含可登录检测) |
probe_all_write_endpoints_http_method | 写接口 GET/POST 方法逐一验证(20 个) |
probe_extra_endpoints_from_web | V8 页面/用户子类型/搜索/通知等补充端点(58 个) |
probe_more_endpoints_deep | api2 路由/直连/排序类型等深度探测(25 个) |
probe_api2_and_static_endpoints | api2 主机 + 静态资源探测 |
probe_undocumented_endpoints | album/headline/favorite 等未文档化端点(31 个) |
probe_uwp_collected_endpoints | UWP 社区收集的补充端点(17 个) |
这些测试标记为#[ignore]联网测试(避免 CI 误触发真实请求),需要时手动运行。此外还有 client_tests.rs 中 70+ 个离线单测(校验请求参数与 APK 契约一致),以及前端 181 个测试文件、900+ 个 Vitest 用例兜底数据解析逻辑。
四、实测结果一览:7 大类接口汇总 📊
以下为2026-08-06 实测的完整汇总,原始表格见 docs/coolapk-api.md:
| 分类 | 数量 | ✅ 可用 | 🔒 需登录 | ❌ 已废弃 | 🚫 被拦截 |
|---|---|---|---|---|---|
| 基础文档化 API | 40 | 24 | 5 | 10 | 1 |
| 只读接口冒烟 | 32 | 22 | 3 | 5 | 2 |
| 补充端点(V8/用户/通知等) | 58 | 45 | 1 | 7 | 5 |
| 深度探测(api2/直连/排序等) | 25 | 11 | 1 | 10 | 3 |
| 写接口方法探测 | 20 | 7(GET) | - | 3 | 10(POST) |
| 未文档化端点 | 31 | 21 | 6 | 0 | 4 |
| UWP 收集补充端点 | 17 | 16 | 1 | 0 | 0 |
总览:8 个测试函数、208+ 个探测用例、110+ 个不同接口端点,其中约六成可直接匿名使用,需登录接口全部"可达"(返回 401 而非不存在),说明方法判断正确、带 Cookie 即可用。
五、六大核心发现:这些坑官方文档里查不到 ⚡
1. 写接口只能用 GET,POST 全部 404这是最反直觉的一条:点赞、关注、评论、发帖、私信等全部写接口,用 POST 会返回 404"请求方式错误",GET(带 Query 参数)才是正确姿势。未登录时 GET 返回 401"你还没有登录",恰好可用作"接口可达性"探针。
2. V8 页面必须走/v6/page/dataList/v6/page直连已废弃,热榜、精选、编辑选择、用户页各 Tab 等数据全部要通过dataList配url参数路由获取。
3. 废弃接口清单account/login、sendVcode、loginByMobile全部 403 停用(只剩 Webview OAuth 登录);通知的atme/comment/like/feedlike四个列表端点下线(checkCount仍可用);用户侧pictureList、ershouList、favList、followFeedList也已下线。
4.api2.coolapk.com是可用的备用主机但user/profile在该主机上会重定向到 HTML,需要按接口区分主机。
5. 风控策略清晰可辨未登录请求动态详情会触发验证码拦截;user/replyList被安全策略拦截;静态资源中avatar.coolapk.com、static.coolapk.com正常,image.coolapk.com出现异常状态码(HTTP 567)——前端因此做了多 CDN 兜底。
6. 反向挖出 20+ 个"隐藏"可用接口如album/list、album/search、main/headline、feed/editorChoiceList、apk/giftList、picture/list?tag=等,目前文档里找不到,但实测稳定返回数据。
六、从接口到界面:前端如何消费这些端点 📱
每个"✅ 可用"的端点最终都对应一个页面功能。例如用户空间页:资料头部、统计数字、homeTabCardRows卡片全部来自GET /v6/user/space,而"动态/评分/酷图/二手"各 Tab 由不同列表接口驱动:
数码频道同理:product/categoryList、rating/square等接口数据渲染成产品卡片与评分:
需要登录态的接口(私信、拉黑、收藏、评论等)则依赖 Cookie 登录,抓包与导入方法详见 docs/cookie-guide.md。
七、如何复现这套可用性测试 🛠️
整个过程完全可复现,两条命令即可:
git clone https://gitcode.com/gh_mirrors/co/coolapk-desktop cd coolapk-desktop && npm ci# 运行全部 8 组 API 探测(需联网,建议带登录 Cookie 测写接口) cargo test --lib coolapk::client::api_tests:: -- --ignored --nocapture每个探测函数也可单独运行(命令清单见 docs/coolapk-api.md 的"测试方法"一节)。
八、写在最后 ✍️
coolapk-desktop 的价值不只在于"能用的桌面客户端",更在于它用可复现的自动化探测把一套没有公开文档的私有 API 摸成了明牌:208 个用例给出的"可用/需登录/废弃/拦截"四维状态,对任何想接入酷安API的开发者都是现成的地图。
需要提醒的是:本项目为社区维护的非官方客户端,与酷安官方无隶属或合作关系;接口随时可能因官方调整而失效,请务必仅用于学习研究,勿滥用官方接口。
- 桌面应用
- 前端
- 后端
- 社交
【免费下载链接】coolapk-desktop
酷安跨平台桌面版
相关推荐
酷安桌面客户端安全实践:coolapk-desktop 如何保护你的 Cookie 与隐私
酷安桌面客户端安全实践:coolapk desktop 如何保护你的 Cookie 与隐私 酷安桌面版 coolapk desktop 是一款跨平台桌面客户端,
桌面应用前端后端社交coolapk-desktop是什么:Windows、macOS、Android五端通吃的酷安跨平台客户端全览
coolapk desktop是什么:Windows、macOS、Android五端通吃的酷安跨平台客户端全览 coolapk desktop 是一款开源、非官
桌面应用前端后端社交酷安桌面版效率指南:coolapk-desktop的搜索、收藏、私信、历史10个实用功能
酷安桌面版效率指南:coolapk desktop的搜索、收藏、私信、历史10个实用功能 coolapk desktop(酷安桌面版)是一款基于 Tauri 2
桌面应用前端后端社交
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考