Debian、Ubuntu 系統優先使用 deb;Fedora 等使用 dnf 的系統優先使用 rpm。需要以單一檔案保存程式時,再考慮 AppImage。本文將先確認 Linux 發行版與 CPU 架構,再進行本機套件安裝、設定執行權限及檢查首次連線,適合準備在 Linux 桌面使用 Shadowrocket(小火箭),且已有自己的伺服器或訂閱設定的使用者。
一、先確認 Linux 發行版與架構,再選擇安裝格式
安裝格式與 CPU 架構是兩個獨立條件。deb、rpm 代表套件格式,無法據此判斷檔案是否適用於目前的處理器;AppImage 也不是跨架構通用檔案。請先執行下列兩個指令,記下發行版的 ID、ID_LIKE 與架構輸出,再到下載頁確認可用套件。
cat /etc/os-release
uname -m
uname -m 輸出 x86_64 通常對應 x64 或 amd64,輸出 aarch64 通常對應 ARM64。若下載頁未列出相符架構,請勿只憑副檔名嘗試執行,也不要將其他架構的檔案重新命名後安裝。可參考下表選擇格式。
| 目前系統 | 建議格式 | 處理方式 |
|---|---|---|
| Debian、Ubuntu 及相容系統 | deb | 使用 apt 安裝本機檔案,並處理軟體來源中可取得的相依套件 |
| Fedora、使用 dnf 的相容系統 | rpm | 使用 dnf 安裝本機檔案並檢查相依套件 |
| 其他 Linux 桌面環境 | AppImage | 先確認架構與執行需求,再設定執行權限 |
使用 rpm 不代表所有相關系統都採用 dnf;若發行版使用其他套件管理工具,請依該發行版的本機套件安裝方式操作。AppImage 雖方便保存及移動,仍受系統程式庫、掛載能力與桌面環境影響,無法保證能在所有 Linux 系統上直接執行。
二、整理本機檔案並完成安裝前檢查
開啟下載指南的 Linux 區段,選擇符合系統與架構的檔案。下載完成後,在檔案管理員中前往檔案所在資料夾,使用「在終端機中開啟」等系統功能進入該資料夾。下載資料夾不一定叫做 Downloads;桌面語言與瀏覽器設定不同,使用的路徑也可能不同。
-
確認系統資訊
執行
cat /etc/os-release與uname -m,確認發行版系列及 CPU 架構。 -
選擇格式
前往本站下載指南的 Linux 區段,依系統選擇 deb、rpm 或 AppImage,並儲存至目前使用者可存取的資料夾。
-
整理檔案
為方便依照後續步驟輸入指令,可將已下載的本機檔案重新命名為
Shadowrocket.deb、Shadowrocket.rpm或Shadowrocket.AppImage;只需處理實際下載的檔案格式。 -
檢查資料夾
在檔案所在資料夾開啟終端機,執行
pwd和ls -lh,確認目前路徑及檔案是否下載完整,再執行相應格式的指令。
後續使用的簡短檔名只是本機重新命名的慣例,並非下載伺服器上的檔名,也不代表需要另外尋找的版本。若保留原檔名,請將指令中的檔名替換成實際名稱;路徑含空格時,請用引號括住整個路徑。不要使用範圍過大的萬用字元,一次安裝資料夾內多個舊版套件。
套件管理工具安裝
- 本機 deb 套件
./Shadowrocket.deb- 本機 rpm 套件
./Shadowrocket.rpm- 安裝權限
- 使用 sudo 呼叫套件管理工具
- 日常啟動
- 使用目前的桌面使用者帳戶
安裝需要管理員權限,不代表圖形介面程式應以 root 身分執行。
執行 AppImage
- 本機檔案
./Shadowrocket.AppImage- 執行權限
chmod u+x- 儲存位置
- 由目前使用者擁有的本機資料夾
- 啟動方式
- 透過終端機執行或以檔案管理員開啟
檔案具備執行權限後,仍須符合所在檔案系統的執行與掛載條件。
三、安裝 deb:使用 apt 安裝本機套件
在 Debian、Ubuntu 系統中,建議使用 apt 安裝本機 deb 套件。指令中的 ./ 表示目前資料夾中的檔案;省略後,apt 可能會將輸入內容當成套件名稱搜尋,而不是讀取已下載的安裝檔。
sudo apt update
sudo apt install ./Shadowrocket.deb
第一個指令會更新目前已設定軟體來源的索引,第二個指令則讀取本機套件並嘗試滿足相依需求。執行前請查看 apt 顯示的操作摘要:若出現大量移除桌面元件、相依套件無法滿足或架構不符,請取消安裝,先確認發行版、軟體來源與檔案架構。不要強制略過相依性檢查。
- 顯示找不到檔案:執行
ls -lh ./Shadowrocket.deb,確認指令所在資料夾及大小寫是否正確。 - 顯示無法取得相依套件:先確認系統軟體來源能正常更新。這類問題出在套件管理工具或系統相依套件層,與 Shadowrocket 的連線設定無關。
- 顯示套件管理工具正在使用中:請等系統更新程式執行完畢,不要直接刪除鎖定檔,也不要同時執行多個安裝程序。
- 安裝完成:在桌面應用程式清單中搜尋 Shadowrocket,並以一般使用者身分啟動。程式捷徑是否立即顯示,取決於桌面選單的更新狀況。
之後手動更新 deb 時,也可以對新下載的本機套件執行 sudo apt install ./Shadowrocket.deb。安裝本機套件不代表會自動新增更新來源;除非下載說明明確提供相應機制,否則請勿認定系統更新程式會自動取得後續版本。
四、安裝 rpm:使用 dnf 檢查相依套件
Fedora 等使用 dnf 的系統可直接安裝本機 rpm。進入檔案所在資料夾後執行下列指令,查看 dnf 顯示的交易摘要,再確認安裝。不要將 deb 檔案的副檔名改成 rpm,這不會改變檔案內部的套件格式。
sudo dnf install ./Shadowrocket.rpm
dnf 會讀取套件資訊,並嘗試從目前已啟用的軟體來源解決相依需求。若安裝失敗,請保留完整錯誤訊息,先判斷是檔案不存在、架構不符、缺少相依套件,還是遭系統政策拒絕;這些情況的處理方式各不相同,重複點選桌面啟動圖示無法解決問題。
- 若看到
No such file or directory,請檢查檔名與目前資料夾,不要立刻變更系統設定。 - 若出現相依套件衝突或無法提供所需功能,請確認該套件是否支援目前系統,以及軟體來源是否正常。
- 若出現來源或簽章相關提示,請確認檔案確實來自本站下載頁,並遵循發行版的套件驗證要求;不要預設關閉驗證。
- 交易成功後,請從桌面應用程式清單開啟 Shadowrocket;若沒有視窗,改從終端機啟動實際安裝的程式,並保留錯誤訊息。
五、設定 AppImage 執行權限與首次啟動
執行 AppImage 時,通常不必先安裝,而是先為檔案新增執行權限。建議將檔案存放在目前使用者擁有的本機資料夾,避免直接從受限制的共用磁碟、暫存下載資料夾或外接裝置執行。確認檔名後,執行:
chmod u+x ./Shadowrocket.AppImage
ls -l ./Shadowrocket.AppImage
./Shadowrocket.AppImage
chmod u+x 只會為檔案擁有者新增執行權限,不需要使用 chmod 777。在 ls -l 的結果中,若擁有者權限欄位出現 x,即表示已設定該權限。從終端機啟動有助於查看錯誤,尤其適合排查雙擊後沒有反應的情況。
已新增權限,為什麼仍顯示 Permission denied?
先執行 ls -l ./Shadowrocket.AppImage 檢查擁有者與權限,再執行 findmnt -T ./Shadowrocket.AppImage 查看所在檔案系統。若掛載選項包含 noexec,請將檔案移至允許執行的使用者本機資料夾後重試,不要直接修改系統掛載設定。
顯示缺少 libfuse.so.2,應安裝哪個套件?
這表示執行環境可能缺少 FUSE 2 相容程式庫。Debian 或較舊版本的 Ubuntu 可先使用 apt-cache policy libfuse2 查詢;採用新套件名稱的 Ubuntu 可查詢 apt-cache policy libfuse2t64。只安裝發行版實際提供且適用的程式庫,不要為此移除 FUSE 3。
出現 Exec format error,是執行權限設定錯了嗎?
先使用 uname -m 查看系統架構,再用 file ./Shadowrocket.AppImage 查看檔案類型。若架構不符,請返回下載指南選擇相應檔案;重複執行 chmod 無法修正架構不相容。
終端機可以啟動,為什麼應用程式選單裡找不到?
AppImage 檔案能執行,不代表系統已建立桌面選單捷徑。請先保持檔案路徑固定,並確認能從終端機正常啟動;若需要選單捷徑,請依目前桌面環境的應用程式啟動器設定,加入該檔案的絕對路徑,不要指向之後會清除的暫存資料夾。
若錯誤明確與 FUSE 掛載有關,即使已安裝相容程式庫,也可能受容器環境或裝置權限限制。此時建議改用適合該發行版的 deb 或 rpm,不要直接授予整個圖形介面程式管理員權限。匯入網路設定前,請先以穩定啟動程式為獨立目標完成檢查。
六、首次連線:先驗證設定,再檢查流量處理方式
程式能開啟與代理連線可用是兩回事。本文以使用者已有自己的服務商與訂閱為前提:在 Home 新增既有伺服器,或在 Add Server 中依設定類型選擇 Subscribe,匯入既有訂閱;匯入後確認伺服器出現在清單中,並點選要使用的項目。不要將「匯入完成」視為「已建立連線」。
- 確認設定:檢查伺服器位址、連接埠、通訊協定與驗證欄位是否符合原始設定。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 的欄位各不相同,不能只修改 Type 就完成通訊協定轉換。
- 選取伺服器:在 Home 確認已選取目標項目,再開啟連線開關;若系統要求網路相關授權,請先閱讀授權範圍,再決定是否允許。
- 執行測試:使用 Connectivity Test 查看結果,再用瀏覽器瀏覽平常可存取的網頁,區分用戶端連線測試與實際應用程式流量。
- 分開檢查訂閱:訂閱更新失敗時,先確認原始連結有效且網路可連線;不要透過修改伺服器驗證欄位,來修復訂閱網址逾時。
Global Routing 決定已接管流量的處理方式。排查時每次只變更一個條件,避免同時切換伺服器、修改 DNS 又更換規則。以下比較的是 Shadowrocket 本身的流量處理方式,不代表啟用某個選項後,就一定能接管 Linux 上所有程序的所有流量。
Config
建議依目前啟用的設定檔比對規則,實際流量可能使用 PROXY、DIRECT 或 REJECT。日常使用前,請先確認 Config 中啟用的檔案符合自己的網路需求。
適用情境:已有明確分流規則的日常連線。
Proxy
將已接管的流量以代理方式處理,適合與 Config 的結果進行短時間比對。這無法取代對系統代理、應用程式本身的代理設定或流量接管範圍的檢查。
適用情境:暫時判斷問題是否與規則選擇有關。
Direct
將已接管的流量以直連方式處理。若維持在 Direct,即使連線開關已開啟,也不能據此認定目標要求正透過選取的代理伺服器傳送。
適用情境:比對本機網路的直連狀況。
若 Connectivity Test 成功,但某個應用程式仍無法存取,請繼續檢查該應用程式是否讀取系統代理、是否有獨立的代理設定,以及目標網域符合哪一條規則。DOMAIN-SUFFIX 比對網域後綴,IP-CIDR 比對 IP 位址範圍,GEOIP 依 IP 地理資料庫判斷,FINAL 處理前面未符合規則的流量;規則結果不同不代表 Linux 安裝失敗。