こんにちは、Nayue です。最近 VPS のセットアップについて調べる時間を取りました。codex 先生のおかげで、codex に質問しながら一つひとつ理解でき、成功したので、記事にして皆さんと共有したいと思います。
お役に立てれば幸いです。間違いがあれば教えてくださいね〜
1. なぜドメインと VPS が必要なのか
もし単に一時的に検閲を回避したいだけなら、既製のプロキシを購入するのが最も簡単な方法です。しかし、ノードの設定、プロトコルの選択、証明書の管理、クライアントのサブスクリプション方法を自分でコントロールしたいのであれば、自分で VPS を構築する方が制御しやすく、長期的な利用に適しています。
この記事の目的は、あなた自身のプロキシを持てるようにすることですが、私のチュートリアルが最も包括的または完璧というわけではありません。より多くの機能とより安全な設定を実現するには、さらに多くのチュートリアルを学ぶ必要があります。このチュートリアルの目的は、すぐに使い始められるようにすることです。
最終的な結果は、あなた自身のドメインを持つことです。例: node.example.com。
これはあなたが購入した VPS を指します。プロキシサービスは VPS 上で動作し、クライアントはこのドメインを通じて VPS に接続し、VPS がターゲットのウェブサイトにアクセスします。
全体的な関係は次のように理解できます。
1モバイル / コンピュータクライアント2 ↓3node.example.com4 ↓5VPS パブリックサーバー6 ↓7ターゲットウェブサイト
ここには、ドメインと VPS という 2 つの重要な要素があります。
ドメインの役割は、安定していて読みやすく、証明書を署名できるエントリポイントを提供することです。理論的には VPS の IP を直接使用して接続することも可能ですが、実際には推奨されません。
その理由は 3 つあります。
第一に、ドメインは移行が簡単です。VPS の IP が変更されたり、回線品質が低下したり、プロバイダーを切り替えたりする場合、ドメインの DNS レコードを新しい IP に変更するだけで、クライアントは同じドメインに接続し続けます。
第二に、ドメインを使用すると TLS 証明書を簡単に申請できます。この記事では TLS を使用する方式を採用しており、クライアントは接続時に証明書を検証します。ドメインで証明書を申請する方が自然で、通常の HTTPS サービスの使用方法に近くなります。
第三に、ドメインはその後の管理に便利です。例えば、メインノードに次のように名前を付けることができます。
バックアップノード:
サブスクリプションサービス:
これは、IP アドレスの文字列を覚えるよりも明確です。
VPS の役割は、パブリックサーバーを提供することです。パブリック IP、安定したネットワーク、十分なトラフィックが必要であり、SSH 経由でログインしてサービスをインストールできる必要があります。
この記事では Ubuntu 22.04 システムを使用します。設定はそれほど高くする必要はなく、個人利用であれば通常 1C2G で十分です。本当に注目すべきは、データセンターの場所、帯域幅、月間トラフィックです。
このソリューションは個人の学習と自己利用のみに適していることに注意してください。ノードを見知らぬ人と共有したり、サブスクリプションリンク、QR コード、UUID、サーバー IP などの機密情報を公開ページに投稿したりしないでください。
2. 準備: ドメイン、VPS、Cloudflare アカウント、SSH ツール
始める前に、今回使用するものを準備してください。この部分は複雑ではありませんが、後で行ったり来たりトラブルシューティングすることを避けるために、一度にすべてを整理することをお勧めします。
今回実際に使用した組み合わせは次のとおりです。
1ドメインレジストラ: Porkbun2DNS 管理: Cloudflare 無料版3VPS リージョン: 香港4VPS システム: Ubuntu 22.045VPS 設定: 1C2G / 100Mbps / 30G ディスク / 300G 月間トラフィック6サーバースクリプト: v2ray-agent7プロキシコア: Xray-core8最終プロトコル: VLESS + TCP + TLS + Vision9コンピュータクライアント: Clash Verge10モバイルクライアント: Shadowrocket
「ねえ、香港の VPS を買ったら、どうやって AI にサブスクライブするの?」と聞く友人もいるかもしれません。
はは、慌てないでください。この VPS は AI で遊ぶためのものではありません。あなたの目的が海外の AI を使うことなら、対応する安定した VPS を探して購入してください。私の VPS プロバイダーを正確にコピーする必要はありません。X 上には多くの VPS のおすすめがあります。
2.1 ドメイン
ドメインは、Porkbun、Namecheap、Cloudflare Registrar などのプラットフォームで購入できます。今回は Porkbun を使用しました。年間約 11 ドルで、普通の価格です。
ドメインを購入するときは、ドメイン自体だけを購入すればよく、追加のウェブホスティングサービスは必要ありません。後で VPS 上で自分でサービスを設定し、証明書は無料の Let's Encrypt を使用して申請します。
購入時には、以下の項目を確認することをお勧めします。
1ドメインが正常に購入された2Whois プライバシー保護が有効になっている3自動更新が有効になっている4アカウントの 2FA が有効になっている5追加のウェブホスティングを購入していない6追加の有料 SSL を購入していない
繰り返しますが、ドメインを購入するのはウェブサイトを作るためではなく、VPS への安定したアクセスエントリを提供するためです。
例えば、後でサブドメインを設定します。
それを VPS のパブリック IP に向けます。クライアントが接続するときは、VPS の IP を直接書くのではなく、このドメインにアクセスします。

