Shadowsocks は最もシンプルで、最も広く対応しているプロキシプロトコルのひとつです。ほとんどのプロバイダやセルフホスト用のサーバスクリプトで Shadowsocks サーバを用意できます。この記事では、iOS 向けの無料プロキシクライアント Potatso を使って、iPhone や iPad で Shadowsocks サーバを使う方法を説明します。
プロトコル自体について知りたい方は、先に Shadowsocks とは? をお読みください。
用意するもの
- iOS 17 以降の iPhone または iPad。
- Shadowsocks サーバ。プロバイダからは次のいずれかの形で提供されます。
ss://リンク(例:ss://YWVzLTI1Ni1nY206c2VjcmV0@ss.example.com:8388#Tokyo)- そのリンクの QR コード
- 複数のサーバをまとめたサブスクリプション URL
- サーバアドレス、ポート、パスワード、暗号方式(例:
aes-256-gcm)などの設定値
iOS の「設定」アプリではだめなの? iOS で使えるのは HTTP プロキシだけで、しかも Wi-Fi ネットワークごとの設定です(設定 → Wi-Fi → ⓘ → プロキシを構成)。Shadowsocks には対応しておらず、モバイルデータ通信にも適用されません。クライアントアプリなら、どのネットワークでもすべての通信をサーバ経由で送れます。
ステップ 1:Potatso をインストールする
App Store から Potatso をダウンロードして開きます。はじめるをタップし、プロファイルの名前(例:「Personal」)を入力して続けるをタップします。プロファイルには、サーバ、ルール、DNS 設定がまとめて保存されます。

ステップ 2:Shadowsocks サーバを追加する
サーバを追加しましょうのステップでは、4 通りの追加方法を選べます。プロバイダから受け取った形式に合わせて選んでください。
ss:// リンクまたはサブスクリプション URL から追加する
ss://リンクまたはサブスクリプション URL をコピーします。- Potatso でリンクをペーストをタップし、続けてペーストをタップします。
形式は Potatso が自動で判別します。サブスクリプション URL は読み込んだ後も更新され続けるため、プロバイダが新しいサーバを追加すれば、何もしなくても反映されます。
QR コードから追加する
QR コードをスキャンをタップし、カメラを QR コードに向けます。QR コードが写真アプリに保存したスクリーンショットの場合は、スキャナーの隅にある写真ボタンをタップして画像を選びます。
手動で入力する
- サーバを手動で入力をタップします。
- 名前を入力し、プロトコルで Shadowsocks を選びます。
- アドレスとポートを入力します。
- パスワードを入力し、サーバで使われている暗号方式を選びます。
- サーバが simple-obfs、v2ray-plugin、ShadowTLS などのプラグインを使っている場合は、プラグインでそれを選び、プラグインパラメータにオプションを入力します(例:
obfs=tls;obfs-host=cdn.example.com)。 - 保存(チェックマーク)をタップします。
サーバを追加すると、ステップの表示がサーバを追加しましたに変わります。続けるをタップします。
ステップ 3:ルートを選ぶ
選んでいる間に、Potatso がすべてのサーバのレイテンシを測定します。
- グローバル:選んだサーバにすべての通信を送ります。サーバが 1 台だけなら、これが最も簡単です。
- ルール:構成に含まれるルールに従って、プロキシ経由にする通信と直接接続する通信を振り分けます。読み込んだ内容にルールが含まれている場合に選べます(多くの Clash サブスクリプションが該当します)。
サーバを選び、画面下部のボタン(例:Tokyo を使用)をタップします。

ステップ 4:VPN を許可して接続する
Potatso はデバイス上の VPN 構成を使って通信をプロキシに送るため、iOS で一度だけ許可が必要です。
- VPN 構成を追加をタップし、iOS に確認されたら許可をタップします。
- ホームで、ステータスカードのスイッチをオンにします。
ステータスが接続中…、接続済みの順に変わり、ステータスバーに VPN アイコンが表示されます。Web サイトを開いて、正しく読み込めるか確認してください。切断するには、スイッチをオフにします。

接続できないときは
Shadowsocks のトラブルの多くは、設定がサーバと完全には一致していないことが原因です。
- パスワードまたは暗号方式の誤り。 どちらも一文字違わずサーバと一致している必要があります。Shadowsocks にはパスワードの誤りを知らせるハンドシェイクがなく、サーバは接続を切るだけなので、タイムアウトのように見えます。
- 2022 暗号方式のキーの誤り。
2022-blake3-aes-128-gcmなどの暗号方式では、自由に決めたパスワードではなく、決まった長さの Base64 キー(AES-128 は 16 バイト、それ以外は 32 バイト)を使います。サーバの設定どおりに正確にコピーしてください。 - 非対応のプラグイン。 Potatso には simple-obfs、v2ray-plugin(WebSocket)、gost-plugin、ShadowTLS、Restls、JLS が組み込まれています。Cloak や kcptun が必要なサーバは、この方法では iOS から使えません。
- UDP が使えない(音声通話や一部のゲーム)。サーバが UDP を中継しているか確認してください。simple-obfs 以外のプラグインを使う場合、Shadowsocks は TCP しか転送しません。
対応している暗号方式、プラグイン、リンク形式の一覧は Shadowsocks リファレンス に、接続全般の問題は トラブルシューティング にまとめています。
次のステップ
- 多数のサーバを含むサブスクリプションを使っていますか? サーバをグループにまとめて、最速のものを Potatso に選ばせることができます。iPhone に Clash サブスクリプションを読み込む方法 をご覧ください。
- Shadowsocks が今も自分に合ったプロトコルか気になりますか? プロキシプロトコル比較 で VLESS、Trojan、Hysteria 2、AnyTLS と比べてみてください。
よくある質問
- アプリなしで iPhone から Shadowsocks を使えますか?
- いいえ。iOS に標準で備わっているプロキシ設定は HTTP プロキシのみで、設定した Wi-Fi ネットワークにしか適用されません。Shadowsocks サーバを使うには、Potatso のように VPN 構成を追加して通信をサーバ経由で送るクライアントアプリが必要です。
- 暗号方式はどれを選べばよいですか?
- サーバに設定されている暗号方式とまったく同じものを選んでください。自分でサーバを運用している場合は、2022-blake3-aes-128-gcm などの 2022 暗号方式か、aes-256-gcm や chacha20-ietf-poly1305 などの AEAD 暗号方式がおすすめです。rc4-md5 のような古いストリーム暗号は避けましょう。
- iPhone の Shadowsocks で UDP は使えますか?
- はい。Potatso は Shadowsocks サーバ経由の UDP 中継がデフォルトで有効です。サーバが UDP を中継しない場合のみ、サーバの設定で UDP をオフにしてください。
- Potatso は無料ですか?
- はい。Potatso は iOS 17 以降の iPhone・iPad 向けに App Store で無料配信されています。複数のプロファイルなど、一部の Pro 機能にはサブスクリプションが必要です。