安裝 Shadowrocket(小火箭)Linux 版前,請先確認發行版與處理器架構,再選擇 deb、rpm 或 AppImage。本文適用於使用圖形桌面的 Linux 使用者:先說明如何挑選安裝套件,再提供讀取實際下載檔案的 Bash 指令,最後分別排查相依性錯誤、執行權限、桌面啟動與連線設定問題。安裝完成不代表已具備可用連線;後續操作以使用者已有自己的服務商與訂閱為前提。
一、先確認發行版、架構與取得方式
Debian、Ubuntu 通常優先選擇 deb;Fedora 通常選擇 rpm 並使用 dnf;若不希望將套件登錄至系統套件資料庫,可考慮 AppImage。套件格式與處理器架構是兩項獨立條件:檔案副檔名正確,不代表其中的程式適用於目前的 CPU。
請前往全平台下載頁,進入 Linux 區域,依頁面實際提供的套件格式與架構選擇。Linux 版免費;iPhone/iPad 版在 App Store 一次性付費 $2.99,Mac(Apple 晶片與 Intel)、Windows、Android 版本也免費。iPhone/iPad 的系統需求以 App Store 頁面標示為準。
-
確認系統資訊
開啟終端機並執行
cat /etc/os-release,讀取ID、ID_LIKE與PRETTY_NAME。不要只憑桌面外觀判斷發行版;相同的桌面環境可能運行於不同的套件管理系統。 -
確認架構
執行
uname -m。輸出x86_64代表常見的 64 位元 Intel/AMD 架構,aarch64則代表 64 位元 ARM。請只選擇下載頁明確標示支援該架構的檔案。 -
選擇安裝套件
前往下載頁的 Linux 區域,選擇適用於該發行版的格式。使用 rpm 不代表一定要使用 dnf;其他 rpm 系發行版請依照各自的套件管理器說明操作,不要直接套用 Fedora 指令。
-
記下檔案位置
在瀏覽器的下載記錄中開啟檔案所在資料夾,確認下載已完成。以下指令預設檔案位於
$HOME/Downloads;如果系統使用其他下載資料夾,請將指令中的路徑改為實際位置。
cat /etc/os-release
uname -m
| 環境 | 優先格式 | 處理方式 |
|---|---|---|
| Debian / Ubuntu | deb | 使用 apt 安裝本機檔案,並處理可滿足的相依套件 |
| Fedora | rpm | 使用 dnf 安裝本機檔案,並顯示交易計畫 |
| 相容的圖形桌面環境 | AppImage | 設定執行權限後啟動,仍須符合執行環境需求 |
二、Debian/Ubuntu:使用 apt 安裝 deb
使用 apt install 安裝本機 deb 時,必須將檔案路徑作為參數傳入。相對路徑前的 ./ 不可省略,否則 apt 可能會將輸入內容視為套件名稱。apt 可以從已啟用的套件來源取得相依套件,但無法保證舊版發行版具備程式所需的所有程式庫。
以下指令請在 Bash 中執行。指令會列出下載資料夾中的 deb,讓你依編號選擇實際檔案,不必依賴固定檔名。資料夾中可能有其他軟體的安裝套件,請確認選取的是剛從本站下載的 Shadowrocket 檔案;若找不到符合條件的檔案,就不會執行安裝。
(
cd "$HOME/Downloads" || exit 1
shopt -s nullglob
packages=(./*.deb)
if ((${#packages[@]} == 0)); then
printf '%s\n' '此資料夾沒有 deb 檔案,請確認下載位置。'
exit 1
fi
PS3='請輸入 Shadowrocket deb 檔案對應的編號:'
select pkg in "${packages[@]}"; do
if [[ -n "$pkg" ]]; then
sudo apt install "$pkg"
break
fi
printf '%s\n' '請輸入清單中的有效編號。'
done
)
- 先查看交易摘要:確認準備安裝、升級或移除的項目。若出現大量非預期的移除項目,請輸入
n取消,先檢查發行版相容性,不要直接確認。 - 下載相依套件失敗:確認系統套件來源可正常使用;必要時執行
sudo apt update更新索引,再用同一個檔案重試。更新索引不會讓不相容的套件變得相容。 - 無法滿足相依性:記下具體的相依套件名稱與需求,確認目前的發行版是否受下載頁支援。不要任意新增其他發行版的套件來源,也不要強制忽略相依性。
- 安裝成功後:在桌面應用程式選單中搜尋 Shadowrocket。安裝指令成功執行與圖形程式能否啟動是兩項不同的檢查,請分別確認。
三、Fedora:使用 dnf 安裝 rpm
在 Fedora 上使用 dnf 安裝本機 rpm,可在同一筆交易中檢查相依性與衝突。不要只因為副檔名相同,就認定為其他發行版建置的 rpm 一定可用;程式庫名稱、相依性限制與桌面整合方式都可能不同。
(
cd "$HOME/Downloads" || exit 1
shopt -s nullglob
packages=(./*.rpm)
if ((${#packages[@]} == 0)); then
printf '%s\n' '此資料夾沒有 rpm 檔案,請確認下載位置。'
exit 1
fi
PS3='請輸入 Shadowrocket rpm 檔案對應的編號:'
select pkg in "${packages[@]}"; do
if [[ -n "$pkg" ]]; then
sudo dnf install "$pkg"
break
fi
printf '%s\n' '請輸入清單中的有效編號。'
done
)
若出現架構不符、相依性衝突或套件驗證錯誤,請停止交易並保留完整錯誤訊息。不要加入略過驗證或強制覆寫檔案的參數。若終端機提示已有相同套件,請先確認目前的安裝狀態;不要反覆執行安裝指令來排除連線失敗。
deb 安裝重點
- 適用環境
- Debian/Ubuntu 及相容發行版
- 本機路徑
- 以
./開頭,並將完整路徑加上引號 - 相依套件來源
- 目前系統已啟用的套件來源
- 錯誤線索
- 相依套件名稱、架構與 apt 交易摘要
安裝檔案與相依環境必須同時相容。
rpm 安裝重點
- 本文適用環境
- Fedora 與 dnf
- 本機路徑
- 將實際 rpm 路徑傳給 dnf
- 確認檔案位置
- dnf 執行前的交易清單
- 停止條件
- 架構不符、發生衝突或驗證錯誤
不要將 Fedora 指令套用至所有 rpm 系統。
四、AppImage:設定執行權限後啟動
AppImage 通常以單一可執行檔運作,不必像 deb、rpm 那樣先建立套件安裝交易,但不代表完全不需要系統相依套件。處理器架構、圖形環境、執行程式庫與掛載條件仍會影響啟動。請先將檔案移至打算長期保存的位置,避免清理下載資料夾後遺失啟動檔案。
以下指令同樣在 Bash 中執行,只會為選取的檔案新增目前使用者的執行權限,並以目前使用者身分啟動。不要遞迴變更整個下載資料夾的權限,也不要使用 sudo 啟動整個圖形程式。
(
cd "$HOME/Downloads" || exit 1
shopt -s nullglob
packages=(./*.AppImage)
if ((${#packages[@]} == 0)); then
printf '%s\n' '此資料夾沒有 AppImage 檔案,請確認下載位置。'
exit 1
fi
PS3='請輸入 Shadowrocket AppImage 檔案對應的編號:'
select pkg in "${packages[@]}"; do
if [[ -n "$pkg" ]]; then
chmod u+x -- "$pkg" && "$pkg"
break
fi
printf '%s\n' '請輸入清單中的有效編號。'
done
)
- 出現 Permission denied:檢查檔案的執行權限與所在分割區。即使已執行
chmod u+x,使用noexec掛載選項的分割區仍可能禁止執行;可將檔案移至允許執行的個人資料夾後再試。 - 出現 libfuse.so.2 相關錯誤:通常表示缺少 FUSE 2 相容程式庫。在 Debian/Ubuntu 上,可先執行
apt-cache policy libfuse2 libfuse2t64查看目前發行版可用的套件,再依發行版說明處理;不要直接照搬其他系統的程式庫名稱。 - 出現 Exec format error:請優先核對
uname -m的輸出與下載頁標示的架構。設定執行權限無法解決架構不符的問題。 - 雙擊後沒有視窗:先在終端機執行該檔案,查看錯誤訊息。如果是在沒有圖形工作階段的遠端終端機中啟動,請回到本機桌面工作階段檢查,不要反覆修改權限。
五、首次啟動:分開檢查安裝與連線
視窗能開啟,表示已通過程式啟動這一關;能否建立連線,還取決於使用者已有的設定、網路、名稱解析與所選策略。本站不提供、不販售也不推薦節點或訂閱。不要只因一次連線逾時就判定安裝套件有問題。
- 確認以一般使用者身分啟動:從應用程式選單或 AppImage 啟動 Shadowrocket。若程式要求必要的系統授權,請逐項閱讀提示;不要事先以 root 身分執行整個用戶端。
- 準備已有的資料:確認服務商提供的位址、連接埠、協定與驗證資訊。匯入既有訂閱時,請將連結視為憑證妥善保管,不要貼到公開的求助內容中。
- 確認設定位置:在 Home 查看既有的連線項目,在 Config 查看要使用的設定檔,並在 Settings 核對相關設定;各平台可見的選項以目前介面實際提供的項目為準。
- 確認路由模式:若介面提供 Global Routing,請先確認目前使用的是 Config、Proxy 還是 Direct。Direct 不適合作為「代理是否正常運作」的判斷依據。
- 逐項測試:先使用相同的目標進行測試,每次只變更一個變數。記錄連線前後是否逾時、是否出現名稱解析錯誤,以及是否只有特定目標失敗;不要同時更換協定、規則與 DNS。
若要依規則進行測試,可在 Config 中使用以下最小規則片段了解順序。example.com 是教學用網域,不是服務位址;PROXY 必須對應目前設定中可用的策略。不要直接用這段內容覆蓋既有的完整設定。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
規則會由上往下比對,命中後採用該行指定的策略;FINAL 放在最後,用來處理未命中的請求。上述範例只示範讓 192.168.0.0/16 連線至區域網路,不涵蓋所有私有位址。no-resolve 表示不會為該條 IP 規則主動進行網域解析,不能用來修復所有 DNS 問題。
六、Global Routing:依用途選擇測試模式
在安裝排查階段,路由模式的用途是縮小問題範圍,並非判定哪種模式永遠較好。以下比較僅適用於 Shadowrocket 本身的設定;實際接管範圍仍受平台授權與目前網路連線方式影響,不應視為無條件接管系統所有流量。
Config
建議依目前啟用的設定規則選擇策略。先確認 Config 中生效的設定,再檢查規則順序與 FINAL;規則可指定 PROXY、DIRECT 或 REJECT,不要假定所有未命中的請求都會直連。
適用情境:日常使用已有明確規則的設定,以及驗證規則
Proxy
將用戶端接管的請求設為代理模式,暫時排除規則分流的影響。若相同目標在 Proxy 下可連線、在 Config 下卻無法連線,應優先檢查比對規則與策略,而不是重新安裝程式。
適用情境:暫時找出規則與連線之間的差異
Direct
將用戶端接管的請求設為直連模式,可觀察目前網路直接連線的結果。Direct 下連線成功不代表代理連線成功,也不能據此確認訂閱內容有效。
適用情境:建立直連基準,對照網路狀況
七、常見問題:依錯誤發生階段排查
尋求協助前,先判斷問題發生在下載、套件管理器安裝、程式啟動或連線階段。保留完整錯誤訊息、發行版名稱與處理器架構,比只說「打不開」更有幫助;分享記錄前,請移除驗證資訊、訂閱連結與個人位址。
apt 顯示找不到套件,是下載錯誤嗎?
先確認輸入內容是否包含檔案路徑。位於目前資料夾的 deb 路徑應以 ./ 開頭;本文的選擇指令碼會保留此前綴。若顯示檔案不存在,請回到瀏覽器下載記錄確認實際資料夾,並檢查檔案是否仍在下載中;不要憑記憶手動輸入檔名。
dnf 安裝到一半出現相依性衝突,該怎麼辦?
先取消交易並記下發生衝突的套件名稱,再確認系統發行版與架構。不要直接接受會大量移除套件的交易,也不要強制覆寫來繞過問題。回到下載頁確認所選 rpm 適用的環境,再決定是否改用頁面提供的其他相容格式。
AppImage 已設定權限,為什麼仍無法執行?
在終端機執行檔案,依錯誤類型排查:Permission denied 請檢查檔案權限與掛載選項;Exec format error 請確認架構;libfuse.so.2 錯誤請檢查 FUSE 相容程式庫。三種原因各不相同,反覆執行 chmod 只對第一種情況中的部分問題有幫助。
視窗已開啟,但連線失敗,需要重新安裝嗎?
先在 Home 確認選取的項目,再檢查 Global Routing 的目前模式與 Config 中生效的規則。確認自己的連線位址、連接埠與驗證資料仍有效,並使用相同目標分別觀察直連與代理結果。只有在有證據顯示啟動檔案遺失或安裝交易失敗時,才回到安裝步驟處理。
更新時直接刪除舊檔案就可以了嗎?
deb、rpm 應透過對應的套件管理器安裝從本站下載的新套件,並仔細閱讀升級交易內容;不要手動刪除系統資料夾中的程式檔案。更新 AppImage 前,請先結束正在執行的程式,再更換保存的檔案並確認執行權限。更新前請備份自己的設定,更新後重新確認啟動項目與生效設定。