本文速览

本文说明 Shadowrocket Linux 安装前的发行版与架构检查、deb 和 rpm 的本地安装命令、AppImage 的执行权限,以及首次启动后的配置检查。适合已经拥有自己的服务商资料或订阅、需要在 Linux 桌面上安装客户端的用户。先确认系统和安装包匹配,再处理依赖;能够启动应用与能够建立连接是两个不同的检查阶段。

一、先确认发行版、架构与包格式

Shadowrocket(小火箭)的 Linux 安装包应从本站全平台下载页选择。deb、rpm、AppImage 是不同的分发形式,不代表不同的代理协议或线路套餐。不要只根据桌面外观判断发行版:GNOME、KDE 是桌面环境,不能据此决定使用 apt 还是 dnf。

先在终端执行下面两条只读命令。第一条查看系统标识,第二条查看处理器架构。分享输出用于排查时,通常只需要发行版名称、架构和错误文本,不需要提供账户信息。

cat /etc/os-release
uname -m

系统识别

NAME / ID
读取 /etc/os-release,确认实际发行版名称。
ID_LIKE
辅助判断发行版家族,不能代替该发行版自己的包管理说明。
uname -m
x86_64 与 aarch64 表示不同架构,安装包必须对应。

下载页实际提供的架构为准;换包格式不能解决架构不匹配。

包格式选择

Debian / Ubuntu
优先选 deb,用 apt 安装本地文件并处理依赖。
Fedora 系
优先选 rpm,用 dnf 安装本地文件并处理依赖。
其他发行版
查看 AppImage 适配说明,同时检查架构和运行环境。

AppImage 仍受系统库、桌面环境与运行时条件约束,并非对所有 Linux 系统通用。

如果系统运行在容器、无图形桌面的服务器或远程终端中,安装成功也不等于具备桌面应用的运行条件。先确认当前会话可以启动图形程序,再继续处理客户端。本文面向 Linux 桌面,不把桌面应用安装步骤当作服务器服务部署步骤。

二、Debian / Ubuntu:用 apt 安装本地 deb

在下载页选择与架构对应的 deb,记下下载文件的完整路径。下面命令在 Bash 中逐行执行;提示出现后输入实际的绝对路径,例如从文件管理器复制路径后粘贴,不要在输入内容外额外添加引号。代码中的变量接收真实文件路径,因此不需要猜测安装包文件名。

read -r -p "输入 deb 文件的绝对路径: " deb_path
dpkg-deb -f "$deb_path" Package Architecture
sudo apt update
sudo apt install "$deb_path"

dpkg-deb -f 读取包内元数据,不执行安装。常见的架构对应关系是系统报告 x86_64 时查看包的 amd64 标记,系统报告 aarch64 时查看 arm64 标记;最终仍需与下载页提供的包对应。若字段明显不符,应停止安装并重新选择。

不建议把 dpkg -i 后出现依赖错误理解为应用已经可以使用。dpkg 负责包的安装状态,但不会像 apt 一样主动从软件源解析并获取依赖。安装结束后应确认终端没有留下未配置软件包的错误,再从桌面应用列表启动 Shadowrocket。

三、Fedora 系:用 dnf 安装本地 rpm

rpm 同样要先看架构,而不是只看扩展名。Fedora 系通常使用 dnf 处理本地 rpm 及其依赖。其他采用 rpm 的发行版可能有自己的包管理工具与依赖命名,不应仅因为扩展名相同,就直接照搬 Fedora 的软件源配置。

read -r -p "输入 rpm 文件的绝对路径: " rpm_path
rpm -qp --queryformat '%{NAME} %{ARCH}\n' "$rpm_path"
sudo dnf install "$rpm_path"

查询命令只显示软件包名称和架构,便于核对下载结果。dnf 的事务确认界面会列出将要安装的内容与依赖来源。只有在包来自本站下载页、架构匹配且依赖方案合理时才继续;如出现包冲突,应保留错误输出,不使用跳过依赖或强制覆盖的参数掩盖问题。

  1. 出现 No such file or directory 时,先确认输入的是文件的实际路径,而不是浏览器下载记录中的显示名称。
  2. 出现依赖无法满足时,检查当前发行版的软件源和适配要求,不从其他发行版随意拷贝系统库。
  3. 安装完成后以普通用户启动图形应用;安装时使用 sudo,不表示运行应用也需要 sudo。

四、AppImage:授权执行后从终端启动

AppImage 通常不经过 apt 或 dnf 注册安装。先将文件放入当前用户可写、长期保留的位置,再添加执行权限。若文件仍在浏览器的临时目录里,清理下载文件后可能无法再次启动;移动文件后,已有的桌面快捷方式也可能需要更新路径。

read -r -p "输入 AppImage 文件的绝对路径: " app_path
chmod u+x "$app_path"
"$app_path"

