一个开门 app 自动化

121 天前
 zchyit
小区用了一个联网开门的东西,必须用他们的 app 。

刚开始我抓包了他们提供给物业集成的 API ,跳过了全是广告的 app 。
最近不知道怎么了,厂商停止了原有 app 的维护(换了一个广告更多的小程序),原先那套给物业的 API 也不能用了。

又对小程序抓包,想用 IOS 捷径写一个开门脚本,最后发现开门动作是 WebSocket 发起的,IOS 捷径不支持。

所以想问下 IOS 上有没有可以发送 WebSocket 的 app ,且可以被捷径调用的?
一点办法没有的话,我是不是只能自己写个 app 了。。。
1812 次点击
所在节点    问与答
22 条回复
hkiJava
121 天前
你可以用 qx,mitm 拦截域名,构造请求什么的
StinkyTofus
121 天前
写一个简单的网页连接 WebSocket 发送命令, 用捷径打开网页就好了。js 操作 WebSocket 还是挺简单的。
InDom
121 天前
补一下 #2 ,可以做成 pwa ,直接添加到桌面上,除了不能自动化,其他的跟捷径应该差不多。
tool2dx
121 天前
@StinkyTofus 一般都需要 cookie 认证或者签名算法吧,要不然这开门系统的安全性也太弱了。
hideon
121 天前
用小程序可能主要为了节约开发成本(跨平台),第二就是为了防止像楼主一样的吧(加强一些安全性)
mogutouer
121 天前
你如果家里有门铃可以开下面门的话,我是买了一个能接入米家的开关,藏在插座里面,把线接出来控制门铃那个按钮。

然后设置离家 50 米自动开锁,连到快捷指令也可以 hey siri 开门,米家的 app 把快捷操作放出来也方便。
Puteulanus
121 天前
JSBox 和 Pythonista 应该都支持,但两个都付费
也可以用 Expo 搓一个 RN 的,有点类似不用付费和审核的微信小程序,前提是你熟悉 React 的话
还有个办法是用云函数这种,转换成常规的 HTTP 调用,用捷径调云函数,云函数连 websocket 去开门
Puteulanus
121 天前
@StinkyTofus
@InDom 网页有跨域的问题吧
zchyit
121 天前
@hkiJava qx 在用,但是 qx 抓包也抓不到 websocket 包,能实现吗?有没有相关的例子呢?
@StinkyTofus 网页方案想过,需要服务器,增加了延迟(虽然不大,但是觉得不简洁)
@mogutouer 这是个好办法,但是只能开单元门,小区门就不行了。
@Puteulanus 只要有思路,我自信可以搞出来,毕竟 AI 可以提供很多帮助。JSBox 我试了,我判断是不支持 websocket 。Pythonista 要 68 ,没舍得。。。
hkiJava
121 天前
@zchyit #9 别用 qx 抓包,用 stream ,正则获取你要抓包的域名,关键点就在开门这个 http 请求的域名
zchyit
121 天前
@hkiJava #10 我在电脑上用 Charles 抓的,都能抓到。
stream 几年前用的,有一段时间总出问题,就卸载了。我装回来试试
hkiJava
121 天前
@zchyit #11 嗯 然后其实你纠结的点是广告,可以 qx 写规则去掉,应该比你说的方案工作量小
Puteulanus
121 天前
@zchyit 我拿 JSBox 文档的代码测试是可以的 https://docs.xteko.com/#/network/socket ,你是说你的那个 App 的 websocket 试了不行吗?不过 JSBox 订阅跟 Pythonista 没差多少了

Pythonista 淘宝能买到便宜的共享账号下载,挺强大个软件,用得舒服也可以考虑下付费
它是老牌软件了,所以 ChatGPT 这种基本上都能直接写它的代码(训练的数据里估计包含了有网上的脚本)

最简单的还是云函数转我觉得
walkeronway
121 天前
你之前发请求用的什么 APP ?我用的 APITester ,我看他可以使用 curl 命令或者 python 脚本来发送请求,你可以了解下看下行不行(我只发了 post 请求,没有试过这些),这个 APP 里面新建的请求是可以在捷径里面调用的
yiroonli
121 天前
哈哈,我这边的要在小程序打开的,好几个步骤,加载也有点慢。我自己也做了一个,点击启动就开门。
[![9cf3dc4d65c366139c0b7c26930f9c88.jpeg]( https://us1.myximage.com/2024/07/26/9cf3dc4d65c366139c0b7c26930f9c88.jpeg)]( https://img.so/image/22ATV8)
zchyit
120 天前
@Puteulanus #13 谢谢,我再在本地试试,主要还是跟喜欢一次性付费的东西。
zchyit
120 天前
@walkeronway #14 apitester 可以发 websocket ,唯一不满足的就是 websocket 不能自动化执行,它得先建立连接,然后发送消息。 手动倒是没问题
new123
120 天前
有软件 ishell 可以执行 python 脚本。 支持快捷指令。
zchyit
120 天前
@new123 没找到,包括外区,名字对吗
zchyit
120 天前
@new123 #18 是 ish 吗?看了下文档,
Create a Shortcut that puts together the following steps.
The Scripting "Open App" step to launch iSH.
The Scripting "Wait" step to give the SSH server enough time to start.
The Scripting "Run Script Over SSH" step to execute code in the iSH instance.
A step to switch away from the iSH app. (Since iSH is no longer in front, the SSH server stops.
第二步的 wait 让我觉得不简洁,我感觉自己多少有一点强迫症

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1060263

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX