使用各位大佬的程序来反代cloudflare,但是出现下面的错误,请帮忙解决。

明白了,代码应该写在测试那里。

那个是Cloudflare worker的代码,应该写在cf worker的代码编辑里面。

一个典型JSON的请求体:

{
    "model": "gpt-4-pro-max",
    "messages": [
      {
        "role": "system",
        "content": "You are a helpful assistant."
      },
      {
        "role": "user",
        "content": "鲁迅和周树人是什么关系?"
      }
    ]
  }

或者你也可以通过curl来验证接口的有效性:

curl --location 'https://YOUR_DOMAIN/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer none' \
--data '{
    "model": "gpt-4-pro-max",
    "messages": [
      {
        "role": "system",
        "content": "You are a helpful assistant."
      },
      {
        "role": "user",
        "content": "鲁迅和周树人是什么关系?"
      }
    ]
  }'

没挂?我请求了不行啊,Internal Server Error

那就是又挂了呗,我半小时前测试是能用的。挂了也别来找我,代码不是我写的

1 个赞

明白了,work代码最后还是要写在CF work中的,只是请求验证要科学上网。


然后使用post发送请求来验证。

填域名就不用科学上网了

1 个赞

好的,现在取消了科学上网,但还是不能联通,看来代码是真的挂了,现在的截图:



虽然代码不能用了,但是总算知道cf work 怎么使用了。

这和代码挂不挂无关,401是按代码逻辑返回的,马思克上面已经告诉你了,加Bearer none

1 个赞

如果遇到HTTP500(Internal Server Error)这样试试,或许能解决。
在Header 加上一行:

"origin": "https://chatpro.ai-pro.org",

推测应该是有一个challenge校验,加上就不校验了。

1 个赞

不懂就问:没有请求’Authorization: Bearer none’,ChatBox或者lobechat都不能正常用,有现成的工具可以自定义’Authorization: Bearer none’吗 :rofl: 我部署了one api是不是还得去改代码

你用这些工具,key填none就行

没想到还能填none!!万万没想到,填了none就能用了!不过刚才发现gpt-4-turbo的模型,返回不了结果了,其他模型比如3.5、gpt-4或者4-preview都是正常返回。

刚刚又试了试 gpt-4-turbo-2024-04-09,这个完全正常!!

你消息有点晚了,维护过后就没gpt-4-turbo了,还有gpt-4-pro-max,可以看看坛友的帖子

看到了!多谢佬!

1 个赞


beare none,在原代码中已经加上了呀,难道还要再加一次?

因果颠倒,是因为代码里有个才需要请求时加上none

1 个赞


填加了这一行,现在返回404错误,不过这个也是要先科学上网联通之后,正常发送信息之后再关掉,才能正常发送验证消息。

这么一说,仔细看程序才发现真没有none。

image

说人话吧。
这个意思是:调用request(客户端请求对象).(的)headers(报头).(的)get(get方法)(获取一个叫’Authxxxx’的参数的值),最后将值赋值给 const authHeader

image
这个意思是,if(如果)(authxxx(这个参数的值!==(不等于)“Bearer none”))
return(返回) new Response(构造一个响应对象)(“UnautXXXX”(要响应的消息),{status:401(返回一个状态码401)})

总结来说就是,当你的客户端发送到woker的服务器端,worker会接收到你的请求,然后判断你的请求中的Authorization的值是不是Bearer none,如果不是,则返回一个消息和一个401的状态码

1 个赞

这个旁边的404你不用管它,这个意思是get请求获取到的资源是状态码404和一个消息Not found

1 个赞