chmod u+x 只为文件所有者添加执行权限。最后一行直接运行该文件,终端能够保留启动错误,适合排查双击后没有窗口的情况。不要用 sudo 启动整个桌面客户端,也不要把扩大文件权限当作通用修复方法。

AppImage 文件本身不会因为赋予执行权限就自动成为系统服务,也不能据此推断它具备自动更新或桌面菜单集成功能。需要更新时回到下载页查看获取说明,退出正在运行的实例,再按该包的说明替换文件。

五、首次启动:把安装问题与连接问题分开

窗口能打开,说明已经通过一部分本地运行检查;此时网页不能访问,应转向连接资料、路由姿态和系统网络设置排查,而不是立即换包重装。以下流程以用户已有自己的服务商与订阅为前提。订阅地址可能包含访问凭据,分享截图或日志前应遮盖完整链接。

  1. 检查启动

    从应用列表或 AppImage 文件启动 Shadowrocket,确认窗口能保持打开。若立即退出,先在终端重现并记录错误,不进入订阅排查。

  2. 导入资料

    使用 Home → + → Type → Subscribe,填写自己的订阅地址并保存。地址结构示例为 https://example.com/sub?token=xxxx,这是格式示意,不能用于连接;具体入口以当前 Linux 构建实际界面为准。

  3. 检查配置

    确认订阅更新后列表出现预期项目;再到 Config 核对当前配置及其策略引用。订阅获取失败与已有连接项目不可用是两类问题,应分别保留错误信息。

  4. 核对路由

    在 Home → Global Routing 检查当前选择。需要验证配置规则时使用 Config,并确认配置中的策略名称有效;不要在 Direct 姿态下判断代理连接是否生效。

上述 Home、Config 和 Global Routing 用于定位对应功能;不同平台构建的入口呈现可能不同,不要为了寻找某个移动端菜单反复安装 Linux 包。系统代理与应用内路由也不是同一层:只有实际进入客户端处理范围的连接,才会受其路由姿态影响,不能由客户端开关推断所有设备流量都已接管。

六、安装后怎样选择 Global Routing

包格式不改变规则的匹配原则。完成安装后,可以用 Global Routing 区分“连接本身有问题”还是“配置规则没有命中”。下面仅比较 Shadowrocket 自身的路由姿态;测试前应确保已经导入自己的有效连接资料。

Config

推荐

按当前配置的规则与策略处理连接。规则不等于一律代理,实际结果取决于命中的规则、策略目标及配置中的兜底处理。

适合:已有经过核对的配置,需要按规则使用的日常场景。

Proxy

将进入客户端处理范围的连接交给所选代理策略,可用于减少规则匹配对排查的干扰;不代表操作系统中的所有流量必然被接管。

适合:短时验证所选连接与配置规则之间的差异。

Direct

对进入客户端处理范围的连接采用直连处理。它不负责修复 DNS、系统防火墙或物理网络,也不能用于证明代理连接可用。

适合:对照检查本地网络可达性,排除代理路径的影响。

如果 Proxy 下可以访问、Config 下失败,应在 Config 中检查规则顺序和策略引用,而不是重装 deb 或 rpm。DOMAIN-SUFFIX 按域名后缀匹配,IP-CIDR 按地址网段匹配,GEOIP 按地址归属数据匹配,FINAL 用于兜底;这些规则的效果仍依赖实际配置和连接信息。

七、安装与更新常见问题

deb 下载好了,为什么 apt 还说找不到包?

先检查传给 apt 的是否为本地文件路径。用完整绝对路径,或进入文件所在目录后使用以 ./ 开头的相对路径。只输入文件名可能被当成软件源中的包名;同时确认浏览器已完成下载。

AppImage 双击没反应,需要重新下载吗?

先在终端执行本文的授权与启动命令,区分执行权限、架构和运行时错误。若报错指向 FUSE 或 GLIBC,应处理对应环境条件;重复下载同一文件通常不会改变系统依赖。

升级时可以从 deb 换成 AppImage 吗?

先通过应用提供的导出功能备份配置,再退出旧实例。不同包形式的配置位置、启动入口和桌面集成未必相同,不要假设会自动迁移。确认新实例可用后,再决定是否卸载旧包,避免误启两个实例。

已经安装成功,订阅却一直更新失败?

核对完整订阅地址、网络可达性及服务商返回的错误,不在终端或公开日志中泄露 token。若能启动窗口、读取本地配置,首先排查订阅获取路径,而不是把网络超时归因于包格式。

提交安装问题时,建议整理发行版名称、uname -m 输出、所选包格式、执行过的命令和完整错误文本。不要凭空猜测应用安装目录或可执行文件名称,也不要把含密码、PrivateKey 或订阅 token 的配置直接附在问题说明中。