跳转至

Android v391.0.0.42.82 能力索引

本文档对应一手协议目录:

/Users/zhangpengqiang/code/frida/ins/docs/api/android/v391.0.0.42.82

索引只记录 SDK 侧实现状态与暴露边界,不复制一手抓包中的 cookie、session、Authorization、账号凭据或 TOTP secret。

状态说明

状态 含义
已实现 请求构造、关键响应解析或登录闭环行为已进入 SDK,并有测试或流程覆盖。
部分实现 低层 API 或 helper 已接入,但业务响应模型、端到端闭环或部分外部输入仍由调用方承担。
内部使用 作为登录/init 等流程的一部分自动调用,不作为独立用户 API 暴露。
Rust-only 仅 Rust core 暴露;Python/CLI 暂不绑定。

入口总览

能力 Rust core Python CLI
v391 登录 / 2FA igapi_core::android::v391::Client igapi.android.v391.Client --android-version 391 login
v391 attestation challenge / provider client.attestation() / with_attestation_provider(...) / provider 预检方法 暂不暴露 v391-provider-check 本地诊断;challenge 仍库 API only
v391 注册 / onboarding / home 稳定摘要 RegistrationFlow / OnboardingFlow / typed *_response 稳定 typed wrapper 已暴露 v391-home-smoke 仅诊断;注册/onboarding 库 API only
v391 init / GraphQL / telemetry raw API client.init() / graphql() / telemetry() 暂不暴露 库 API only

端点索引

