mu_cat

mu_cat

github

曲線救国はGPT4を使用します

完全解決 something went wrong この気持ち悪いエラーを、私の尊敬する GPT4 ユーザーがどうしてこのような目に遭わなければならないのか!

使用するもの#

docker

pandora

nginx proxy manager

pake

必要なもの#

gpt にアクセスできるサーバー、私は日本を使用しており、warp ipv6 で解放された GPT(オプション、オンラインデプロイプラットフォーム vercel を使用することも可能)

ドメイン名をサーバーに解決する

openai アカウント

linux コマンドラインの基本操作を理解する

操作を開始する#

サーバー warp ipv6 解放 gpt#

参考にした勇哥 ykk のスクリプト

1 を選択して warp-go をインストール

次に 2 を選択して WARP 単スタック IPV6 をインストール

image-20230426011250748

サーバーに docker と docker compose をインストール#

サーバーには必ず何かがあるはず!私の linux システムは Ubuntu で、以下は Ubuntu システムのデモです。異なる linux バージョンではコマンドが異なる場合がありますので、自分でググってください。

古いバージョンをアンインストール#

sudo apt-get remove docker \
               docker-engine \
               docker.io

APT を使用してインストール#

sudo apt-get update

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

docker をインストール#

sudo apt-get install docker.io

docker compose をインストール#

curl -L "https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Nginx proxy manager をインストール#

データを保存するための npm フォルダーを新規作成#

cd /root
mkdir npm
cd npm

docker-compose.yml ファイルを編集#

vim docker-compose.yml
version: "3"
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      # これらのポートは <host-port>:<container-port> の形式です
      - '80:80' # 公開HTTPポート
      - '443:443' # 公開HTTPSポート
      - '81:81' # 管理用Webポート
      # 露出したい他のストリームポートを追加
      # - '21:21' # FTP
    environment:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
      # ホストでIPv6が有効でない場合はこれをコメント解除
      # DISABLE_IPV6: 'true'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db

  db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - ./data/mysql:/var/lib/mysql

コンテナを実行#

docker-compose up -d 

npm web パネルに入る#

サーバーのハードウェアファイアウォール(サーバー提供者のインターフェースの firewall)とサーバー自体のソフトウェアファイアウォールを必ず有効にしてください。Ubuntu では ufw です。

npm のウェブアドレスはあなたのサーバー ip:81 です。

最初にユーザー名やパスワードなどを設定するように求められます。

デフォルトのユーザー名は [email protected] です。

デフォルトのパスワードは changeme です。

npm の詳細についてはこの記事を参照してください。私の linux の基礎は多くが彼のチュートリアルを実践して学んだものです。

チュートリアル

pandora をインストール#

ここでは、Accesstoken を環境変数にハードコーディングする方法を示します。私は一度アクセスするたびに入力するのが面倒なので、直接書き込んでいます。後で npm のアクセスリストを使用して乱用されないようにします。

accesstoken を取得する方法

ChatGPT 公式サイトにログイン後、F12 を開いてhttps://chat.openai.com/api/auth/session リクエストの戻り値にある accessToken を確認してください。

image-20230426010400758

docker run \
    -itd \
    --name pandora2 \
    --restart always \
		-p 7862:7861 \
    -e PANDORA_ACCESS_TOKEN=あなたのacesstoken  \
    -e PANDORA_SERVER='0.0.0.0:7861' \
    pengzhile/pandora

ファイアウォールが応答ポート(7861)を開いていることを確認した後、まず ip: ポートで正常に動作しているか確認してください。

正常でない場合は!docker logs pandora でエラーメッセージを確認し、その後 chatgpt に尋ねてください。一般的には問題ないはずです!

リバースプロキシの設定#

現在 npm と pandora は正常に動作しています。次に行うべきことは、ドメイン名でアクセスできるようにすることです。まず、あなたのドメイン名があなたの ip に解決されていることを確認してください。

私は dnspod で管理しているので、こちらで解決済みです。

image-20230426011842148

次に npm を設定します。

image-20230426011642437

domain names は設定するドメイン名です。私はサブドメインをお勧めします。もし一つのプロジェクトだけなら、ルートドメインをそのまま使っても大丈夫です。

次にこの forward hostname/ip 無思考で 127.0.0.1 を入力しないでください!

npm は docker コンテナ内でブリッジを介してサーバーに接続されているため、サーバーのローカルポートを通過しています。したがって、ここにはあなたの docker のゲートウェイを入力して、データが常にあなたのサーバー内で転送されるようにします。(私の説明が不明瞭であれば申し訳ありません。docker の 6 つのネットワークモードは学んだことがありますが、すっかり忘れてしまいました。私は文系です。)

docker ゲートウェイを取得#

ip route

image-20230426012340965

次に forward port ポートは 7862 を使用します。なぜなら、私は 2 つを配置しており、1 つは友人と一緒に使用するための gpt 普通号で 7861 ポートを占有しているため、もう 1 つは私の 20 ドルの月額の尊貴な gpt4 サブスクリプションユーザー用に 7862 ポートを開いています。

image-20230426012551362

次に ssl 証明書では新しい証明書を取得するか、または一部のドメイン証明書を取得することを選択してください。自分で研究してください。

image-20230426012636336

アクセス制限の設定#

これは非常に重要です。自分のために小さな環境を開くのか、それとも完全に公開するのかに関わります。

image-20230426012738264

allow ここをあなたのipアドレスまたはこのgptにアクセスする特定のipに変更してください;
deny all;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

私は寮にいるので、どのようにダイヤルしても特定の番号帯の ip が与えられます。したがって、この番号帯の ip 範囲のみに制限しました。もちろん、npm のアクセスリストを使用してアクセスする ip を制限したり、パスワードを設定したりすることもできます。私は試しましたが、うまくいきませんでした。私は nginx の古い方法を使って直接設定ファイルに書くことにしました。

私が寮にいるときは、非常にうまくアクセスできます。

外にいるときは、宿舎のソフトルーターの vmess サーバーポートに接続して、宿舎の内部ネットワーク環境を利用してアクセスします。私は怠け者なので、内部ネットワークポートを通過させるのは非常に危険です。破られた場合、すべての内部ネットワークデバイスが公開されてしまいます。

別のプロキシサーバーを設定してアクセスすることもできますし、パスワードを設定することもできます。

すべての設定が完了したら、モバイルデータでアクセスして ip 制限が成功したか確認してください。

pake を使用してイメージをパッケージ化するウェブページ#

環境設定 Windows/Linux 注意点#

  • 非常に重要 Tauri が提供する依存関係ガイドを確認してください。

  • 依存関係ガイドの内容をすべてインストールして再起動してください。

    インストール#

    npm install -g pake-cli
    

    あなたの gpt ウェブページをパッケージ化する#

    pake url
    

    その後、名前を付けるように指示されます。また、アイコンを DIY することもできます。pake のチュートリアルドキュメントは本当に非常に明確で、とても良いです!

    これ以上は詳しく述べません。

大成功!#

image-20230426013801378

image-20230426013830412

二言、優雅!

何か不明な点があれば、Twitterで私にメッセージを送ってください。初めてのチュートリアル作成で、多くの欠陥があるかもしれませんが、これは私が実践から得た成果です。読んでいただきありがとうございます。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。