部署PandoraNext

PandoraNext已G

缘由

本身自己就是一个GPT的重度用户,使用的时候当然由于个人习惯,没有什么麻烦的地方。但是我的一些朋友可能和我感兴趣的点不一样,他们的账号都是找我帮忙注册的,甚至几乎他们都是为了用GPT才购买的某些魔法。除了他们我也没关注过可能一个对这些东西都不了解但是有需求的人是如何使用GPT的,今天突然看到,才发现有许多渠道可以实现。尤其PandoraNext的部署因为网上有很多教程,加上新版本有了全代理ChatGPT账号注册这一个新功能,就想着自己也部署一个。用不用的不要紧,重点就是超链里它介绍的一样——可以装逼。

部署

(此部分网上有完整教程且docker部署及其简单):

1、下载docker.sh安装脚本:

curl -fsSL https://get.docker.com -o get-docker.sh

2、运行Docker安装脚本

sh get-docker.sh

3、启动 Docker 服务

systemctl start docker
4、检查 Docker 服务状态:

systemctl status docker

5、拉取 Pandora Docker 镜像:

docker pull pengzhile/pandora-next

6、创建 Pandora 文件夹并进入:

mkdir PandoraNext && cd PandoraNext

7、启动 Pandora 镜像:

docker run -d --restart always --name PandoraNext --net=bridge -p 8181:8181 -v ./data:/data -v ./sessions:/root/.cache/PandoraNext pengzhile/pandora-next

8、进入 data 文件夹 并拉取json文件:

cd data
curl -LOJ https://raw.githubusercontent.com/pandora-next/deploy/master/data/config.json && curl -LOJ https://raw.githubusercontent.com/pandora-next/deploy/master/data/tokens.json

9、编辑config.json:

vim config.json

如下所示:

{
  "bind": "0.0.0.0: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
}

正常使用只需要添加license_id并修改proxy_file_service为true。

  • bind指定绑定IP和端口,在docker内,IP只能用0.0.0.0,否则映射不出来。
  • 如果你不打算套nginx等反代,bind参数的IP请使用0.0.0.0!!!
  • tls配置PandoraNext直接以https启动。
    • enabled是否启用,truefalse。启用时必须配置证书和密钥文件路径。
    • cert_file证书文件路径。
    • key_file密钥文件路径。
  • timeout是请求的超时时间,单位为
  • proxy_url指定部署服务流量走代理,如:http://127.0.0.1:8888socks5://127.0.0.1:7980
  • license_id指定你的License Id。这里打开后登录Github账号,PandoraNext作者根据账号年限给24小时不同的对话数量。
  • public_share对于GPT中创建的对话分享,是否需要登录才能查看。为true则无需登录即可查看。
  • site_password设置整站密码,需要先输入这个密码,正确才能进行后续步骤。充分保障私密性。不少于8位,且同时包含数字字母
  • setup_password定义一个设置密码,用于调用/setup/开头的设置接口,为空则不可调用。不少于8位,且同时包含数字字母
  • server_tokens设置是否在响应头中显示版本号,true显示,false则不显示。
  • proxy_api_prefix可以给你的proxy模式接口地址添加前缀,让人意想不到。注意设置的字符应该是url中允许的字符。包括:a-zA-Z0-9-_.~
  • proxy_api_prefix你必须设置一个不少于8位,且同时包含数字字母的前缀才能开启proxy模式!
    • /backend-api/conversationproxy模式比例1:4
    • /v1/chat/completions3.5模型比例1:4
    • /v1/chat/completions4模型比例1:10, 无需打码
    • /api/auth/login登录接口比例1:100,无需打码
    • /api/arkose/token获取arkose_token,比例1:10
  • isolated_conv_title现在隔离会话可以设置标题了,而不再是千篇一律的*号。
  • disable_signup禁用注册账号功能,truefalse
  • auto_conv_arkoseproxy模式使用gpt-4模型调用/backend-api/conversation接口是否自动打码,使用消耗为4+10
  • proxy_file_serviceproxy模式是否使用PandoraNext的文件代理服务,避免官方文件服务的墙。
  • custom_doh_host配置自定义的DoH主机名,建议使用IP形式。默认启动时在公共DoH中挑选你所在地区最快的那个。
  • captcha配置一些关键页面的验证码。
    • provider验证码提供商,支持:recaptcha_v2recaptcha_enterprisehcaptchaturnstilefriendly_captcha
    • site_key验证码供应商后台获取的网站参数,是可以公布的信息。
    • site_secret验证码供应商后台获取的秘密参数,不要公布出来。有些供应商也称作API Key
    • site_login是否在全站密码登录界面显示验证码,truefalse
    • setup_login是否在设置入口登录界面显示验证码,truefalse
    • oai_username是否输入用户名界面显示验证码,truefalse
    • oai_password是否在输入登录密码界面显示验证码,truefalse
  • whitelist邮箱数组指定哪些用户可以登录使用,用户名/密码登录受限制,各种Token登录受限。内置tokens不受限。
  • whitelistnull则不限制,为空数组[]则限制所有账号,内置tokens不受限。
  • 一个whitelist的例子:"whitelist": ["mail2@test.com", "mail2@test.com"]

