VPS プロキシ設定チュートリアル:初心者向け詳細ガイド

@naiyue777
中国語2026年6月06日
224K
487
86
40
1.2K

TL;DR

本チュートリアルでは、VPS 、 Cloudflare 、および Xray (VLESS+Vision) を使用して、安定したプライベートなインターネット接続を確保するための個人用プロキシサーバー構築手順をステップバイステップで解説します。

こんにちは、Nayue です。最近 VPS のセットアップについて調べる時間を取りました。codex 先生のおかげで、codex に質問しながら一つひとつ理解でき、成功したので、記事にして皆さんと共有したいと思います。

お役に立てれば幸いです。間違いがあれば教えてくださいね〜

1. なぜドメインと VPS が必要なのか

もし単に一時的に検閲を回避したいだけなら、既製のプロキシを購入するのが最も簡単な方法です。しかし、ノードの設定、プロトコルの選択、証明書の管理、クライアントのサブスクリプション方法を自分でコントロールしたいのであれば、自分で VPS を構築する方が制御しやすく、長期的な利用に適しています。

この記事の目的は、あなた自身のプロキシを持てるようにすることですが、私のチュートリアルが最も包括的または完璧というわけではありません。より多くの機能とより安全な設定を実現するには、さらに多くのチュートリアルを学ぶ必要があります。このチュートリアルの目的は、すぐに使い始められるようにすることです。

最終的な結果は、あなた自身のドメインを持つことです。例: node.example.com

これはあなたが購入した VPS を指します。プロキシサービスは VPS 上で動作し、クライアントはこのドメインを通じて VPS に接続し、VPS がターゲットのウェブサイトにアクセスします。

全体的な関係は次のように理解できます。

text
1モバイル / コンピュータクライアント
2
3node.example.com
4
5VPS パブリックサーバー
6
7ターゲットウェブサイト

ここには、ドメインと VPS という 2 つの重要な要素があります。

ドメインの役割は、安定していて読みやすく、証明書を署名できるエントリポイントを提供することです。理論的には VPS の IP を直接使用して接続することも可能ですが、実際には推奨されません。

その理由は 3 つあります。

第一に、ドメインは移行が簡単です。VPS の IP が変更されたり、回線品質が低下したり、プロバイダーを切り替えたりする場合、ドメインの DNS レコードを新しい IP に変更するだけで、クライアントは同じドメインに接続し続けます。

第二に、ドメインを使用すると TLS 証明書を簡単に申請できます。この記事では TLS を使用する方式を採用しており、クライアントは接続時に証明書を検証します。ドメインで証明書を申請する方が自然で、通常の HTTPS サービスの使用方法に近くなります。

第三に、ドメインはその後の管理に便利です。例えば、メインノードに次のように名前を付けることができます。

node.example.com

バックアップノード:

node2.example.com

サブスクリプションサービス:

sub.example.com

これは、IP アドレスの文字列を覚えるよりも明確です。

VPS の役割は、パブリックサーバーを提供することです。パブリック IP、安定したネットワーク、十分なトラフィックが必要であり、SSH 経由でログインしてサービスをインストールできる必要があります。

この記事では Ubuntu 22.04 システムを使用します。設定はそれほど高くする必要はなく、個人利用であれば通常 1C2G で十分です。本当に注目すべきは、データセンターの場所、帯域幅、月間トラフィックです。

このソリューションは個人の学習と自己利用のみに適していることに注意してください。ノードを見知らぬ人と共有したり、サブスクリプションリンク、QR コード、UUID、サーバー IP などの機密情報を公開ページに投稿したりしないでください。

2. 準備: ドメイン、VPS、Cloudflare アカウント、SSH ツール

始める前に、今回使用するものを準備してください。この部分は複雑ではありませんが、後で行ったり来たりトラブルシューティングすることを避けるために、一度にすべてを整理することをお勧めします。

今回実際に使用した組み合わせは次のとおりです。

text
1ドメインレジストラ: Porkbun
2DNS 管理: Cloudflare 無料版
3VPS リージョン: 香港
4VPS システム: Ubuntu 22.04
5VPS 設定: 1C2G / 100Mbps / 30G ディスク / 300G 月間トラフィック
6サーバースクリプト: v2ray-agent
7プロキシコア: Xray-core
8最終プロトコル: VLESS + TCP + TLS + Vision
9コンピュータクライアント: Clash Verge
10モバイルクライアント: Shadowrocket

「ねえ、香港の VPS を買ったら、どうやって AI にサブスクライブするの?」と聞く友人もいるかもしれません。

はは、慌てないでください。この VPS は AI で遊ぶためのものではありません。あなたの目的が海外の AI を使うことなら、対応する安定した VPS を探して購入してください。私の VPS プロバイダーを正確にコピーする必要はありません。X 上には多くの VPS のおすすめがあります。

2.1 ドメイン

ドメインは、Porkbun、Namecheap、Cloudflare Registrar などのプラットフォームで購入できます。今回は Porkbun を使用しました。年間約 11 ドルで、普通の価格です。

