开门亲邻

无广告 · 无启动页 · 按下即开

验证码登录
SessionId 登录

仅供本机自用 · 请使用自己的账号
使用帮助 / 抓包指引

开门

⚙
准备好了按下按钮,1 秒开门

设置

✕
登录状态

我的门禁

名称可随意填;communityId 与 doorControlId 来自一次开门请求的抓包(URL 中的参数)。至少添加一个门。

接口与签名(抓包后按需修改)

sign 计算模板:支持 {sessionId} {appChannel} {doorControlId} {communityId} {mobile} {timestamp} {nonce} {version} {SECRET} {sorted}(sorted=除 sign 外参数按 key 升序 k=v& 拼接)。最终 sign = MD5(模板填充结果)。

使用帮助

✕
① 部署到宝塔(免费)

1. 宝塔 → 网站 → 添加站点(PHP 环境)→ 建好后进入网站根目录。
2. 把 index.html / style.css / app.js / proxy.php 四个文件一起上传到根目录。
3. 手机浏览器打开你的域名 → 「添加到主屏幕」。
proxy.php 是同源代理,负责转发接口解决跨域;若只放了三个静态文件(无 PHP),页面只能进入演示模式,无法真正开门。

② 快速跑通(推荐顺序)

1. 抓一次 App 的「开门」请求:URL 是 POST /api/open/doorcontrol/v2/open?sessionId=..&doorControlId=..&communityId=..&timestamp=..&nonce=..&sign=..
2. 把整段 query 粘贴到 设置→「开门兜底参数」,填好 doorControlId/communityId,即可先开门(部分老接口允许重放)。
3. 要长期稳定使用(timestamp/nonce 每次变化),需要 sign 算法:设置里改「sign 模板 + 密钥常量」,sign = MD5(模板)。

③ 怎么抓包

亲邻 App 是 Flutter 且带证书校验,普通代理抓不到开门接口。可行办法:
· 支付宝小程序:亲邻在支付宝有小程序端,走系统代理,用 iOS「Stream」/ Android「HttpCanary」即可抓到同族接口(网关域名 gateway2 / mobileapi3.qinlinkeji.com)。
· reFlutter 重打包:参考 oylong 博客《亲邻开门APP抓包逆向总结》(ReFlutter + BurpSuite),sign 算法需再配合 Frida hook 取拼接规则。
· 登录接口 /api/app/v1/login 返回 sessionId,用它可免验证码长期登录(勤开门可保活数日,失效就重抓一次)。

④ 说明

本工具仅转发你本人账号的登录与开门请求,不提供任何越权能力;请勿传播或用于他人账号。接口地址可能随 App 版本变化,失效时重新抓包并更新设置即可。