2.2 Cloudflare アカウント
Cloudflare はここでは主に DNS 管理を担当します。Cloudflare でドメインを購入する必要はありません。
私の実際の方法は次のとおりです。
1ドメインは Porkbun で購入2DNS は Cloudflare で管理
つまり、Porkbun の Nameservers を Cloudflare が割り当てた 2 つの Nameservers に変更します。これにより、今後すべての DNS レコードが Cloudflare で設定されるようになります。
この手順は後で詳しく説明します。今は、Cloudflare アカウントを準備して、無料プランを選択してください。
https://dash.cloudflare.com/ を開く
登録/ログイン後:
1ドメインを追加2↓3ドメインを入力 (例: xxx.com)、ルートドメインを入力4↓5無料プランを選択6↓7Cloudflare が既存の DNS レコードをスキャン8↓9続行
Cloudflare は最終的に 2 つのネームサーバーを提供します。形式は次のとおりです。
1xxxx.ns.cloudflare.com2yyyy.ns.cloudflare.com

2.3 VPS
VPS は実際にサービスを実行するマシンです。パブリック IPv4、SSH アクセスが必要であり、ポート 80 と 443 が使用可能である必要があります。
私は Global Cloud から購入しました。https://my.locvps.net/idcSystem.aspxhttps://my.locvps.net/idcSystem.aspx)?
宣伝しているわけではありません。ニーズは人それぞれです。要件に基づいて、他の場所で必要な VPS を購入してください。

2.4 SSH ログインツール
私は Mac の内蔵ターミナルを使用して VPS にログインしています。macOS には追加の SSH ツールは必要ありません。ターミナルを開くだけです。
SSH ログインコマンドの形式は次のとおりです。
1ssh root@<VPS_IP> -p <SSH_PORT>2例:3ssh root@203.0.113.10 -p 43781
2.5 クライアントソフトウェア
サーバーがセットアップされたら、コンピュータまたはスマートフォンにノードをインポートする必要があります。
今回は主に 2 つのクライアントを使用しました。
1Mac: Clash Verge2iPhone: 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 つに置き換えます。



保存後、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 に追加することです。
ここで実際に使用したものは次のとおりです。
1ルートドメイン: xxx.com2ノードドメイン: node.xxx.com3VPS IPv4: xx.xx.xx.xx4Cloudflare レコードステータス: DNS only
4.1 Cloudflare DNS ページに入る
Cloudflare にログインし、サイトに入り、次を開きます。
1DNS → Records
ここには、Cloudflare によってスキャンされた、または既に存在する DNS レコードが表示されます。
ドメインが Porkbun から来たばかりの場合、いくつかのデフォルトレコードが表示される可能性があります。例:
1A レコード2CNAME レコード3MX レコード4TXT レコード
これらは最初に削除できます。新しいものを自分で設定します。
'node' をノードドメインとして使用する予定なので、'node' のレコードを追加する必要があります。
4.2 A レコードを追加する
クリック:
1Add record
次に、以下を入力します。
1Type: A2Name: node3Content: VPS パブリック IPv44TTL: Auto5Proxy status: DNS only

4.3 ここでグレークラウドを選択する必要がある理由
Cloudflare の Proxy status には、一般的に 2 つの状態があります。
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 ターミナルで以下を実行します。
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 経由でサーバーにログインします。
1例:2ssh root@203.0.113.10 -p 43781
初回ログイン時、ターミナルはサーバーフィンガープリントを信頼するかどうかを尋ねる場合があります。
1Are you sure you want to continue connecting (yes/no/[fingerprint])?
「yes」と入力します。
次に、root パスワードを入力します。
ログイン後、まずパッケージリストを更新します。
1apt update2apt upgrade -y
途中で青または紫の設定インターフェースで止まっても、ウィンドウを閉じないでください。Ubuntu は特定のパッケージをアップグレードする際に、ローカル設定ファイルを保持するかどうかを尋ねます。
今回は 2 つの設定ファイルのプロンプトに遭遇しました。
1 つ目は:

