目前在国内无法使用newbing,之前通过在请求头添加X-Forwarded-For的方法也不能用了。只有魔法才能用newbing了。但是newbing真的太好用了,我自从用过之后就再也停不下来了。于是我又开始寻找不需要魔法的方法。(因为真的太贫穷了魔法对我来说还是太贵了,不然也不用折腾了。)有一次我打开科学上newbing查资料,之后关掉了魔法,然后居然还能用。于是我就打开network调试看了下,发现聊天的api不需要魔法也可以用,但是请求创建聊天的api没有魔法是不能用的,于是就有了写这个插件的想法。
'https://www.bing.com/turing/conversation/create' //需要魔法
'wss://sydney.bing.com/sydney/ChatHub' //不需要魔法
创建聊天的api是这个
'https://www.bing.com/turing/conversation/create'
这个api请求只是请求一个 ‘对话id’ ‘用户id’ 和 ‘签名’ 返回的结果大致是这样
{
"conversationId": "对话id",
"clientId": "用户id",
"conversationSignature": "签名",
"result": {
"value": "Success",
"message": null
}
}
创建聊天api请求数据量非常少,只需要代理这个请求就可以了。于是我想到了‘cloudflare’
cloudflare 的 worker 就可以轻松代理这种请求。
(其实数据量大也不是不能代理,就是免费额度就这么点分享几个人用就无了)
于是我就去github找了一波,然后改了一下(就是把没用的部分全删掉了,删了90%差不多,当时复制过来300多行,删完只有30行了)。代码在这里 -> worker.js
其实就是 ‘浏览器 -> cloudflare worker -> 创建聊天的api’
这样创建聊天的api就搞定啦。
因为请求创建聊天的api是需要Cookit的,所以在请求的时候所有'.bing.cn' 的Cookit都会被发送到代理,所以我非常不推荐使用别人分享给你的魔法链接,除非是非常信任的人。Cookit泄漏是非常危险的,他人拿到你的Cookit可以不需要密码,不需要验证码,直接登录你的微软账号。