ShadowrocketのLinux版は無料です。Mac(Appleシリコン/Intel)、Windows、Android版も無料で利用できます。iPhone/iPad版はApp Storeで2.99ドルの買い切りです。システム要件はApp Storeの掲載内容をご確認ください。Linuxデスクトップ版のインストールに必要な、ディストリビューションの確認、パッケージ形式の選択、インストール、起動時のトラブル対処、接続確認の手順を説明します。インストールファイルは当サイトのダウンロードページから入手できます。あらかじめ外部のソフトウェアリポジトリを探す必要はありません。
1. ディストリビューションとCPUアーキテクチャを確認
deb、rpm、AppImageは配布形式の違いであり、接続プロトコルの種類ではありません。パッケージを選ぶ際は、まずディストリビューションで使われているパッケージマネージャーを確認し、次にCPUアーキテクチャを確認します。拡張子が同じでも、現在の環境に適合するとは限りません。Linuxのデスクトップ環境、ランタイムライブラリ、ファイルシステムの権限も起動に影響します。ダウンロードできたことだけで実行条件を満たしたとは判断できません。
ターミナルで次の2つのコマンドを実行します。1つ目でディストリビューションの識別情報を確認し、IDとID_LIKEを確認します。2つ目で現在のシステムが認識しているマシンアーキテクチャを調べます。どちらも情報を表示するだけで、ソフトウェアのインストールや接続設定の変更は行いません。
cat /etc/os-release
uname -m
ディストリビューションの確認
- Debian / Ubuntu
- debを選び、aptでローカルファイルをインストールします。
- Fedora
- rpmを選び、dnfでローカルファイルをインストールします。
- その他のディストリビューション
- ディストリビューションの説明を確認し、AppImageの実行条件を調べます。
rpm形式であっても、すべてのrpm対応システムで依存関係が同じとは限りません。
アーキテクチャと権限
- x86_64
- 通常はx64/amd64向けのビルドに該当します。
- aarch64
- 通常はARM64アーキテクチャです。ダウンロードページに対応するビルドがあることを確認してください。
- インストール権限
- deb/rpm形式のインストールでは、通常sudoによる認証が必要です。
ダウンロードページで実際に提供されているアーキテクチャを確認し、別のアーキテクチャ向けパッケージを互換品として扱わないでください。
ダウンロードページのLinuxセクションで、実際に提供されているパッケージを選択します。CPUに合うファイルがない場合は、インストールを中止してください。拡張子を変更したり、インストールコマンドを繰り返し実行したりしても、あるマシンアーキテクチャを別のものに変えることはできません。
2. ダウンロード後の準備
以下では、先にファイルの場所と名前を整えてから、対応するインストールコマンドを実行します。ここで使うshadowrocket-local.deb、shadowrocket-local.rpm、shadowrocket-local.AppImageは、入力しやすくするためのローカル名です。ダウンロードページ上の実際のパッケージ名ではなく、バージョンを示すものでもありません。
-
パッケージを選ぶ
当サイトのアプリ入手ページを開き、「Linux」からディストリビューションとアーキテクチャに合ったファイルを1つダウンロードします。deb、rpm、AppImageのいずれか1つの方法でインストールしてください。
-
ファイルの場所を確認
ファイルマネージャーでダウンロードしたファイルのあるフォルダーを開き、デスクトップ環境の「端末で開く」操作を使います。ダウンロード先のフォルダー名が必ずDownloadsとは限りません。表示名はローカライズやブラウザーの設定によって異なる場合があります。
-
ローカルファイル名を簡潔にする
ダウンロードしたファイルだけをリネームします。debはshadowrocket-local.deb、rpmはshadowrocket-local.rpm、AppImageはshadowrocket-local.AppImageに変更してください。元の拡張子はそのまま残します。
-
対応するコマンドを実行
次のセクションを参照し、apt、dnf、chmodのいずれかの手順を選びます。インストール後はアプリケーションメニューまたはファイルから起動し、Homeで既存の接続情報を確認してください。
3. Debian/Ubuntu:aptでdebをインストール
Debian/Ubuntu系では、ローカルのdebファイルはaptで処理するのが基本です。システムに設定済みのリポジトリへアクセスできれば、aptが依存関係を解決します。一方、dpkg -iだけでは依存関係が未解決のままになることがあります。インストール前にパッケージのアーキテクチャ情報を読み取り、先ほど確認したシステムのアーキテクチャと照合できます。
dpkg-deb -f ./shadowrocket-local.deb Architecture
sudo apt install ./shadowrocket-local.deb
sudoの実行時には、現在のLinuxユーザーの認証パスワードを入力します。通常、ターミナルには入力した文字が表示されません。aptがインストールまたは変更するパッケージの一覧を表示したら、概要を確認してください。今回のインストールに関係のないパッケージが大量に削除される場合は、操作を中止してシステムのリポジトリと依存関係の状態を確認し、そのまま続行しないでください。
- 依存関係を満たせないと表示された場合:ディストリビューションが引き続きサポートされているか、リポジトリにアクセスできるか、パッケージのアーキテクチャが適合しているかを確認します。必要に応じて
sudo apt updateを実行してインデックスを更新し、ローカルファイルを再インストールしてください。 - パッケージマネージャーのロックが使用中と表示された場合:システム更新または別のapt処理が終わるまで待ちます。処理中のトランザクションを壊すおそれがあるため、ロックファイルを直接削除しないでください。
- パッケージが登録されたか確認する場合:
dpkg-deb -f ./shadowrocket-local.deb Packageを実行して実際のパッケージ名を確認し、その名前でシステムのソフトウェア管理ツールを検索します。
インストール後、アプリケーションメニューからShadowrocketを起動します。通常、デスクトップ環境はパッケージに含まれるアプリケーションランチャーを読み込みます。ターミナルでインストールが完了してもアイコンがすぐに表示されない場合は、アプリケーションメニューを閉じて開き直してください。製品の表示名から実行ファイル名や大文字・小文字を推測しないでください。
4. Fedora:dnfでrpmをインストール
Fedoraではdnfを使ってローカルのrpmをインストールします。依存関係は、現在のシステムに設定されているリポジトリから解決されます。インストール前にパッケージ名とアーキテクチャを確認してください。照会コマンドを実行してもアプリは起動しません。rpmを使う他のディストリビューションでは、それぞれのパッケージ管理に関するドキュメントに従ってください。Fedoraのコマンドやリポジトリ設定をそのまま流用しないでください。
rpm -qp --qf '%{NAME}\n%{ARCH}\n' ./shadowrocket-local.rpm
sudo dnf install ./shadowrocket-local.rpm
dnfで依存関係の不足が報告された場合は、エラーメッセージ全体を保存し、「リポジトリにアクセスできない」「必要な依存パッケージがない」「アーキテクチャが一致しない」のどれに該当するかを確認します。対処方法はそれぞれ異なります。ネットワークの問題ではリポジトリへのアクセスを復旧し、依存関係の問題ではシステムとの互換性を確認し、アーキテクチャの問題では適切なファイルを選び直してください。
- 依存関係を無視するオプションで強制的にインストールしないでください。パッケージが登録されても、アプリが正常に起動するとは限りません。
- アプリを1つインストールするために、現在のディストリビューションと合わないリポジトリを追加しないでください。
- 今後の更新も、当サイトのダウンロードページからシステムに合うrpmを入手し、dnfでローカル更新として処理できます。ローカルパッケージを手動でダウンロードしても、自動更新用のリポジトリが登録されるわけではありません。
5. AppImage:実行権限と実行環境を分けて確認
AppImageは、アプリケーションファイルをユーザーディレクトリに置いて管理したい場合に便利です。ただし、「単一ファイル」であることは、すべてのLinuxシステムで動作するという意味ではありません。CPUアーキテクチャ、基本ランタイムライブラリ、デスクトップ環境、パッケージ方法の影響を受けます。AppImageによっては、マウントして実行するためにFUSEが必要です。管理者権限がない場合も、必要な条件がシステムにそろっているか先に確認してください。
ダウンロードしたファイルを前述の方法でリネームし、そのファイルがあるディレクトリで次のコマンドを実行します。1つ目は現在のユーザーに実行権限を付与し、2つ目は現在のディレクトリから起動します。ディレクトリ全体をすべてのユーザーが書き込めるように変更する必要はありません。
chmod u+x ./shadowrocket-local.AppImage
./shadowrocket-local.AppImage
- Permission denied:
ls -l ./shadowrocket-local.AppImageで、ユーザーに実行権限があるか確認します。実行権限がすでにある場合は、ファイルがnoexecオプションでマウントされたパーティションにないか確認してください。 - Exec format error:chmodを繰り返すのではなく、まずCPUアーキテクチャとファイル形式を確認してください。
- FUSEまたはlibfuseに関するメッセージが表示された場合:現在のディストリビューションのドキュメントに従って、互換性のあるランタイムコンポーネントをインストールします。パッケージ名はディストリビューションによって異なる場合があります。既存のFUSEコンポーネントを安易に削除または置き換えないでください。
- 共有ライブラリが見つからないと表示された場合:ターミナルに表示されたライブラリ名とエラー全文を記録し、ディストリビューションとの互換性を確認します。見知らぬWebページからシステムライブラリだけをダウンロードして、既存のファイルを上書きしないでください。
AppImageは、ダウンロードフォルダーを整理した際に誤って削除しないよう、ホームディレクトリ内の決まったアプリ用フォルダーに置くことができます。このファイルを指すデスクトップショートカットがある場合は、移動やリネーム後にリンク先のパスも更新してください。通常のファイル権限の問題を回避するために、グラフィカルアプリ全体をsudoで起動しないでください。システム権限が必要なネットワーク操作は、アプリとシステムの案内に従って許可してください。
6. インストール後に、起動・設定・ネットワークの問題を切り分ける
アプリが起動できたことは、インストールと基本的な実行環境の最初の確認を通過したことを示すだけです。接続機能を使うには、ユーザー自身が用意したサービス設定も必要です。当サイトではノードやサブスクリプション、サービスプロバイダーの提供・販売・推奨は行っていません。クライアントのインストールと接続サービスは別のものです。
Homeで既存のサーバーまたはサブスクリプションが読み込まれているか、Configで使用中の設定を確認し、Global Routingも確認してください。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardはプロトコルの種類であり、インストールパッケージの種類ではありません。サーバー側で指定されたプロトコル、ポート、認証情報、通信パラメーターをそれぞれ一致させてください。Linux版に変えたからといって、独自に変更する必要はありません。
Config:ルールモード
推奨現在の設定に含まれるルールに従って接続を処理します。設定の入手元とルール内容が自分の用途に合っているか確認してから、普段使うモードとして選んでください。どの設定でも、ルールに一致しない接続がDIRECTになるとは限りません。
適した用途:明確な振り分けルールがあり、ドメインやIPごとに接続方法を分けたい場合。
Proxy:プロキシモード
クライアントが処理する接続をプロキシモードで扱います。ルールの一致による違いかどうかを一時的に切り分けるときに使います。すべてのアプリ、コンテナ、独立したネットワーク環境の通信が対象になるわけではありません。
適した用途:プロキシ接続自体が使えるか一時的に確認し、その後、必要なモードに戻す場合。
Direct:直接接続モード
クライアントが処理する接続を直接接続として扱います。Directが選択されている場合、サーバーを選択済みでも、Webページへのリクエストがそのサーバー経由で転送されているとは限りません。
適した用途:端末の基本ネットワークを確認し、直接接続とプロキシ接続のどちらに問題があるか切り分ける場合。
たとえば、特定のドメインをプロキシ経由にし、それ以外は直接接続にする場合、ルールは次の2行のように記述できます。example.comは構文例です。PROXYが指定するプロキシポリシーは、実際の設定で利用可能である必要があります。ルールは上から順に評価され、最後のFINALはそれ以前のルールに一致しなかった接続を処理します。
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
ブラウザーでインターネットに接続できても、システム全体が同じネットワーク設定を使っているとは限りません。コマンドラインのプログラムは独自のプロキシ設定を参照する場合があり、バックグラウンドサービスやコンテナも別の環境で動作することがあります。ローカルプロキシのポートを手動で入力する場合は、クライアントの現在の設定で実際の待ち受けポートを確認してください。チュートリアルから固定の番号を推測しないでください。
7. Linux版のインストールでよくある質問
debがインストールできません。拡張子をrpmに変えてもいいですか?
できません。リネームで変わるのはファイル名だけで、パッケージ内のメタデータ、依存関係の定義、インストールスクリプトは変わりません。当サイトのダウンロードページに戻り、現在のディストリビューションに合ったファイルを選んでください。ローカル名を簡略化する場合も、元の拡張子を残す必要があります。
AppImageをダブルクリックしても反応しない場合、まず何を確認すればよいですか?
まずファイルのあるディレクトリで./shadowrocket-local.AppImageを実行し、ターミナルに表示されるエラーを確認します。権限エラーでは実行権限とマウントオプション、FUSEエラーではランタイムコンポーネント、アーキテクチャエラーではuname -mの結果を確認してください。エラーを調べずに何度もダブルクリックしないでください。
3種類のパッケージをすべてインストールする必要がありますか?
必要ありません。システムに合ったインストール方法を1つ選んでください。システムパッケージと複数のAppImageを併用すると、起動用の項目が複数作られてトラブルの原因になることがあります。問題を調べる際は、まず実行中のファイルを確認し、必要なインストール方法だけを残してください。
アプリは起動しましたが、サブスクリプションを更新できない場合は?
まず、端末の日時と基本的なネットワーク接続を確認します。次に、Homeに登録済みのサブスクリプションURLが完全で、現在も有効か確認してください。エラーメッセージを保存し、接続条件について元のサービス提供元に問い合わせます。debやrpmを再インストールしても、無効になったサブスクリプションURLは通常修復できません。診断情報を共有する際は、サブスクリプションtokenや認証情報を隠してください。
トラブルを報告する際は、ディストリビューション名、uname -mの出力、選択したパッケージ形式、実行したコマンド、ターミナルに表示されたエラー全文を記載してください。「ファイルの適合性 → インストール処理 → アプリの起動 → 接続設定」の順に確認すれば、パッケージ管理の問題をルールの問題と取り違えたり、接続エラーを理由にクライアントを何度も再インストールしたりするのを防げます。