分类 原始文档 SDK 状态 暴露边界
config mobileconfig.md 已实现 内部使用:v391 登录第 1 步,表单构造在 android::versions::v391::login
attestation create_android_keystore.md 已实现 Rust core client.attestation().create_keystore_challenge_nonce(...) / create_keystore_attest_header(...);登录与注册 flow 内部复用;硬件签名由 provider 提供。
attestation create_android_playintegrity.md 已实现 Rust-only challenge 请求;Google integrity_token 只由调用方或外部 provider 生成,默认 provider 返回 token_missing
login login_process_client_data_and_redirect.md 已实现 内部使用:v391 登录流程参数构造在 android::versions::v391::login
login phone_number_prefill.md 已实现 内部使用:v391 登录流程参数构造在 android::versions::v391::login
login login_oauth_token_fetch.md 已实现 内部使用:v391 登录流程参数构造在 android::versions::v391::login
login login_send_login_request.md 已实现 内部使用:加密密码与 X-IG-Attest-Params 接入 v391 登录闭环。
misc dual_tokens.md 已实现 内部使用:登录成功后 best-effort 调用,helper 在 android::versions::v391::init
2fa two_step_verification_entrypoint.md 已实现 Rust/Python/CLI 通过 complete_two_factor() 间接使用。
2fa verify_code.md 已实现 Rust/Python/CLI 通过 complete_two_factor() 间接使用;错误码保留上下文允许重试。
2fa caa_notif_status.md 部分实现 Rust-only client.two_factor().caa_notif_status(...);AAC 等不透明字段由调用方提供。
2fa has_been_allowed.md 部分实现 Rust-only client.two_factor().has_been_allowed(...);2FA context 由登录返回或调用方提供。
2fa push_ig_ndx_screen.md 部分实现 Rust-only client.two_factor().push_ig_ndx_screen(...);需要已登录 Bearer 授权。
2fa save_credentials.md 部分实现 Rust-only client.two_factor().save_credentials(...);lois token 不伪造。
init aed_current.md 部分实现 内部使用:登录后 GET 预热 best-effort 调用。
init loom_fetch_config.md 部分实现 内部使用:登录后 GET 预热 best-effort 调用。
init get_limited_interactions_reminder.md 部分实现 内部使用:登录后 GET 预热 best-effort 调用。
init get_presence_disabled.md 部分实现 内部使用:登录后 GET 预热 best-effort 调用。
init get_account_family.md 部分实现 内部使用:登录后 GET 预热 best-effort 调用。
init ndx_ig_steps.md 部分实现 内部使用:登录后 GET 预热 best-effort 调用。
init fetch_onetap.md 部分实现 内部使用:登录后 POST 预热 best-effort 调用。
init process_contact_point_signals.md 部分实现 内部使用:登录后 POST 预热 best-effort 调用。
init android_modules_download.md 部分实现 Rust-only client.init().android_modules_download(...);SDK 不自动下载或加载 CDN 模块。
init banyan.md 部分实现 Rust-only client.init().banyan(...);业务响应模型待稳定。
init push_register.md 部分实现 Rust-only client.init().push_register(...);真实 FCM token 与 HPKE 公钥由调用方提供。
init app_reliability_push_blocking.md 部分实现 Rust-only client.init().app_reliability_push_blocking();登录后也会 best-effort 预热。
home feed_timeline.md 已实现 Rust feed_timeline*_response() 返回 HomeResponse;Python v391_home_feed_timeline_cold_start();CLI v391-home-smoke --target feed
home feed_reels_tray.md 部分实现 Rust-only client.home() 快拍托盘低层 API;业务响应模型待补。
home feed_reels_media.md 部分实现 Rust-only;reel ids 由调用方提供,SDK 不伪造。
home feed_user_story.md 部分实现 Rust-only;GET 查询 helper 已接入。
home highlights_tray.md 部分实现 Rust-only;GET 查询 helper 已接入。
home notifications_badge.md 已实现 Rust notifications_badge_response(...) 返回 HomeResponse;CLI 不暴露完整低层参数。
home news_inbox.md 部分实现 Rust-only;GET 查询 helper 已接入。
home discover_topical_explore.md 部分实现 Rust-only;探索页话题网格查询 helper 已接入。
home discover_ayml.md 部分实现 Rust-only;推荐关注请求构造已接入。
home sectioned_ayml.md 部分实现 Rust-only;分区推荐关注查询 helper 已接入。
home clips_discover.md 部分实现 Rust-only;device_status 由调用方提供。
home clips_discover_stream.md 部分实现 Rust-only;默认仅使用抓包中的空 device_status 形态。
home clips_discover_social.md 部分实现 Rust-only;device_status 由调用方提供。
home share_to_fb_config.md 部分实现 Rust-only;device_status 由调用方提供。
home direct_inbox.md 已实现 Rust direct_inbox_response(...) 返回 HomeResponse;Python v391_home_direct_inbox();CLI v391-home-smoke --target direct
home pending_requests_preview.md 部分实现 Rust-only;待处理请求预览 GET API 已接入。
home has_interop_upgraded.md 部分实现 Rust-only;互通升级状态 GET API 已接入。
home users_info.md 已实现 Rust users_info_response(...) 返回 HomeResponse;Python v391_home_users_info(user_id);CLI v391-home-smoke --target user --user-id <id>
home users_info_stream.md 部分实现 Rust-only;用户资料流表单 helper 已接入。
home creator_info.md 部分实现 Rust-only;创作者信息 GET API 已接入。
home write_supported_capabilities.md 部分实现 Rust-only;能力上报 signed body helper 已接入。
home get_good_time_for_live.md 部分实现 Rust-only;直播建议时段 signed body helper 已接入。
home media_blocked.md 部分实现 Rust-only;屏蔽媒体 GET API 已接入。
home get_notification_settings.md 部分实现 Rust-only;通知设置查询 helper 已接入。
home scores_bootstrap_users.md 部分实现 Rust-only;用户关系打分查询 helper 已接入。
home injected_reels_media.md 部分实现 Rust-only;client_doc_idtray_user_ids 由调用方提供。
home store_client_push_permissions.md 部分实现 Rust-only;推送权限状态由调用方提供。
reg fxcal_get_sso_accounts.md 已实现 Rust get_active_sso_accounts_response() 返回 RegistrationResponse;Python v391_registration_get_active_sso_accounts();完整注册仍需外部上下文。
reg spc_create_profile.md 已实现 Rust RegistrationFlow::spc_create_profile() 串联状态;Python 暂不暴露该中间步骤。
reg caa_reg_username.md 已实现 Rust validate_username_response(...) / RegistrationFlow::validate_username(...) 返回 RegistrationResponse;Python 暴露 validate username typed wrapper。
reg caa_reg_ac_optin.md 已实现 Rust ac_optin_response(...) / RegistrationFlow::ac_optin();CLI 不暴露完整注册。
reg caa_reg_create_account.md 已实现 Rust create_account_response(...) / RegistrationFlow::create_account();进入 create account 前要求外部 Play Integrity token 状态。
onboarding dynamic_onboarding_get_steps.md 已实现 Rust dynamic_steps_response(...) / OnboardingFlow::dynamic_steps();Python v391_onboarding_dynamic_steps(...)
onboarding contact_point_prefill.md 已实现 Rust contact_point_prefill_response(...) / OnboardingFlow::contact_point_prefill();Python v391_onboarding_contact_point_prefill(...)
onboarding rupload_igphoto.md 已实现 Rust v391 onboarding 专用 rupload offset / bytes,flow 记录 upload_id / entity_name;原始图片字节仍由调用方提供。
onboarding change_profile_picture.md 已实现 Rust change_profile_picture_response(...) / OnboardingFlow::change_profile_picture()
onboarding fxcal_link.md 已实现 Rust fxcal_link_response(...) / OnboardingFlow::fxcal_link_or_skip()
onboarding fxcal_link_log.md 已实现 Rust fxcal_link_log_response(...);SDK 不高频自动模拟埋点。
graphql graphql_www.md 部分实现 Rust-only client.graphql().graphql_www(...);支持 JSON / Pando / 文本响应。
graphql graphql_query.md 部分实现 Rust-only client.graphql().graphql_query(...);doc id 与 variables 由调用方提供。
graphql wwwgraphql_ig_query.md 部分实现 Rust-only client.graphql().wwwgraphql_ig_query(...)root_field_name 与 variables 由调用方提供。
telemetry logging_client_events.md 部分实现 Rust-only client.telemetry().logging_client_events(...);事件 payload 由调用方提供。
telemetry mci_ab_asset_manager.md 部分实现 Rust-only client.telemetry().mci_ab_asset(...);只接受 HTTPS fbcdn /mci_ab/ URL。
telemetry pigeon_nest.md 部分实现 Rust-only client.telemetry().pigeon_nest(...);二进制 cmsg 由调用方提供。
telemetry pigeon_health_metrics.md 部分实现 Rust-only client.telemetry().pigeon_health_metrics(...);health counters 由调用方提供。

暂不暴露到 Python / CLI 的原因

除登录、2FA、账号导入导出、部分注册/onboarding/home typed wrapper 和 CLI 诊断外,v391 低层能力大多依赖服务端/Bloks 不透明上下文、硬件 attestation、Play Integrity provider、FCM token、上传状态或业务 doc id。当前 Rust core 保留这些低层接口,Python/CLI 只暴露已稳定的摘要能力,避免形成看似稳定但无法端到端完成的用户接口。

验证入口

  • Rust core:cargo test -p igapi-core --lib
  • Python v391 命名空间:src/py/.venv/bin/python -m pytest tests/python/android/auth/test_version_select.py -v
  • CLI v391 参数:cargo test -p igapi-cli
  • Android v391 真实账号矩阵本地预检:cargo test -p igapi-core --test android_v391_matrix
  • Android v391 真实 API 矩阵:IGAPI_ANDROID_V391_REAL_E2E=1 cargo test -p igapi-core --test android_v391_matrix -- --ignored --nocapture --test-threads=1