ドメインを購入するときは、ドメイン自体だけを購入すればよく、追加のウェブホスティングサービスは必要ありません。後で VPS 上で自分でサービスを設定し、証明書は無料の Let's Encrypt を使用して申請します。

購入時には、以下の項目を確認することをお勧めします。

text
1ドメインが正常に購入された
2Whois プライバシー保護が有効になっている
3自動更新が有効になっている
4アカウントの 2FA が有効になっている
5追加のウェブホスティングを購入していない
6追加の有料 SSL を購入していない

繰り返しますが、ドメインを購入するのはウェブサイトを作るためではなく、VPS への安定したアクセスエントリを提供するためです。

例えば、後でサブドメインを設定します。

node.example.com

それを VPS のパブリック IP に向けます。クライアントが接続するときは、VPS の IP を直接書くのではなく、このドメインにアクセスします。

naiyue777 - inline image

2.2 Cloudflare アカウント

Cloudflare はここでは主に DNS 管理を担当します。Cloudflare でドメインを購入する必要はありません。

私の実際の方法は次のとおりです。

text
1ドメインは Porkbun で購入
2DNS は Cloudflare で管理

つまり、Porkbun の Nameservers を Cloudflare が割り当てた 2 つの Nameservers に変更します。これにより、今後すべての DNS レコードが Cloudflare で設定されるようになります。

この手順は後で詳しく説明します。今は、Cloudflare アカウントを準備して、無料プランを選択してください。

https://dash.cloudflare.com/ を開く

登録/ログイン後:

text
1ドメインを追加
2
3ドメインを入力 (例: xxx.com)、ルートドメインを入力
4
5無料プランを選択
6
7Cloudflare が既存の DNS レコードをスキャン
8
9続行

Cloudflare は最終的に 2 つのネームサーバーを提供します。形式は次のとおりです。

text
1xxxx.ns.cloudflare.com
2yyyy.ns.cloudflare.com
naiyue777 - inline image

2.3 VPS

VPS は実際にサービスを実行するマシンです。パブリック IPv4、SSH アクセスが必要であり、ポート 80 と 443 が使用可能である必要があります。

私は Global Cloud から購入しました。https://my.locvps.net/idcSystem.aspxhttps://my.locvps.net/idcSystem.aspx)?

宣伝しているわけではありません。ニーズは人それぞれです。要件に基づいて、他の場所で必要な VPS を購入してください。

naiyue777 - inline image

2.4 SSH ログインツール

私は Mac の内蔵ターミナルを使用して VPS にログインしています。macOS には追加の SSH ツールは必要ありません。ターミナルを開くだけです。

SSH ログインコマンドの形式は次のとおりです。

text
1ssh root@<VPS_IP> -p <SSH_PORT>
2例:
3ssh root@203.0.113.10 -p 43781

2.5 クライアントソフトウェア

サーバーがセットアップされたら、コンピュータまたはスマートフォンにノードをインポートする必要があります。

今回は主に 2 つのクライアントを使用しました。

text
1Mac: Clash Verge
2iPhone: Shadowrocket

Clash Verge はサブスクリプションのインポートに適しています。後で v2ray-agent が ClashMeta 形式のサブスクリプションを生成するので、Clash Verge に直接追加できます。

Shadowrocket は iPhone で単一ノードをテストするのに適しています。サブスクリプションに特定の Shadowrocket 形式がなくても、インストールスクリプトが出力する vless:// リンクをコピーして手動でインポートできます。

3. ドメインを Cloudflare に接続する

ドメインを購入したら、次のステップは DNS 管理を Cloudflare に委ねることです。

以前の 2 つのネームサーバーを覚えていますか? それらを設定します。

これら 2 つの Nameservers の役割は、グローバル DNS システムに次のことを伝えることです。

このドメインの解決レコードは、今後 Cloudflare によって管理されます。

言い換えれば、Porkbun は依然としてドメインレジストラですが、DNS レコードは Cloudflare の管理に移されます。

Porkbun を例に、変更方法を示します。他のプラットフォームで購入した場合は、自分で変更方法を探してください。

ドメインの詳細を入力し、Nameservers 設定を見つけます。

元の Porkbun Nameservers を、Cloudflare が提供する 2 つに置き換えます。

naiyue777 - inline image
naiyue777 - inline image
naiyue777 - inline image

保存後、Porkbun の Nameserver 領域にこれら 2 つの Cloudflare アドレスが表示されるはずです。

この手順を保存しても、すぐにグローバルに反映されるわけではありません。DNS の変更が伝播するには時間がかかり、通常は数分から数時間かかります。Cloudflare のページにも次のように表示されます。

ドメインが Cloudflare を指しているかどうかを確認しています。

これは正常です。公式のプロンプトでは 1 〜 2 時間、最大 24 時間かかると表示される場合があります。実際、今回は少し待っただけでした。

変更後、Cloudflare に戻り、確認が完了するのを待ちます。

成功すると、Cloudflare には次のように表示されます。

あなたのドメインは Cloudflare によって保護されています。

または、サイトのステータスが Active と表示されます。

このステータスは次のことを意味します。

ドメインが Cloudflare へのポイントに成功しました。以降の DNS レコードは Cloudflare で設定できます。