2 つ目は:
1/etc/cloud/cloud.cfg
ターミナルのプロンプトは次のようになりました。
1cloud.cfg (Y/I/N/O/D/Z) [default=N] ?
ここでは Enter キーを直接押して、デフォルトの N を使用します。
アップグレードが完了する前に、Ubuntu は次のようなインターフェースを表示する場合があります。
1Daemons using outdated libraries2Which services should be restarted?
これは、一部のサービスがまだ古いバージョンのライブラリをロードしているため、これらのサービスを再起動するかどうかを尋ねています。
通常はデフォルトの選択を維持し、OK を選択します。
システムアップデートが完了したら、後で使用するいくつかのツールをインストールします。
1apt install -y curl wget sudo vim ufw lsof unzip socat jq qrencode dnsutils
これらのツールは次の目的で使用されます。
1curl / wget: スクリプトのダウンロード、アクセステスト2ufw: ファイアウォールの設定3lsof / ss: ポート使用状況の確認4unzip: ファイルの解凍5socat: 証明書申請時に使用される可能性あり6jq: JSON の処理7qrencode: QR コードの生成8dnsutils: dig コマンドの提供
最後のステップとして、ドメインがサーバーを指しているか確認します。
1curl -4 ifconfig.me2dig +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 つのポートが必要になります。
1SSH ポート: VPS へのリモートログイン用280/tcp: HTTP 証明書確認用3443/tcp: 最終的なプロキシサービス用
VPS 上で実行:
1ufw allow 43781/tcp2ufw allow 80/tcp3ufw allow 443/tcp
SSH ポートが 43781 でない場合は、ご自身のポートに置き換えてください。
実行後、最初にルールを確認できます。
ufw status verbose
次のように表示された場合:
Status: inactive
問題ありません。ルールは追加されましたが、ファイアウォールはまだ有効になっていないことを意味します。
6.3 UFW ファイアウォールを有効にする
SSH ポートが許可されていることを確認したら、UFW を有効にします。
ufw enable
システムはプロンプトを表示します。
入力:
y
次に、再度確認します。
ufw status verbose
通常、次のようなものが表示されるはずです。
1Status: active23To Action From4-- ------ ----543781/tcp ALLOW Anywhere680/tcp ALLOW Anywhere7443/tcp ALLOW Anywhere843781/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 設定をバックアップ:

現在のポート使用状況を記録:
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
その時の私の出力は次のようなものでした。
1total 28K2drwxr-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 letsencrypt5drwxr-xr-x 8 root root 4.0K May 2 07:56 nginx6-rw-r--r-- 1 root root 1.1K May 2 08:02 ports-before.txt7-rw-r--r-- 1 root root 3.1K May 2 06:58 sshd_config8-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 の選択
サーバーの準備ができたら、サーバープログラムを正式にインストールできます。
今回使用したものは次のとおりです。
1サーバースクリプト: v2ray-agent2コア: Xray-core3プロトコル: VLESS + TCP + TLS + Vision4ポート: 4435ドメイン: node.example.com6証明書: 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 つのことを行います。
1install.sh を /root にダウンロード2install.sh に実行権限を追加3インストールスクリプトを実行
実行したとき、スクリプトが表示した情報は次のようなものでした。
1Author: mack-a2Current version: v3.5.143Github: https://github.com/mack-a/v2ray-agent4Description: Eight-in-one coexistence script
インストールスクリプトが実行されると、メインメニューが表示されます。
11. Install22. Custom combination installation33. One-click no domain44. Hysteria 2 management55. REALITY management66. Tuic management77. User management88. Fake site management99. Certificate management1010. CDN node management11...
ここで選択:
Custom combination installation
理由は、明示的に以下を選択したいからです。
1Xray-core2VLESS + TLS_Vision + TCP
スクリプトにノードなしや他のデフォルトパスに誘導させないでください。
7.2 コアを選択: Xray-core
カスタム組み合わせインストールに入ると、スクリプトはコアの選択を促します。
1Function 1/1: Select core installation231. Xray-core42. sing-box
ここで選択:
Xray-core
理由は、定番の Xray + VLESS Vision スキームを使用しており、互換性が成熟しており、Clash Verge や Shadowrocket などのクライアントがサポートできるからです。
入力:
1
次に Enter キーを押します。
7.3 プロトコルを選択: VLESS + TLS Vision + TCP
次に、スクリプトはプロトコルのリストを表示します。その時見えたオプションは次のようなものでした。
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 基本コンポーネントをインストールする
プロトコルを選択した後、スクリプトは依存関係のインストールを開始します。
私が見たプロセスは次のようなものでした。
1Progress 1/12: Installing tools2---> Checking and installing updates3---> Installing unzip4---> Installing socat5---> Installing crontabs6---> Installing jq7---> Installing ping68---> Installing qrencode9---> Installing nginx10---> Installing acme.sh
後で使用するいくつかのコンポーネントがここでインストールされます。
1nginx: フェイクサイトとローカル転送に関連2acme.sh: TLS 証明書の申請3jq: 設定の処理4qrencode: QR コードの生成5socat: 証明書申請中に使用される可能性あり
この手順は新しいマシンでは遅くなる可能性があります。長時間出力がない場合は、しばらく待ってください。頻繁に中断しないでください。
7.5 ノードドメインを入力する
次に、スクリプトは Nginx と証明書の初期化プロセスに入り、ドメインの入力を促します。
Please enter the domain to be configured Example: www.v2ray-agent.com --->
ドメインを入力します。例:
以下が、指定されたガイドラインに従って英語から日本語に翻訳したものです。
ここではルートドメインではなく、完全なサブドメインを入力する必要があることに注意してください。
7.6 ポートの入力: デフォルトの 443 を使用
ドメインを入力した後、スクリプトはポートの入力を求めます。
ポートを入力してください [デフォルト: 443]、カスタムポートも利用可能 [デフォルトを使用するには Enter キーを押してください]
ここで Enter キーを押してデフォルトを使用します。
443
私のスクリプトには次のように表示されました。
---> ポート: 443
ファイアウォールはすでに以下を許可しています。
443/tcp
そのため、ここではそのまま使用できます。
7.7 ドメイン IP の確認を待つ
ポートが確定した後、スクリプトはドメインの名前解決が正しいかどうかを確認します。
通常、次のような表示がされます。
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 を使用する必要がないからです。
次に、スクリプトは認証局を選択させます。
11. letsencrypt [デフォルト]22. zerossl33. buypass [DNS 申請は非対応]
ここで Enter キーを押してデフォルトを使用します。
letsencrypt
Let's Encrypt は無料の証明書であり、個人利用には十分です。証明書自体がノード異常の主要因になるわけではなく、本当に保証すべきなのは以下の点です。
正しいドメインの名前解決
証明書の申請成功
更新タスクが正常に動作していること
正しいサーバー設定
7.9 UUID とユーザー名
その後、スクリプトは UUID の入力を求めます。
カスタム UUID を入力してください [有効な形式である必要があります]、[ランダムな UUID を生成するには Enter キーを押してください]
Enter キーを押して、スクリプトにランダム生成させることをお勧めします。
次に、ユーザー名の入力を求めます。
カスタムユーザー名を入力してください [有効な形式である必要があります]、[ランダムなユーザー名を生成するには Enter キーを押してください]
こちらも Enter キーを押してランダム生成できます。また、自分が識別しやすい名前を入力することもできますが、実名、電話番号、メールアドレスなどの個人情報は使用しないでください。
7.10 インストール後のアカウント出力
インストールが完了すると、スクリプトは最終ステップに入ります。
進捗 12/12: アカウント
その時点での私の出力は以下の通りでした。
1VLESS TCP TLS_Vision [推奨]2一般形式 (VLESS+TCP+TLS_Vision)3vless://...4整形されたプレーンテキスト (VLESS+TCP+TLS_Vision)5プロトコルタイプ: VLESS6アドレス: node.example.com7ポート: 4438ユーザー ID: ...9セキュリティ: tls10client-fingerprint: chrome11転送方法: tcp12flow: xtls-rprx-vision13アカウント名: ...14QR コード VLESS
これは、サーバーが VLESS Vision ノードを生成したことを示しています。
7.11 Xray と Nginx のステータスを確認する
インストール後、すぐにクライアントにインポートしないでください。まず VPS でサービスのステータスを確認します。
1systemctl status xray --no-pager2systemctl status nginx --no-pager3ss -tulpn | grep -E '(:443|:80|xray|nginx)'
私が確認した重要な結果は以下の通りです。
1xray.service active (running)2nginx.service active (running)3xray listening on public *:4434nginx 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 を使用する場合は、サブスクリプションリンクを生成することをお勧めします。
サブスクリプションリンクの利点は以下の通りです。
1クライアントはサブスクリプションを一度追加するだけで済む2ノード情報変更後にサブスクリプションを更新するだけ3複数ユーザーや複数ノードの管理が容易4Clash Verge は ClashMeta 形式を直接使用可能
実際にサブスクリプションを生成した際、私は v2ray-agent のユーザー管理機能を使用しました。
1vasma2→ 7. ユーザー管理3→ 2. サブスクリプションを表示4→ ClashMeta 形式を選択
8.1 v2ray-agent メニューを再度開く
インストールスクリプトが完了すると、自動的にショートカットコマンドが作成されます。
vasma
VPS 上で以下を実行します。
vasma
これにより、v2ray-agent のメインメニューが再度開きます。
メニューには以下のような項目が表示されます。
11. インストール22. カスタム組み合わせインストール33. ワンクリックドメイン不要44. Hysteria 2 管理55. REALITY 管理66. Tuic 管理77. ユーザー管理88. ダミーサイト管理99. 証明書管理1010. CDN ノード管理11...
ここで以下を選択します。
ユーザー管理
8.2 サブスクリプション表示に入る
ユーザー管理に入ると、次のようなメニューが表示されます。
1機能 1/1: アカウント管理231. アカウントを表示42. サブスクリプションを表示53. 他のサブスクリプションを管理64. ユーザーを追加75. ユーザーを削除
ここで以下を選択します。
サブスクリプションを表示
このステップにより、ローカルアカウントのサブスクリプションコンテンツが再生成されます。
スクリプトは次のようなプロンプトも表示します。
サブスクリプションを表示すると、ローカルアカウントのサブスクリプションが再生成されます。md5 暗号化ソルト値を手動で入力する必要があります。不明な場合は、ランダムなものを使用してください。既に追加されたリモートサブスクリプションのコンテンツには影響しません。
自分用に使用するだけであれば、デフォルトのランダム値をそのまま使用してください。
8.3 サブスクリプションポートを入力する
スクリプトは次のように促します。
1サブスクリプション設定を開始します。サブスクリプションポートを入力してください。23カスタムポートを入力してください [有効な形式である必要があります]、ポートは重複できません。[ランダムなポートを使用するには 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 をテストする
ブラウザを開き、以下にアクセスします。
プロキシが機能している場合、ページに表示される IP は VPS の終了 IP であり、ローカルのブロードバンド IP やモバイルキャリアの IP ではないはずです。
ターミナルで以下を実行することもできます。
curl https://ifconfig.me
Clash Verge のシステムプロキシがターミナルで機能しない場合は、ブラウザページの結果を基準として使用してください。
9.5 外部ウェブサイトと動画をテストする
終了 IP が正常になったら、いくつかのウェブサイトを引き続きテストできます。
1Google2YouTube3GitHub4Telegram5実際にアクセスする必要があるウェブサイト
テストする際は、トップページが開けるかどうかだけでなく、以下も確認してください。
ウェブページが正常に読み込めるかどうか
1ウェブページが正常に読み込めるかどうか2動画が再生できるかどうか3数分間安定しているかどうか4頻繁に切断が発生しないかどうか5速度が期待通りかどうか
YouTube は開けるが動画が非常にカクつく場合、設定エラーではなく、以下の可能性があります。
1平均的な VPS 回線品質2ピーク時の混雑3月間トラフィックの制限4クライアントのルール設定が正しくない
特定のウェブサイトのみエラーが発生し、他のウェブサイトは正常な場合、すぐにサーバーを再インストールしないでください。以下の考え方に従って判断できます。
11 つのウェブサイトのみ異常: ルール、DNS、ターゲットサイトの制限を優先的に確認2すべてのウェブサイトが異常: ノード接続、サブスクリプション、サーバーステータスを優先的に確認3モバイルはアクセスできるが Mac は不可: Clash Verge / TUN / Fake-IP を優先的に確認4VPS では curl でアクセスできるがクライアントは不可: クライアント設定を優先的に確認
最後に
上記のすべての手順が完了したら、おめでとうございます。これであなた自身のプロキシを手に入れました!
他の人と共有したり、ましてや金銭の取引に関与したりしないように十分注意してください。非常に危険です。
また、繰り返しになりますが、このチュートリアルは入門用です。多くの上級者はさらに多くの追加設定を実行したり、異なるプロトコルを使用したりします。それらはご自身で探求してください!
この記事は YouMind によって Markdown から自動変換およびフォーマットされました。





