SOCKS Proxy
特徴
各 Mudfish 中継サーバーは、SOCKS v3/v4/v5 プロトコルをサポートするように構成されています。プロトコルごとに、それぞれ次のような特徴があります。
-
v3 / v4 を使用するためには、Mudfish VPN 接続後、中継サーバーの Private IP を通じてのみアクセスが可能です。
-
v5プロトコルの場合、パブリック IPを介して外部に公開されており、SOCKS v5のID / PWD認証を介してMudfish中継サーバーを使用できます。
アプローチ
外部ネットワークを介した方法
SOCKS v5プロトコルを使用してアクセス可能です。
-
Public IP
Mudfish 中継サーバーのパブリック IP を使用します。中継サーバーAPIの
staticnodes一覧から使用するサーバーを探し、そのサーバーのipの値を入力してください。各フィールドの意味は、下記の中継サーバーAPIのレスポンスフィールドを参照してください。 -
Port
TCP 18081 です。
ご使用のMudfish ID / PWDを使用してください。
内部ネットワークを使用した方法
Mudfish SOCKS proxy機能を正常に利用するためには、ブラウザを通じて利用している間Mudfishが実行中でなければなりません。
HTTP Proxy リンクをご覧になると、最も詳しく記載されていますのでご参考ください。ここでは私が主に利用する方法について記録をさせていただきます。
-
Firefox をインストールして実行します。
-
'設定 ->詳細 ->ネットワーク'メニューに入り、SOCKS HostとPortを入力します。ここで、SOCKS HostにMudfish日本中継サーバーの内部IPを入力する必要があります。
- https://mudfish.net/server/status に接続したら、日本中継サーバー名をクリックします。
- 出てくる情報に「内部 IP」が該当情報です。たとえば、JP Asia (Osaka - SakuraNet) 中継サーバーの内部 IP は 10.252.144.1 です。
- Port は SOCKS プロキシの場合、デフォルトの 8081 ポートです。
-
保存後、正しく設定されているか確認してください。 https://myip.mudfish.net に接続すると設定の有無を確認できます。
-
https://myip.mudfish.net には正しく設定されたと出てきますが、該当サイトにアクセスできない場合は、別の日本中継サーバーに変更してからもう一度テストしてみてください。
中継サーバーAPIのレスポンスフィールド
中継サーバーAPIは、中継サーバーの一覧を JSON 形式で返します。正常なレスポンスは次の構造です。以下はサーバーを1件だけ残した例です。サーバーの一覧やアドレスは変わることがあるため、実際に設定するときはAPIの最新のレスポンスを確認してください。
{
"status": 200,
"staticnodes": [
{
"sid": 421,
"hostname": "node-ae-00421.mudfish.net",
"ip": "47.91.122.48",
"private_ip": "10.228.224.1",
"location": "AE Middle East (Dubai - Aliyun)",
"commercial_node": 1,
"commercial_node_premium_enabled": 1
}
]
}
最上位のフィールド
| フィールド | データ型 | 説明 |
|---|---|---|
status | 整数 | APIリクエストの処理結果です。200 はサーバー一覧の取得に成功したことを示します。JSON本文に含まれる値であり、個々の中継サーバーの接続状態を示すものではありません。 |
staticnodes | 配列 | 中継サーバー情報のオブジェクトの一覧です。配列の各要素が1台のサーバーを表します。 |
staticnodes 内のサーバーごとのフィールド
| フィールド | データ型 | 説明 |
|---|---|---|
sid | 整数 | Mudfishで中継サーバーを識別するサーバーIDです。プロキシの接続アドレスやポート番号ではありません。 |
hostname | 文字列 | 中継サーバーのホスト名です。例:node-ae-00421.mudfish.net。 |
ip | 文字列 | 中継サーバーのパブリックIPv4アドレスです。外部ネットワークからSOCKS v5で接続するときに、プロキシサーバーのアドレスとして使用します。 |
private_ip | 文字列 | Mudfish VPN内部で使用する中継サーバーのプライベートIPv4アドレスです。Mudfish VPNに接続した後、内部ネットワーク経由でプロキシにアクセスするときに使用します。 |
location | 文字列 | 国コード、地域、都市、サーバー事業者などを含む中継サーバーの表示名です。例の AE Middle East (Dubai - Aliyun) は、アラブ首長国連邦のドバイにあるAliyunの中継サーバーを示します。 |
commercial_node | 整数 | 有料中継サーバーかどうかを示します。1 は有料中継サーバー、0 はテスト中継サーバーです。 |
commercial_node_premium_enabled | 整数 | プレミアム中継サーバーに分類されるかどうかを示します。1 はプレミアム中継サーバー、0 はその分類が適用されないサーバーです。利用券に応じて中継サーバーを利用できるかどうかを判定するために使う区分です。 |
commercial_node と commercial_node_premium_enabled は、JSONの true / false ではなく、整数の 1 / 0 で返されます。これらの値はサーバーの分類を表し、SOCKSへの対応状況やリアルタイムの速度、遅延を示すものではありません。
SOCKS設定で使用する値
| 接続方法 | プロキシサーバーのアドレス | TCPポート | 認証と条件 |
|---|---|---|---|
| 外部ネットワークからSOCKS v5で接続 | ip | 18081 | MudfishのIDとパスワードで認証します。 |
| Mudfish VPNの内部ネットワーク経由で接続 | private_ip | 8081 | Mudfish VPNに接続している必要があります。 |
APIのレスポンスには、プロキシのポートやユーザー認証情報は含まれません。location で使用するサーバーを探し、接続方法に合ったアドレスと上記のポートを使用してください。