この手順が完了するまでは、サーバースクリプトのインストールを急がないことをお勧めします。後で証明書を申請したりドメイン IP を確認したりする際に、正しい DNS 伝播に依存するためです。DNS が完全に切り替わっていないと、後でドメイン確認の失敗に遭遇する可能性が高くなります。

Cloudflare ページで成功が表示された後、コマンドでもう一度確認することをお勧めします。

Mac ターミナルで、以下を実行します。

dig +short NS example.com

通常、Cloudflare の Nameservers が返されるはずです。

それでも Porkbun の Nameservers が返される場合は、DNS 管理が完全に Cloudflare に切り替わっていないことを意味します。この時点ではノードの設定を続行せず、しばらく待ってから再確認してください。

4. DNS の設定: レコードの追加とグレークラウドの維持

ドメインが Cloudflare に接続されたら、次のステップは、実際に VPS を指す DNS レコードを Cloudflare に追加することです。

ここで実際に使用したものは次のとおりです。

text
1ルートドメイン: xxx.com
2ノードドメイン: node.xxx.com
3VPS IPv4: xx.xx.xx.xx
4Cloudflare レコードステータス: DNS only

4.1 Cloudflare DNS ページに入る

Cloudflare にログインし、サイトに入り、次を開きます。

text
1DNS → Records

ここには、Cloudflare によってスキャンされた、または既に存在する DNS レコードが表示されます。

ドメインが Porkbun から来たばかりの場合、いくつかのデフォルトレコードが表示される可能性があります。例:

text
1A レコード
2CNAME レコード
3MX レコード
4TXT レコード

これらは最初に削除できます。新しいものを自分で設定します。

'node' をノードドメインとして使用する予定なので、'node' のレコードを追加する必要があります。

4.2 A レコードを追加する

クリック:

text
1Add record

次に、以下を入力します。

text
1Type: A
2Name: node
3Content: VPS パブリック IPv4
4TTL: Auto
5Proxy status: DNS only
naiyue777 - inline image

4.3 ここでグレークラウドを選択する必要がある理由

Cloudflare の Proxy status には、一般的に 2 つの状態があります。

text
1Proxied: オレンジクラウド
2DNS only: グレークラウド

この記事では、以下を選択する必要があります。

DNS only

つまり、グレークラウドです。

違いは簡単に次のように理解できます。

グレークラウド: Cloudflare は DNS 解決のみを担当し、クライアントは直接接続します。

オレンジクラウド: クライアントは最初に Cloudflare に接続し、次に Cloudflare がオリジンサイトに転送します。

通常のウェブサイト(ブログ、公式サイト、静的ページなど)の場合、オレンジクラウドを使用すると、Cloudflare の CDN、WAF、キャッシュを利用でき、オリジン IP を隠すことができます。

しかし、このチュートリアルでは以下を使用します。

VLESS + TCP + TLS + Vision

これは通常の HTTP ウェブサイトのリバースプロキシシナリオではありません。クライアントが VPS 上の Xray サービスと直接接続を確立できるようにするには、この 'node' レコードはグレークラウドのままにしておく必要があります。

4.4 DNS が VPS を解決するか確認する

DNS レコードを保存した後、Mac ターミナルで以下を実行します。

text
1dig @1.1.1.1 +short A [あなたのドメイン、例: node.example.com]
2dig @8.8.8.8 +short A [あなたのドメイン、例: node.example.com]
3dig @223.5.5.5 +short A [あなたのドメイン、例: node.example.com]

正常な結果は、あなたの VPS IP を返すはずです。

注意: コンピュータでプロキシが有効になっており、TUN モードを使用している場合、ターミナルの出力に影響を与える可能性があります。この確認を行う前に、TUN モードをオフにしてください。

5. サーバーの初期化

まず、SSH 経由でサーバーにログインします。

text
1例:
2ssh root@203.0.113.10 -p 43781

初回ログイン時、ターミナルはサーバーフィンガープリントを信頼するかどうかを尋ねる場合があります。

text
1Are you sure you want to continue connecting (yes/no/[fingerprint])?

「yes」と入力します。

次に、root パスワードを入力します。

ログイン後、まずパッケージリストを更新します。

text
1apt update
2apt upgrade -y

途中で青または紫の設定インターフェースで止まっても、ウィンドウを閉じないでください。Ubuntu は特定のパッケージをアップグレードする際に、ローカル設定ファイルを保持するかどうかを尋ねます。

今回は 2 つの設定ファイルのプロンプトに遭遇しました。

1 つ目は:

naiyue777 - inline image

2 つ目は:

text
1/etc/cloud/cloud.cfg

ターミナルのプロンプトは次のようになりました。

text
1cloud.cfg (Y/I/N/O/D/Z) [default=N] ?

ここでは Enter キーを直接押して、デフォルトの N を使用します。

アップグレードが完了する前に、Ubuntu は次のようなインターフェースを表示する場合があります。

text
1Daemons using outdated libraries
2Which services should be restarted?

これは、一部のサービスがまだ古いバージョンのライブラリをロードしているため、これらのサービスを再起動するかどうかを尋ねています。

通常はデフォルトの選択を維持し、OK を選択します。

