使用 ChatGPT Web Share 共享 ChatGPT Plus
如何共享 ChatGPT Plus?
由于 ChatGPT Plus 价格为 20 美元 / 每月,个人使用有点小贵,加上个人账号的使用频率远远没有达到 40 次 / 每 3 小时,同时也为了账号的共享使用,本文将使用开源的 ChatGPT Web Share 项目,来完成 ChatGPT 账号的共享,合理利用资源。
共享 ChatGPT Plus 账号使用有一定封号风险,请谨慎使用!
前提条件:
- 一个 ChatGPT Plus 账号
- 一台解锁 ChatGPT 访问的 VPS 服务器
- VPS 需提前安装好 Docker
1.创建应用目录并生成配置文件
为了方便管理数据和配置,我们首先创建好 /home/ubuntu/cws
目录:
1
2
3
$ cd ~
$ mkdir cws && cd cws
$ mkdir -p data/config
然后将 MongoDB 密码和系统管理员密码写入环境变量:
1
2
$ export MONGODB_PASSWORD=password
$ export INITIAL_ADMIN_PASSWORD=password
接着,我们运行一次 Docker 容器,用来生成配置文件:
1
2
3
4
$ docker run -it --rm \
-v $PWD/data/config:/tmp/config \
ghcr.io/chatpire/chatgpt-web-share:latest \
python /app/backend/manage.py create_config -O /tmp/config --generate-secrets --mongodb-url "mongodb://cws:${MONGODB_PASSWORD}@mongo:27017" --initial-admin-password "${INITIAL_ADMIN_PASSWORD}" --chatgpt-base-url http://ninja:7999/backend-api/
上面的命令将在
/home/ubuntu/cws/data/config
目录下生成config.yaml
和credentials.yaml
文件。
2.编写 docker-compose.yml 脚本
首先,创建环境变量配置文件 /home/ubuntu/cws/.env
:
1
2
3
4
$ echo "TZ=Asia/Shanghai" > .env
$ echo "MONGO_INITDB_DATABASE=cws" >> .env
$ echo "MONGO_INITDB_ROOT_USERNAME=cws" >> .env
$ echo "MONGO_INITDB_ROOT_PASSWORD=$MONGODB_PASSWORD" >> .env
然后,编写 /home/ubuntu/cws/docker-compose.yml
脚本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
version: "3"
services:
chatgpt-web-share:
image: ghcr.io/chatpire/chatgpt-web-share:latest
container_name: cws
restart: unless-stopped
ports:
- 5000:80
volumes:
- ./data:/app/backend/data
environment:
- TZ=${TZ}
- CWS_CONFIG_DIR=/app/backend/data/config
depends_on:
- mongo
mongo:
container_name: mongo
image: mongo:6.0
restart: always
# ports:
# - 27017:27017
volumes:
- ./mongo_data:/data/db
environment:
MONGO_INITDB_DATABASE: ${MONGO_INITDB_DATABASE}
MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
ninja:
image: ninja:latest
container_name: ninja
restart: unless-stopped
command: run --arkose-har-dir /root/.ninja
ports:
- "7999:7999"
environment:
- TZ=Asia/Shanghai
volumes:
- "./har:/root/.ninja"
3.构建 ninja 镜像
首先,创建 /home/ubuntu/cws/ninja
目录:
1
$ mkdir ninja && cd ninja
然后,创建 /home/ubuntu/cws/ninja/Dockerfile
文件,并将以下内容保存到文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Stage 1: Build ninja
FROM ubuntu:22.04 AS builder
RUN apt-get update && apt-get install -y \
git \
cmake \
libclang-dev \
build-essential \
curl \
&& rm -rf /var/lib/apt/lists/*
# Install Rust and Cargo
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
# Set PATH to include cargo
ENV PATH="/root/.cargo/bin:${PATH}"
RUN git clone https://github.com/HarrisonWang/ninja.git && cd ninja
WORKDIR /ninja
RUN cargo build --release
# Stage 2: Run ninja
FROM ubuntu:22.04 AS runtime
ENV LANG=C.UTF-8 DEBIAN_FRONTEND=noninteractive LANG=zh_CN.UTF-8 LANGUAGE=zh_CN.UTF-8 LC_ALL=C
COPY --from=builder /ninja/target/release/ninja /bin/ninja
ENTRYPOINT ["/bin/ninja"]
接着,执行以下命令构建 ninja 镜像:
1
$ docker build -t ninja:latest .
构建需要一点时间,请耐心等待。
4.运行容器
构建完成后,我们首先切换到主目录:
1
$ cd /home/ubuntu/cws
然后,使用以下命令运行容器:
1
$ docker compose up -d
接着,查看容器运行日志:
1
$ docker logs cws -f
若一切正常,我们输入 http://<ip>:5000
地址访问 CWS 应用,使用默认账号 admin
和设置的管理员密码 password
登录。
若端口无法访问,请将防火墙 的 5000 端口放开。
5. 抓取 HAR 文件上传给 ninja
首先,登录 ChatGPT,使用 Ctrl + Shift + I 按键开启浏览器调试模式,然后切换到 GPT-4 模型,开启新的会话,找到 https://tcr9i.chat.openai.com/fc/gt2/public_key/35536E1E-65B4-4D96-9D97-6ADB7EFF8147
的网络请求:
然后,右键以 HAR 格式保存所有内容将文件保存到桌面:
接着,我们在 VPS 服务器上将 ninja 的 7999
端口临时放开, 然后打开 HAR 文件上传地址 http://<ip>:7999/har/upload
,上传 har 文件,上传完成后记得将 7999
端口取消外网访问,上传完成后的界面如下:
6. 后台配置 CWS
首先,打开 https://chat.openai.com/api/auth/session
页面,复制 access token:
然后,登录 CWS 后台 http://<ip>:5000/admin/system
,点击系统配置菜单,切换至 credentials 页签,粘贴复制 access token,点击保存:
至此,所有的配置均已完成,我们可共享 ChatGPT Plus 账号的使用了。
7.创建 CWS 新用户共享使用
首先,我们切换到用户管理菜单,点击 添加用户 按钮进入添加用户页面,输入新用户信息然后点击保存:
然后,我们给新账号设置 100 次调用 gpt_4,如下图:
接着,我们切换到新用户登录,新建一个学习助手的会话:
最后,任意输入消息后返回如下图:
参考文档
- ninja: https://github.com/gngpp/ninja/wiki/2-Arkose
- ChatGPT Web Share: https://cws-docs.pages.dev/zh/