Pandora Cloud + Pandora Server + Shared Chat + BackendAPI Proxy + Chat2API + Signup Free = PandoraNext. New GPTs(Gizmo) UI, All in one!
[!IMPORTANT] ✨ 一个新的 文档站,从部署到常见问题,甚至接口调用都有详细说明。
✨ 现在我们可以使用PandoraNext 注册ChatGPT账号了,无墙,全代理!
✨ PandoraNext助手GPTs,如你有Plus账号,可向它求助项目问题(不要试图套源码)
PandoraNext
(演示站)Access Token
调用/backend-api/
和chat2api的接口。旧的、简易的文档。更新、更详细的访问文档站。
config.json
至你需要的参数。config.json
中,这是必须的前置步骤!./PandoraNext
启动即可。PandoraNext.exe
即可,当然最好在cmd中启动。data/config.json
中。data
目录中包含config.json
、tokens.json
示例文件可自行修改。docker compose up -d
原神启动!
$ docker pull pengzhile/pandora-next
$ docker run -d --restart always --name PandoraNext --net=bridge \
-p 8181:8181 \
-v ./data:/data \
-v ./sessions:/root/.cache/PandoraNext \
pengzhile/pandora-next
8181
端口,映射宿主机的8181
端口,可自行修改。/data
目录,config.json
、tokens.json
和获取license_id填写在config.json
中。/root/.cache/PandoraNext
目录,保留登录的session
,避免重启容器登录状态丢失。server {
listen 443 ssl http2;
server_name chat.zhile.io;
charset utf-8;
ssl_certificate certs/chat.zhile.io.crt;
ssl_certificate_key certs/chat.zhile.io.key;
...省略若干其他配置...
location / {
proxy_http_version 1.1;
proxy_pass http://127.0.0.1:8181/;
proxy_set_header Connection "";
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
proxy_cache off;
send_timeout 600;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
}
...省略若干其他配置...
}
http2
。ssl
也即https
,否则浏览器限制将无法复制网页内容。config.json
文件{
"bind": "127.0.0.1:8181",
"tls": {
"enabled": false,
"cert_file": "",
"key_file": ""
},
"timeout": 600,
"proxy_url": "",
"license_id": "",
"public_share": false,
"site_password": "",
"setup_password": "",
"server_tokens": true,
"proxy_api_prefix": "",
"isolated_conv_title": "*",
"disable_signup": false,
"auto_conv_arkose": false,
"proxy_file_service": false,
"custom_doh_host": "",
"captcha": {
"provider": "",
"site_key": "",
"site_secret": "",
"site_login": false,
"setup_login": false,
"oai_username": false,
"oai_password": false,
"oai_signup": false
},
"whitelist": null
}
bind
指定绑定IP和端口,在docker内,IP只能用0.0.0.0
,否则映射不出来。bind
参数的IP请使用0.0.0.0
!!!
tls
配置PandoraNext直接以https
启动。
enabled
是否启用,true
或false
。启用时必须配置证书和密钥文件路径。cert_file
证书文件路径。key_file
密钥文件路径。timeout
是请求的超时时间,单位为秒
。proxy_url
指定部署服务流量走代理,如:http://127.0.0.1:8888
、socks5://127.0.0.1:7980
license_id
指定你的License Id,可以在这里获取。public_share
对于GPT中创建的对话分享,是否需要登录才能查看。为true
则无需登录即可查看。site_password
设置整站密码,需要先输入这个密码,正确才能进行后续步骤。充分保障私密性。不少于8
位,且同时包含数字
和字母
!setup_password
定义一个设置密码,用于调用/setup/
开头的设置接口,为空则不可调用。不少于8
位,且同时包含数字
和字母
!server_tokens
设置是否在响应头中显示版本号,true
显示,false
则不显示。proxy_api_prefix
可以给你的proxy
模式接口地址添加前缀,让人意想不到。注意设置的字符应该是url中允许的字符。包括:a-z
A-Z
0-9
-
_
.
~
proxy_api_prefix
你必须设置一个不少于8
位,且同时包含数字
和字母
的前缀才能开启proxy
模式!
/backend-api/conversation
proxy模式比例 1:4
/v1/chat/completions
3.5模型比例 1:4
/v1/chat/completions
4模型比例 1:10
, 无需打码/api/auth/login
登录接口比例 1:100
,无需打码/api/auth/login2
获取refresh_token
接口比例 1:1000
,无需打码/api/arkose/token
获取arkose_token
,比例 1:10
/api/auth/platform/login
登录platform接口比例 1:100
,无需打码isolated_conv_title
现在隔离会话可以设置标题了,而不再是千篇一律的*
号。disable_signup
禁用注册账号功能,true
或false
。auto_conv_arkose
在proxy
模式使用gpt-4
模型调用/backend-api/conversation
接口是否自动打码,使用消耗为4+10
。proxy_file_service
在proxy
模式是否使用PandoraNext的文件代理服务,避免官方文件服务的墙。custom_doh_host
配置自定义的DoH
主机名,建议使用IP形式。默认启动时在公共DoH
中挑选你所在地区最快的那个。captcha
配置一些关键页面的验证码。
provider
验证码提供商,支持:recaptcha_v2
、recaptcha_enterprise
、hcaptcha
、turnstile
、friendly_captcha
。site_key
验证码供应商后台获取的网站参数,是可以公布的信息。site_secret
验证码供应商后台获取的秘密参数,不要公布出来。有些供应商也称作API Key
。site_login
是否在全站密码登录界面显示验证码,true
或false
。setup_login
是否在设置入口登录界面显示验证码,true
或false
。oai_username
是否输入用户名界面显示验证码,true
或false
。oai_password
是否在输入登录密码界面显示验证码,true
或false
。whitelist
邮箱数组指定哪些用户可以登录使用,用户名/密码登录受限制,各种Token登录受限。内置tokens不受限。whitelist
为null
则不限制,为空数组[]
则限制所有账号,内置tokens不受限。whitelist
的例子:"whitelist": ["[email protected]", "[email protected]"]
tokens.json
文件{
"test-1": {
"token": "access token / session token / refresh token",
"shared": true,
"show_user_info": false
},
"test-2": {
"token": "access token / session token / refresh token",
"shared": true,
"show_user_info": true,
"plus": true
},
"test2": {
"token": "access token / session token / refresh token / share token / username & password",
"password": "12345"
}
}
token
支持示例文件中所写的所有类型。session token
和refresh token
可自动刷新。token key
,可在登录框作用户名输入。如上:test-1
、test-2
等,随意更改。password
则输入完token key
进入输入密码页面输入匹配。shared
为true
,则这个账号会出现在/shared.html
中,登录页面会出现它的链接。shared
为true
,则这个账号不能再在用户名登录框进行登录。/shared.html
中的账号和共享站功能相同,可以自行设置隔离密码进行会话隔离。plus
用来标识/shared.html
上账号是否有金光,没有其他作用。show_user_info
表示/shared.html
共享时是否显示账号邮箱信息,GPTs建议开启。password
且shared
不可为true
。邮箱,密码
,此种是0
额度消耗的。access token
和session token
。只是给UI方便获取,1:100
的消耗依然存在。access token
或session token
,手动获取share token
,share token
,手动组pool token
。ChatGPT
网页版接口,具体F12去页面上看。ChatGPT
网页版接口,具体F12去页面上看。https://api.openai.com/v1/*
开头的接口,每次调用1:1
。https://api.openai.com/dashboard/*
开头的接口,每次调用1:1
。ChatGPT
模拟API
的请求接口,支持share token和pool token。gpt-4
类型。使用urlencode form传递type=gpt-4参数。获取后可API方式调用GPTs
config.json
、tokens.json
等配置。platform
的refresh token获取access token,使用urlencode form传递refresh_token参数。platform
获取access token,使用urlencode form传递username 和 password 参数。如果要获取sess key
,增加参数prompt=login
。/<proxy_api_prefix>
,也就是你设置的前缀。config.json
中设置setup_password
为非空!<Base URL>/setup
,其中<Base URL>
是你部署服务的地址。License Id:
后的内容,填写在config.json
的license_id
字段。config.json
中没有填写license_id
字段,启动会报错License ID is required
。License Id
之后,通常需要手动删除license.jwt
再启动。[!CAUTION]
- 如果你发现网页上不能复制,开启
https
或者使用127.0.0.1
。- 如果你正在自定义页面元素,请保留:
Powered by PandoraNext
文字和链接。About PandoraNext
文字和链接。- 如果要抹,请在一百多个js文件中去除若干
dom检测
代码。- 抹了后果如何我不说。
PHP
是世界上最好的编程语言。
感谢所有让这个项目变得更好的贡献者们!