システムアップデートが完了したら、後で使用するいくつかのツールをインストールします。

text
1apt install -y curl wget sudo vim ufw lsof unzip socat jq qrencode dnsutils

これらのツールは次の目的で使用されます。

text
1curl / wget: スクリプトのダウンロード、アクセステスト
2ufw: ファイアウォールの設定
3lsof / ss: ポート使用状況の確認
4unzip: ファイルの解凍
5socat: 証明書申請時に使用される可能性あり
6jq: JSON の処理
7qrencode: QR コードの生成
8dnsutils: dig コマンドの提供

最後のステップとして、ドメインがサーバーを指しているか確認します。

text
1curl -4 ifconfig.me
2dig +short A [あなたのドメイン、例: node.example.com]

これらの 2 つの結果は一致している必要があります。

6. ファイアウォールの設定とインストール前のバックアップ

VPS の初期化が完了したら、v2ray-agent のインストールを急がないでください。最初に 2 つのことを行います。

まず、ファイアウォールを設定し、SSH、80、443 ポートが使用可能であることを確認します。

次に、現在の主要な設定をバックアップして、後で問題が発生した場合にロールバックしやすくします。

この手順は複雑に見えませんが、非常に重要です。特にファイアウォールは、順序を間違えるとサーバーからロックアウトされる可能性があります。

6.1 まず現在のログインポートを確認する

ファイアウォールを設定する前に、現在 VPS へのログインに使用しているポートを確認してください。

ログインコマンドが次の場合:

ssh root@203.0.113.10 -p 43781

SSH ポートは次のとおりです。

43781

この手順は推測しないでください。多くの VPS プロバイダーはデフォルトのポート 22 を使用せず、カスタム SSH ポートを提供します。今回もカスタムポートが提供されました。

後でファイアウォールを有効にするときに、このポートを許可するのを忘れると、次のような状況が発生する可能性があります。

現在の SSH セッションは切断されないが、新しいウィンドウはサーバーに二度と接続できなくなる。

したがって、最初のファイアウォールルールは SSH ポートを許可する必要があります。

6.2 必要なポートを許可する

この記事では後で 3 つのポートが必要になります。

text
1SSH ポート: VPS へのリモートログイン用
280/tcp: HTTP 証明書確認用
3443/tcp: 最終的なプロキシサービス用

VPS 上で実行:

text
1ufw allow 43781/tcp
2ufw allow 80/tcp
3ufw allow 443/tcp

SSH ポートが 43781 でない場合は、ご自身のポートに置き換えてください。

実行後、最初にルールを確認できます。

ufw status verbose

次のように表示された場合:

Status: inactive

問題ありません。ルールは追加されましたが、ファイアウォールはまだ有効になっていないことを意味します。

6.3 UFW ファイアウォールを有効にする

SSH ポートが許可されていることを確認したら、UFW を有効にします。

ufw enable

システムはプロンプトを表示します。

入力:

y

次に、再度確認します。

ufw status verbose

通常、次のようなものが表示されるはずです。

text
1Status: active
2
3To Action From
4-- ------ ----
543781/tcp ALLOW Anywhere
680/tcp ALLOW Anywhere
7443/tcp ALLOW Anywhere
843781/tcp (v6) ALLOW Anywhere (v6)
980/tcp (v6) ALLOW Anywhere (v6)
10443/tcp (v6) ALLOW Anywhere (v6)

IPv6 が必要ない場合は、v6 ルールは今は無視して構いません。ここで重要なのは、IPv4 の SSH、80、443 がすべて ALLOW であることです。

6.4 新しいターミナルを開いて SSH をテストする

ファイアウォールを有効にした後、現在の SSH ウィンドウをすぐに閉じないでください。

正しい方法は、現在のウィンドウを開いたまま、Mac で新しいターミナルウィンドウを開き、VPS に再度ログインすることです。

実行:

ssh root@203.0.113.10 -p 43781

新しいウィンドウが正常にログインできる場合、ファイアウォールが SSH をブロックしていないことを意味します。

すべて問題ないことを確認したら、後続の手順を続行します。

新しいウィンドウがログインできず、古いウィンドウがまだ存在する場合は、すぐに確認できます。

ufw status verbose

SSH ポートの許可を忘れていないか確認します。設定が間違っている場合は、一時的に UFW を無効にできます。

ufw disable

その後、再設定します。

6.5 インストール前のバックアップを作成する

ファイアウォールが問題ないことを確認したら、バックアップを開始します。

この手順の目的は、v2ray-agent をインストールする前の重要な状態を保存することです。後でスクリプトは Nginx、証明書ディレクトリ、Xray 設定などを変更します。インストールが失敗した場合、少なくとも以前の状態がわかります。

実行:

mkdir -p /root/backup-before-v2ray-agent

Nginx 設定をバックアップ:

Let's Encrypt 証明書ディレクトリをバックアップ:

SSH 設定をバックアップ:

naiyue777 - inline image

現在のポート使用状況を記録:

ss -tulpn > /root/backup-before-v2ray-agent/ports-before.txt

現在のファイアウォールステータスを記録:

ufw status verbose > /root/backup-before-v2ray-agent/ufw-status.txt

最後に、バックアップ結果を確認します。

ls -lah /root/backup-before-v2ray-agent

その時の私の出力は次のようなものでした。

text
1total 28K
2drwxr-xr-x 4 root root 4.0K May 2 08:02 .
3drwx------ 6 root root 4.0K May 2 08:02 ..
4drwxr-xr-x 9 root root 4.0K May 2 07:56 letsencrypt
5drwxr-xr-x 8 root root 4.0K May 2 07:56 nginx
6-rw-r--r-- 1 root root 1.1K May 2 08:02 ports-before.txt
7-rw-r--r-- 1 root root 3.1K May 2 06:58 sshd_config
8-rw-r--r-- 1 root root 600 May 2 08:02 ufw-status.txt

6.6 現在のポート使用状況を確認する

v2ray-agent をインストールする前に、80 と 443 が既に占有されていないか確認することをお勧めします。

実行:

出力がない場合、現在 80 または 443 でリッスンしているプロセスはありません。

Nginx が既にインストールされている場合、Nginx が 80 または 443 でリッスンしているのが見えるかもしれません。後で v2ray-agent スクリプトが通常 Nginx 設定を処理しますが、少なくともインストール前の状態を知っておく必要があります。

7. v2ray-agent のインストールと Xray + VLESS Vision の選択

サーバーの準備ができたら、サーバープログラムを正式にインストールできます。

今回使用したものは次のとおりです。

text
1サーバースクリプト: v2ray-agent
2コア: Xray-core
3プロトコル: VLESS + TCP + TLS + Vision
4ポート: 443
5ドメイン: node.example.com
6証明書: Let's Encrypt

7.1 インストールスクリプトをダウンロードして実行する

VPS 上で実行:

wget -P /root -N --no-check-certificate "https://raw.githubusercontent.com/mack-a/v2ray-agent/master/install.sh"; && chmod 700 /root/install.sh && /root/install.sh

このコマンドは 3 つのことを行います。

text
1install.sh を /root にダウンロード
2install.sh に実行権限を追加
3インストールスクリプトを実行

実行したとき、スクリプトが表示した情報は次のようなものでした。

text
1Author: mack-a
2Current version: v3.5.14
3Github: https://github.com/mack-a/v2ray-agent
4Description: Eight-in-one coexistence script

インストールスクリプトが実行されると、メインメニューが表示されます。

text
11. Install
22. Custom combination installation
33. One-click no domain
44. Hysteria 2 management
55. REALITY management
66. Tuic management
77. User management
88. Fake site management
99. Certificate management
1010. CDN node management
11...

ここで選択:

Custom combination installation

理由は、明示的に以下を選択したいからです。

text
1Xray-core
2VLESS + TLS_Vision + TCP

スクリプトにノードなしや他のデフォルトパスに誘導させないでください。

7.2 コアを選択: Xray-core

カスタム組み合わせインストールに入ると、スクリプトはコアの選択を促します。

text
1Function 1/1: Select core installation
2
31. Xray-core
42. sing-box

ここで選択:

Xray-core

理由は、定番の Xray + VLESS Vision スキームを使用しており、互換性が成熟しており、Clash Verge や Shadowrocket などのクライアントがサポートできるからです。

入力:

1

次に Enter キーを押します。

7.3 プロトコルを選択: VLESS + TLS Vision + TCP

次に、スクリプトはプロトコルのリストを表示します。その時見えたオプションは次のようなものでした。

text
10. VLESS+TLS_Vision+TCP [Recommended]
21. VLESS+TLS+WS [Recommended for CDN only]
33. VMess+TLS+WS [Recommended for CDN only]
44. Trojan+TLS [Not recommended]
57. VLESS+Reality+uTLS+Vision [Recommended]
612. VLESS+Reality+X_HTTP+TLS [CDN available]

ここで選択:

VLESS+TLS_Vision+TCP [Recommended]

入力:

0

次に Enter キーを押します。

7.4 基本コンポーネントをインストールする

プロトコルを選択した後、スクリプトは依存関係のインストールを開始します。

私が見たプロセスは次のようなものでした。

text
1Progress 1/12: Installing tools
2---> Checking and installing updates
3---> Installing unzip
4---> Installing socat
5---> Installing crontabs
6---> Installing jq
7---> Installing ping6
8---> Installing qrencode
9---> Installing nginx
10---> Installing acme.sh

後で使用するいくつかのコンポーネントがここでインストールされます。

text
1nginx: フェイクサイトとローカル転送に関連
2acme.sh: TLS 証明書の申請
3jq: 設定の処理
4qrencode: QR コードの生成
5socat: 証明書申請中に使用される可能性あり

この手順は新しいマシンでは遅くなる可能性があります。長時間出力がない場合は、しばらく待ってください。頻繁に中断しないでください。

7.5 ノードドメインを入力する

次に、スクリプトは Nginx と証明書の初期化プロセスに入り、ドメインの入力を促します。

Please enter the domain to be configured Example: www.v2ray-agent.com --->

ドメインを入力します。例:

以下が、指定されたガイドラインに従って英語から日本語に翻訳したものです。

