51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

使用 ChatGPT Web Share 共享 ChatGPT Plus

如何共享 ChatGPT Plus? {#如何共享-chatgpt-plus}

由于 ChatGPT Plus 价格为 20 美元 / 每月 ,个人使用有点小贵,加上个人账号的使用频率远远没有达到 40 次 / 每 3 小时 ,同时也为了账号的共享使用,本文将使用开源的 ChatGPT Web Share 项目,来完成 ChatGPT 账号的共享,合理利用资源。

共享 ChatGPT Plus 账号使用有一定封号风险,请谨慎使用!

前提条件:

  • 一个 ChatGPT Plus 账号
  • 一台解锁 ChatGPT 访问的 VPS 服务器
  • VPS 需提前安装好 Docker

1.创建应用目录并生成配置文件 {#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.yamlcredentials.yaml 文件。

2.编写 docker-compose.yml 脚本 {#2编写-docker-composeyml-脚本}

首先,创建环境变量配置文件 /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 镜像 {#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.运行容器 {#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 {#5-抓取-har-文件上传给-ninja}

首先,登录 ChatGPT,使用 Ctrl + Shift + I 按键开启浏览器调试模式,然后切换到 GPT-4 模型,开启新的会话,找到 https://tcr9i.chat.openai.com/fc/gt2/public_key/35536E1E-65B4-4D96-9D97-6ADB7EFF8147 的网络请求:

image-20240307135422604

然后,右键以 HAR 格式保存所有内容将文件保存到桌面:

image-20240307135507421

接着,我们在 VPS 服务器上将 ninja 的 7999 端口临时放开, 然后打开 HAR 文件上传地址 http://<ip>:7999/har/upload,上传 har 文件,上传完成后记得将 7999 端口取消外网访问,上传完成后的界面如下:

image-20240307140624816

6. 后台配置 CWS {#6-后台配置-cws}

首先,打开 https://chat.openai.com/api/auth/session 页面,复制 access token:

image-20240307141757620

然后,登录 CWS 后台 http://<ip>:5000/admin/system,点击系统配置菜单,切换至 credentials 页签,粘贴复制 access token,点击保存

image-20240307141311223

至此,所有的配置均已完成,我们可共享 ChatGPT Plus 账号的使用了。

7.创建 CWS 新用户共享使用 {#7创建-cws-新用户共享使用}

首先,我们切换到用户管理菜单,点击 添加用户 按钮进入添加用户页面,输入新用户信息然后点击保存

image-20240307142804120

然后,我们给新账号设置 100 次调用 gpt_4,如下图:

image-20240307143302927

接着,我们切换到新用户登录,新建一个学习助手的会话:

image-20240307143056110

最后,任意输入消息后返回如下图:

image-20240307143549067

参考文档 {#参考文档}

  1. ninja: https://github.com/gngpp/ninja/wiki/2-Arkose
  2. ChatGPT Web Share: https://cws-docs.pages.dev/zh/
赞(0)
未经允许不得转载:工具盒子 » 使用 ChatGPT Web Share 共享 ChatGPT Plus