本文适合准备在 Linux 桌面安装 Shadowrocket(小火箭)、且已有自己的服务商与订阅的用户。先确认发行版与处理器架构,再从本站下载页选择 deb、rpm 或 AppImage;随后完成安装、首次启动、订阅导入与路由检查。文中的终端命令读取实际下载文件的路径,不依赖固定包名。
先确认发行版、架构与获取方式
安装包格式解决的是软件怎样交给系统管理,不决定节点协议或线路速度。Debian、Ubuntu 及其兼容发行版通常选 deb;Fedora 通常选 rpm;没有匹配的原生包时,再检查 AppImage 是否适合当前环境。不能仅凭文件扩展名判断兼容性:同为 rpm 的发行版也可能具有不同依赖。
先在终端运行以下命令。第一条查看发行版的 ID、ID_LIKE 等信息,第二条查看机器架构。下载页提供的架构必须与本机相符;常见的 x86_64 与 aarch64 不能直接互换,若下载页未列出匹配架构,不要把其他架构的包强行安装。
cat /etc/os-release
uname -m
- Debian / Ubuntu:优先选择下载页中适配本机的 deb,交给 apt 安装并处理依赖。
- Fedora:优先选择适配本机的 rpm,交给 dnf 安装;其他 RPM 系发行版须按本机包管理器与兼容要求处理。
- 其他桌面发行版:检查 AppImage 的架构与运行条件;AppImage 不是对所有 Linux 环境都无条件兼容。
deb:用 apt 安装本地文件
从下载页保存 deb 后,打开 Bash 终端,执行下面两行命令。出现提示时,粘贴已下载文件的完整绝对路径,再按 Enter;输入内容本身不要加引号。命令中的双引号会保留路径里的空格,避免文件名被拆成多个参数。
read -r -p '粘贴 deb 文件的完整绝对路径:' pkg
sudo apt install "$pkg"
这里应使用实际文件路径,例如文件管理器中显示的位置,而不是只输入文件名。apt 可以安装本地 deb,并尝试从已配置的软件源解析依赖。若只使用 dpkg -i,遇到缺失依赖时可能留下尚未配置完成的包;首次安装直接使用 apt 更便于看到完整处理结果。
- 先阅读 apt 列出的待安装、升级或移除项目,确认没有异常的大范围移除,再确认执行。
- 安装结束后,在桌面应用菜单搜索 Shadowrocket,并以普通用户身份打开。
- 如果提示依赖无法满足,记录完整错误与发行版信息,不要通过强制忽略依赖来绕过。
终端中的下载进度不等于安装成功。以 apt 最终退出结果为准;若最后仍有错误,应先解决软件源、网络或依赖问题,再尝试启动。
rpm:在 Fedora 中使用 dnf
Fedora 用户下载适配架构的 rpm 后,可在 Bash 中使用同样的路径输入方式。dnf 负责把本地包与系统软件源中的依赖一起纳入事务;不建议为了省略依赖检查而改用强制安装参数。
read -r -p '粘贴 rpm 文件的完整绝对路径:' pkg
sudo dnf install "$pkg"
本地 rpm 并不意味着整个过程完全离线:缺少的依赖仍可能需要访问已启用的软件源。出现下载超时,应先确认系统软件源可用;出现架构不匹配,应重新选择文件,而不是反复执行安装命令。
- 文件不存在:核对路径是否完整,输入时不要把终端提示符或额外引号一起粘贴。
- 依赖不可满足:确认包面向的发行环境,不要随意安装来自其他发行版的基础库。
- 策略阻止运行:保留具体错误或安全事件记录,按发行版的安全策略排查,不要把关闭整套安全机制作为常规步骤。
AppImage:加执行权限后运行
AppImage 通常不通过 apt 或 dnf 注册为已安装软件。把文件放到自己可管理的固定目录,再赋予当前用户执行权限;移动文件后,桌面快捷方式如果仍指向旧路径,也需要相应调整。下面的命令不会更改整个目录的权限。
read -r -p '粘贴 AppImage 文件的完整绝对路径:' app
chmod u+x "$app"
"$app"
最后一行在当前终端运行文件,启动失败时可以直接看到错误输出。不要用 sudo 启动整个图形应用来测试权限;文件可执行权限、文件系统挂载选项和连接所需的系统授权是不同问题。
原生包安装
- deb 入口
- sudo apt install 本地绝对路径
- rpm 入口
- sudo dnf install 本地绝对路径
- 依赖管理
- 由包管理器结合软件源处理
- 卸载方式
- 按实际包名执行 remove
原生包由系统记录安装状态;下载本地包并不等于已配置自动更新源。
AppImage 运行
- 执行权限
- chmod u+x
- 启动身份
- 当前普通用户
- 文件位置
- 固定目录中的实际路径
- 常见限制
- 架构、FUSE 与 noexec 挂载
AppImage 的运行条件取决于具体构建与系统环境,不会自动消除所有兼容性限制。
如果终端提示 FUSE 相关错误,按当前发行版文档安装适配的运行支持,或改用匹配的原生包。如果文件位于以 noexec 挂载的介质上,即便已经执行 chmod,也可能无法启动;可将文件移到允许执行的用户目录后重试。
首次启动:导入已有订阅并检查路由
能看到应用窗口,只能说明图形程序已启动,不能证明订阅可用或系统流量已经接入。安装阶段先处理文件与依赖;进入应用后,再分别检查订阅、所选节点、Global Routing 与系统授权。以下使用 Home、Config、Settings 等界面词定位功能,平台布局如有差异,以当前界面实际提供的项目为准。
-
打开应用
从应用菜单或 AppImage 文件启动 Shadowrocket。先确认窗口正常显示;系统如请求网络相关授权,核对应用名称与授权内容后处理。
-
添加订阅
进入 Home → + → Type → Subscribe,粘贴自己已有的订阅链接并保存。链接包含访问凭据,不要把完整链接贴进截图或问题反馈。
-
更新列表
在 Home 对该订阅执行更新,检查是否出现节点。示例
https://example.com/sub?token=xxxx只是格式说明,不是可用订阅。 -
选择策略
选择一个已有节点;使用规则分流前,先在 Config 确认当前配置,再将 Global Routing 设为 Config。测试时记录所选节点与路由姿态。
-
验证连接
开启连接后访问目标页面,并查看可用的连接记录。检查请求是否进入客户端以及命中的策略,不能只凭开关处于开启状态判断成功。
订阅中的地址、端口、密码与 TLS 参数应以自己的服务商提供为准,不要为测试随意改成 443。Settings → On Demand 属于按条件连接的设置,不是安装依赖修复入口;仅在当前平台提供该功能时按需要配置,首次排查先使用手动连接,避免自动连接条件干扰结果。
安装后选哪种 Global Routing 姿态
安装包格式不会替用户选择分流策略。日常使用应先确认配置内容,再决定路由姿态。下面比较的是 Shadowrocket 自身的设置;这些姿态作用于已被客户端接管的请求,不能据此推断 Linux 上所有进程的流量都已进入代理。
Config
推荐按当前配置中的规则与策略处理请求。先在 Config 核对启用的文件;规则中的 PROXY 与 DIRECT 必须符合实际使用目标。
适合:已检查配置、需要日常按规则分流
Proxy
让被接管的请求采用代理策略,可临时用于区分节点连接问题和规则匹配问题;不会替代系统流量接管配置。
适合:短时验证已有节点的连接能力
Direct
让被接管的请求直接连接目标。此时网页能打开,不代表代理节点已经工作,也不能作为订阅有效的判断依据。
适合:对照直连结果、排查本地网络
例如,只让示例域名走代理、其余请求直连,可以在配置的 Rule 部分使用下面的片段。它只是规则语法示例,不包含节点;应用前应备份当前配置,并确认 PROXY 所引用的代理策略可用。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
DOMAIN-SUFFIX 匹配指定域名及其子域名,规则自上而下检查;FINAL 处理前面未命中的请求。因此,FINAL 应放在规则末尾。若 Config 下结果与 Proxy 不同,应查看命中规则,而不是重新安装软件。需要继续核对姿态与字段时,可查看代理模式和配置字段。
常见问题:打不开、更新与卸载
AppImage 双击没反应怎么办?
先从终端运行文件,读取错误。出现 Permission denied 时检查执行权限与所在文件系统的 noexec 限制;出现 FUSE 错误时处理相应运行支持;出现 Exec format error 时核对架构。不要把所有启动错误都归因于订阅。
装了 deb 或 rpm,会自动更新吗?
安装本地文件本身不保证建立自动更新源。需要更新时回到本站下载页,下载匹配格式与架构的新包,再执行 apt install 或 dnf install;先阅读包管理器给出的事务计划。AppImage 更新前退出应用,再替换文件并重新确认执行权限。
怎么知道卸载时该填什么包名?
不要把窗口标题当作包名。deb 可用 dpkg-deb -f "$pkg" Package 查询原文件中的 Package 字段;rpm 可用 rpm -qp --queryformat '%{NAME}\n' "$pkg" 查询。这里的 pkg 必须仍指向相应的原安装文件,再将查询所得名称交给包管理器卸载。
节点列表为空,需要重装吗?
先检查订阅链接是否完整、是否已过期,以及更新是否返回有效节点。保留错误提示,向自己的服务商核对链接状态。重装程序通常不能修复服务端返回空内容的问题,也不应为了测试删除尚未备份的配置。
卸载原生包通常通过 apt remove 或 dnf remove 完成,但包名应先查询确认;AppImage 则在退出进程后删除对应文件和自行创建的快捷方式。以上操作不保证删除用户目录中的配置。更换安装格式前,应先保存必要配置,并避免同时启动两个实例,以免混淆当前连接和设置来源。
获取 Shadowrocket 与首次配置步骤
iPhone / iPad 版在 App Store $2.99 一次性付费,Mac(Apple 芯片 / Intel)/ Windows / 安卓 / Linux 版免费。Linux 用户按发行版与架构选择安装包;安装完成后,使用自己已有的订阅继续配置。