node.example.com

ここではルートドメインではなく、完全なサブドメインを入力する必要があることに注意してください。

7.6 ポートの入力: デフォルトの 443 を使用

ドメインを入力した後、スクリプトはポートの入力を求めます。

ポートを入力してください [デフォルト: 443]、カスタムポートも利用可能 [デフォルトを使用するには Enter キーを押してください]

ここで Enter キーを押してデフォルトを使用します。

443

私のスクリプトには次のように表示されました。

---> ポート: 443

ファイアウォールはすでに以下を許可しています。

443/tcp

そのため、ここではそのまま使用できます。

7.7 ドメイン IP の確認を待つ

ポートが確定した後、スクリプトはドメインの名前解決が正しいかどうかを確認します。

通常、次のような表示がされます。

text
1---> ドメイン IP の確認に成功しました
2---> Nginx のデフォルト設定を削除中
3---> Nginx が正常に起動しました
4---> Nginx が正常に停止しました
5---> ポート 443 が開いていることを検出しました
6---> ドメイン IP を確認中
7---> 現在のドメイン IP は正しいです

これが失敗した場合、インストールを強行しないでください。まず DNS の確認に戻ります。

dig @1.1.1.1 +short A node.example.com

dig @8.8.8.8 +short A node.example.com

VPS の IP が返ってくることを確認してください。

また、Cloudflare でこのレコードがグレーのクラウドになっているかも確認してください。

Proxy ステータス: DNS のみ

もしオレンジのクラウドに設定されていると、スクリプトの検出やその後の接続に問題が生じる可能性があります。

7.8 TLS 証明書を申請する

次に、証明書の申請段階に入ります。

進捗 3/12: TLS 証明書を申請中

スクリプトは次のように尋ねます。

証明書の申請に DNS API を使用しますか [NAT 対応]? [y/n]

ここでは以下を選択します。

n

理由は、この VPS はパブリック IPv4 を持ち、ポート 80 と 443 が既に許可されているため、証明書の申請に DNS API を使用する必要がないからです。

次に、スクリプトは認証局を選択させます。

text
11. letsencrypt [デフォルト]
22. zerossl
33. buypass [DNS 申請は非対応]

ここで Enter キーを押してデフォルトを使用します。

letsencrypt

Let's Encrypt は無料の証明書であり、個人利用には十分です。証明書自体がノード異常の主要因になるわけではなく、本当に保証すべきなのは以下の点です。

正しいドメインの名前解決

証明書の申請成功

更新タスクが正常に動作していること

正しいサーバー設定

7.9 UUID とユーザー名

その後、スクリプトは UUID の入力を求めます。

カスタム UUID を入力してください [有効な形式である必要があります]、[ランダムな UUID を生成するには Enter キーを押してください]

Enter キーを押して、スクリプトにランダム生成させることをお勧めします。

次に、ユーザー名の入力を求めます。

カスタムユーザー名を入力してください [有効な形式である必要があります]、[ランダムなユーザー名を生成するには Enter キーを押してください]

こちらも Enter キーを押してランダム生成できます。また、自分が識別しやすい名前を入力することもできますが、実名、電話番号、メールアドレスなどの個人情報は使用しないでください。

7.10 インストール後のアカウント出力

インストールが完了すると、スクリプトは最終ステップに入ります。

進捗 12/12: アカウント

その時点での私の出力は以下の通りでした。

text
1VLESS TCP TLS_Vision [推奨]
2一般形式 (VLESS+TCP+TLS_Vision)
3vless://...
4整形されたプレーンテキスト (VLESS+TCP+TLS_Vision)
5プロトコルタイプ: VLESS
6アドレス: node.example.com
7ポート: 443
8ユーザー ID: ...
9セキュリティ: tls
10client-fingerprint: chrome
11転送方法: tcp
12flow: xtls-rprx-vision
13アカウント名: ...
14QR コード VLESS

これは、サーバーが VLESS Vision ノードを生成したことを示しています。

7.11 Xray と Nginx のステータスを確認する

インストール後、すぐにクライアントにインポートしないでください。まず VPS でサービスのステータスを確認します。

text
1systemctl status xray --no-pager
2systemctl status nginx --no-pager
3ss -tulpn | grep -E '(:443|:80|xray|nginx)'

私が確認した重要な結果は以下の通りです。

text
1xray.service active (running)
2nginx.service active (running)
3xray listening on public *:443
4nginx listening on 127.0.0.1:31300 and 127.0.0.1:31302

これは以下のことを意味します。

パブリック 443 ポートの入口は Xray が占有し、Nginx はローカルポートでダミーサイトや補助サービスを提供しており、サービスが正常に起動しています。

xray.service が active (running) でない場合は、まずログを確認してください。そのままクライアントにインポートしないでください。

以下を実行できます。

journalctl -u xray --no-pager -n 80

8. サブスクリプションリンクの生成と Clash Verge の準備

前節のインストール後、スクリプトは既に単一の vless:// ノードリンクを出力しています。このリンクは Shadowrocket などのクライアントに直接インポートできます。

しかし、Mac で Clash Verge を使用する場合は、サブスクリプションリンクを生成することをお勧めします。

