admin 发表于 2024-8-17 14:30:16

我将分享一些关于逆向工程OpenAI ChatGPT网页版页面的思路和过程。

看到有人发了关于 ChatGPT web 版的帖子,让我想起了我以前搞 OpenAI 网页 ChatGPT web 版的时光。当时 api 额度只有 6 个月或 18 美元,分享给朋友都不够用。后来,ChatGPT 网站加了 Cloudflare 的验证,机器人访问就被封锁了。一些子域名可以绕过验证,但很快就被 OpenAI 发现了。

后来我发现了 fakeopen,可以反代绕过验证。但听说使用反代会导致封号,所以我开始自己研究。我发现浏览器不会被 Cloudflare 拦截,而爬虫会被拦截。于是,我开始模拟浏览器的路线。

修改请求头
我提取了浏览器请求头,发送请求,但没有用。后来,我又加上了 Cloudflare Cookie,但还是被拦截了。最后,我发现把 Chrome 的 UA 改成 Firefox,浏览器也会被拦截,说明还有其他特征被识别。我了解到 Cloudflare 会验证 UserAgent 与 JA3 指纹是否匹配,如果不匹配就会被拦截。

使用 utls 库
我发现了 utls 库,可以修改 Golang 的 JA3 指纹,成功绕过了 Cloudflare 的拦截。

浏览器 JavaScript 验证
OpenAI 后来加了很多验证,即使是浏览器也会被拦截。只有干净的 IP 才能绕过。唯一的区别是浏览器可以执行 JavaScript,而自动化程序不行。我不会 JavaScript 逆向,所以只能更换 IP。后来,我尝试使用 Selenium 等自动化工具,但仍然无法绕过验证。

使用浏览器 HTTP archive 文件
最后,我发现了 HTTP archive 文件,可以克隆浏览器状态,绕过验证。这个方法一直用到八九月。

一些想法
我发现大量 API 转卖站都在使用撸新号的方法。这是一种竭泽而渔的行为,但大家都这么做,我也没办法。逆向 access token 和使用试用新号的 API 都会被限速。我之前也玩过 Poe,但后来 Poe 的免费额度被取消了。现在,OpenAI 网页版 3.5 没有对话限制,算是比较良心了。

下一次再研究这些,就是等到所有试用新号都被封禁的时候。另外,不要问哪里买试用新号,我也不推荐。至于逆向,可以参考其他仓库。
页: [1]
查看完整版本: 我将分享一些关于逆向工程OpenAI ChatGPT网页版页面的思路和过程。