10、修改tokens.json

首先说一下如何获得access token(因为我一开始就弄的这个,但是这个是10天有效,每10天会改变)。

1)登录官方GPT。

2)进入这个网站

3)复制access token。

  • token 支持示例文件中所写的所有类型。
  • session token 和refresh token 可自动刷新。
  • 每个key 被称为token key ,可在登录框作用户名输入。如初始的:test-1、test-2等。
  • 如果设置了password 则输入完token key 进入输入密码页面输入匹配。
  • 如果设置shared 为,则这个账号会出现在/shared.html 中,登录页面会出现它的链接。
  • 如果设置shared 为true ,则这个账号不能再在用户名登录框进行登录。
  • /shared.html 中的账号和共享站功能相同,可以自行设置隔离密码进行会话隔离。
  • plus用来标识/shared.html 上账号是否有金光(我给删了)。
  • show_user_info 表示/shared.html 共享时是否显示账号邮箱信息。
11、重新启动 Pandora Docker 镜像(每次修改完config和tokens都要重启PandoraNext或者可以选择去<域名>/setup修改,可以做到热加载):
docker restart PandoraNext
12、前往服务器后台开端口:记得打开对应端口 8181,与bind那写的一样就行。

更新

更新PandoraNext 服务以匹配 Git 上的最新更新通常涉及以下步骤:
1、停止并移除当前运行的容器使用 docker stop PandoraNext 命令停止当前运行的 PandoraNext 容器。接着使用 docker rm PandoraNext 命令删除该容器。2、拉取最新的 Docker 镜像

使用 docker pull pengzhile/pandora-next 命令来拉取最新的镜像。确保拉取的是包含最新更改的正确标签(如 latest 或特定版本号)。

3、重新启动容器

使用先前提供的 docker run 命令来启动新的容器实例。确保使用相同的端口映射和卷挂载设置,以保持数据一致性。

docker run -d --restart always --name PandoraNext --net=bridge \ -p 8181:8181 \ -v ./data:/data \ -v ./sessions:/root/.cache/PandoraNext \ pengzhile/pandora-next

Nginx反代

1、搞个域名

我个人是阿里云买的域名,所以我去阿里云上又弄了一个二级域名指向服务器IP。

2、在宝塔面板添加站点

3、创建反代

4、点击右侧配置文件

修改:

proxy_set_header Host $host;-->proxy_set_header Host $http_host;

添加:

 

    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_buffering off;             # 关闭缓冲
    proxy_cache off;                 # 关闭代理缓存
    send_timeout 600;
    proxy_connect_timeout 600;
    proxy_send_timeout 600;
    proxy_read_timeout 600; 

如下图所示:

 

成功

输入入站密码:

本内容需要登录后才能查看

如果有人居然浏览到了我这个小破网站,并且有需要偶尔使用一下GPT,建议去这个共享网站

版权声明:
作者:shawn
链接:https://blog.shawn.chat/%e9%83%a8%e7%bd%b2pandoranext/
来源:Peng的小屋
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录