サブスクリプションリンクの利点は以下の通りです。

text
1クライアントはサブスクリプションを一度追加するだけで済む
2ノード情報変更後にサブスクリプションを更新するだけ
3複数ユーザーや複数ノードの管理が容易
4Clash Verge は ClashMeta 形式を直接使用可能

実際にサブスクリプションを生成した際、私は v2ray-agent のユーザー管理機能を使用しました。

text
1vasma
2→ 7. ユーザー管理
3→ 2. サブスクリプションを表示
4→ ClashMeta 形式を選択

8.1 v2ray-agent メニューを再度開く

インストールスクリプトが完了すると、自動的にショートカットコマンドが作成されます。

vasma

VPS 上で以下を実行します。

vasma

これにより、v2ray-agent のメインメニューが再度開きます。

メニューには以下のような項目が表示されます。

text
11. インストール
22. カスタム組み合わせインストール
33. ワンクリックドメイン不要
44. Hysteria 2 管理
55. REALITY 管理
66. Tuic 管理
77. ユーザー管理
88. ダミーサイト管理
99. 証明書管理
1010. CDN ノード管理
11...

ここで以下を選択します。

ユーザー管理

8.2 サブスクリプション表示に入る

ユーザー管理に入ると、次のようなメニューが表示されます。

text
1機能 1/1: アカウント管理
2
31. アカウントを表示
42. サブスクリプションを表示
53. 他のサブスクリプションを管理
64. ユーザーを追加
75. ユーザーを削除

ここで以下を選択します。

サブスクリプションを表示

このステップにより、ローカルアカウントのサブスクリプションコンテンツが再生成されます。

スクリプトは次のようなプロンプトも表示します。

サブスクリプションを表示すると、ローカルアカウントのサブスクリプションが再生成されます。md5 暗号化ソルト値を手動で入力する必要があります。不明な場合は、ランダムなものを使用してください。既に追加されたリモートサブスクリプションのコンテンツには影響しません。

自分用に使用するだけであれば、デフォルトのランダム値をそのまま使用してください。

8.3 サブスクリプションポートを入力する

スクリプトは次のように促します。

text
1サブスクリプション設定を開始します。サブスクリプションポートを入力してください。
2
3カスタムポートを入力してください [有効な形式である必要があります]、ポートは重複できません。[ランダムなポートを使用するには Enter キーを押してください]

ここでは 2 つの選択肢があります。

Enter キーを押す: スクリプトがランダムなポートを生成します。

手動でポートを入力する: 自分で覚えやすいですが、既存のポートと競合しないようにする必要があります。

初心者には、Enter キーを押してスクリプトにランダムなポートを生成させることをお勧めします。

カスタムポートを選択する場合は、以下を追加で確認する必要があります。

ポートが占有されていないこと

ファイアウォールがこのポートを許可していること

プロバイダーのセキュリティグループもこのポートを許可していること

変数を減らすために、初回設定時はランダムポートを使用する方が簡単です。

8.4 ダミーサイトに関するプロンプト

スクリプトは次のように促す場合があります。

ダミーサイトの追加を開始します

ダミーサイトのインストールを検出しました。再インストールしますか [y/n]

以前に VLESS Vision をインストールする際にダミーサイトを既に設定している場合、通常は以下を選択します。

n

つまり、再インストールしない、ということです。

再インストール自体は可能ですが、初心者向けチュートリアルで変数を増やす必要はありません。現時点での目的はサブスクリプションリンクを生成することであり、ダミーサイトを再設定することではありません。

8.5 ソルト値の選び方

その後、スクリプトはソルト値の入力を求めます。

ソルト値を入力してください。[ランダムを使用するには Enter キーを押してください]

ここでは Enter キーを押してください。

ソルトの役割は、簡単に説明すると以下の通りです。

サブスクリプション関連コンテンツを生成するために使用されるランダムな値

個人利用で手動指定する必要はありません。ランダム値の方が実際には安全であり、固定文字列の再利用を避けることができます。

8.6 ClashMeta 形式のサブスクリプションを選択する

サブスクリプションが生成されると、スクリプトは複数の形式を表示します。

実際には以下のように表示されます。

デフォルト

ClashMeta

sing-box

Mac で Clash Verge を使用する場合は、以下を選択することをお勧めします。

ClashMeta

その理由は、Clash Verge は ClashMeta 設定のサポートが優れており、VLESS Vision、fingerprint、flow などのフィールドも ClashMeta 形式に適しているためです。

他のクライアントを使用する場合は、クライアントのサポート状況に基づいて選択できます。

Clash Verge: ClashMeta

sing-box: sing-box

Shadowrocket: 通常、単一の vless:// リンクを直接インポート可能

「デフォルト」形式をそのまま Clash Verge にコピーしないでください。可能であれば ClashMeta を使用してください。

8.7 サブスクリプションリンクを保存する

スクリプトがサブスクリプションリンクを出力したら、ClashMeta サブスクリプションリンクをコピーし、まず安全なローカル場所に保存してください。

注意: 公開リポジトリに保存したり、記事に掲載したり、スクリーンショットで完全なリンクを表示したりしないでください。

理由は単純です。他の人があなたのサブスクリプションリンクを入手すると、あなたのノードを直接使用し、VPS のトラフィックを消費し、さらにはノードが悪用される可能性があります。

9. サブスクリプションを Clash Verge にインポートしてテストする

サーバーは既にインストールされ、サブスクリプションリンクも生成されました。次に、Mac でクライアントを設定します。

9.1 サブスクリプションを追加する

Clash Verge を開き、設定ページに入ります。バージョンによってインターフェースのテキストが若干異なる場合がありますが、通常は次のように呼ばれます。

プロファイル

または

設定

新しいサブスクリプションを追加するをクリックし、前の手順で生成した ClashMeta サブスクリプションリンクを入力します。

通常、以下の項目を入力する必要があります。

名前: カスタム。例: My VPS

タイプ: リモート

URL: ClashMeta サブスクリプションリンク

サブスクリプションリンク全体を名前に含めないでください。

入力後、保存し、次にサブスクリプションを更新するをクリックします。

サブスクリプションが正常であれば、Clash Verge はノード設定を取得し、ノードリストに生成されたばかりの VLESS Vision ノードを表示します。

9.2 ノードを選択する

サブスクリプションの更新が成功したら、ノード選択ページに入ります。

通常、1 つ以上のポリシーグループが表示されます。例:

ProxyAutoGlobalNodeName

生成されたノードを選択します。

9.3 システムプロキシまたは TUN を有効にする

Clash Verge には通常、2 つの一般的なスイッチがあります。

システムプロキシ

TUN モード

簡単に説明すると以下の通りです。

システムプロキシ: システムプロキシ設定に従うほとんどのアプリケーションを Clash 経由で通信させる

TUN モード: より低レベルで、システムプロキシに従わない一部のアプリケーションを含め、より多くのトラフィックを処理する

初回テスト時は、以下を有効にできます。

システムプロキシ

次に、ブラウザを使用してテスト用ウェブサイトにアクセスします。

一部のアプリケーションがシステムプロキシに従わない場合は、TUN の有効化を検討してください。

9.4 終了 IP をテストする

ブラウザを開き、以下にアクセスします。

https://ifconfig.me

プロキシが機能している場合、ページに表示される IP は VPS の終了 IP であり、ローカルのブロードバンド IP やモバイルキャリアの IP ではないはずです。

ターミナルで以下を実行することもできます。

curl https://ifconfig.me

Clash Verge のシステムプロキシがターミナルで機能しない場合は、ブラウザページの結果を基準として使用してください。

9.5 外部ウェブサイトと動画をテストする

終了 IP が正常になったら、いくつかのウェブサイトを引き続きテストできます。

text
1Google
2YouTube
3GitHub
4Telegram
5実際にアクセスする必要があるウェブサイト

テストする際は、トップページが開けるかどうかだけでなく、以下も確認してください。

ウェブページが正常に読み込めるかどうか

text
1ウェブページが正常に読み込めるかどうか
2動画が再生できるかどうか
3数分間安定しているかどうか
4頻繁に切断が発生しないかどうか
5速度が期待通りかどうか

YouTube は開けるが動画が非常にカクつく場合、設定エラーではなく、以下の可能性があります。

text
1平均的な VPS 回線品質
2ピーク時の混雑
3月間トラフィックの制限
4クライアントのルール設定が正しくない

特定のウェブサイトのみエラーが発生し、他のウェブサイトは正常な場合、すぐにサーバーを再インストールしないでください。以下の考え方に従って判断できます。

text
11 つのウェブサイトのみ異常: ルール、DNS、ターゲットサイトの制限を優先的に確認
2すべてのウェブサイトが異常: ノード接続、サブスクリプション、サーバーステータスを優先的に確認
3モバイルはアクセスできるが Mac は不可: Clash Verge / TUN / Fake-IP を優先的に確認
4VPS では curl でアクセスできるがクライアントは不可: クライアント設定を優先的に確認

最後に

上記のすべての手順が完了したら、おめでとうございます。これであなた自身のプロキシを手に入れました!

他の人と共有したり、ましてや金銭の取引に関与したりしないように十分注意してください。非常に危険です。

また、繰り返しになりますが、このチュートリアルは入門用です。多くの上級者はさらに多くの追加設定を実行したり、異なるプロトコルを使用したりします。それらはご自身で探求してください!

この記事は YouMind によって Markdown から自動変換およびフォーマットされました。

ワンクリック保存

YouMindでバイラル記事をAI深読み

ソースを保存し、的を絞った質問をし、主張を要約して、バイラル記事を再利用できるノートに変えます。すべてを1つのAIワークスペースで行えます。

YouMindを探索
クリエイターのために

あなたの Markdown をきれいな 𝕏 記事に

自分の長文を投稿するとき、画像・表・コードブロックを 𝕏 向けに整形するのは手間がかかります。YouMind は Markdown 全体を、そのまま投稿できるきれいな 𝕏 記事に変換します。

Markdown → 𝕏 を試す

解読すべきパターンをもっと

最近のバイラル記事

バイラル記事をもっと見る