本文速览

本文适合准备在 Linux 桌面安装 Shadowrocket(小火箭)的用户。先确认发行版与 CPU 架构,再从本站下载页选择 deb、rpm 或 AppImage;随后按包格式安装或赋予执行权限,最后根据终端报错处理依赖、挂载限制与首次启动问题。命令使用你实际下载的文件路径,不依赖固定版本号或文件名。

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

deb、rpm、AppImage 是不同的分发方式,不是三种代理协议。Ubuntu、Debian 及兼容的衍生发行版通常选择 deb;Fedora 等使用 dnf 的发行版通常选择 rpm。AppImage 适合希望保留独立应用文件、不通过系统包管理器安装的场景,但仍受 CPU 架构和系统运行环境限制。

cat /etc/os-release
uname -m

第一条命令查看系统的 ID、ID_LIKE 等信息,第二条查看机器架构。常见的 x86_64 与 aarch64 不能混用;下载页提供的架构必须与设备相符。某种包格式可下载,不代表它能在任意发行版、任意架构上运行。

包管理器安装

deb
适用于 Debian、Ubuntu 等兼容系统。
rpm
本文用 Fedora 的 dnf 安装方式演示。
依赖处理
apt、dnf 可从已配置的软件源解析依赖。
应用维护
安装记录由系统包管理器管理。

选择本机原生包格式,不通过改扩展名转换安装包。

AppImage 运行

文件位置
保存在当前用户可读、可执行的目录。
执行权限
使用 chmod u+x 添加用户执行权限。
启动方式
通过完整文件路径运行。
运行条件
仍须满足架构、系统库与挂载条件。

不通过包管理器安装,不等于完全不需要系统依赖。

从下载页获取对应的 Linux 文件

打开Shadowrocket 下载页,在 Linux 分区选择适合本机的格式,记住浏览器实际保存的位置。本文不写死文件名;后面的命令会要求输入真实路径,因此下载文件带有版本或架构后缀时也能使用。

  1. 确认系统

    打开终端,运行上面的两条查询命令,记录发行版与架构。不要仅凭桌面外观判断是 Ubuntu 还是 Fedora。

  2. 选择格式

    进入下载页 → Linux,按系统选择 deb、rpm 或 AppImage;同时核对下载项标明的架构。

  3. 定位文件

    在浏览器下载记录中打开文件所在目录,通过文件属性确认绝对路径。文件尚未下载完成时不要执行安装。

  4. 运行命令

    在 Bash 终端使用对应章节的命令。路径提示出现后粘贴绝对路径,不加引号、不使用缩写的波浪号路径,再按 Enter。

deb 安装:用 apt 处理本地包与依赖

在 Debian、Ubuntu 等兼容系统中,优先让 apt 安装本地 deb。与单独解包相比,这种方式可以同时尝试从系统已配置的软件源安装所需依赖。下面的输入只保留在当前终端变量中;执行前确认路径指向本站下载的 deb 文件。

read -r -p '输入 deb 文件的绝对路径:' DEB
if [ -f "$DEB" ]; then
  sudo apt install "$DEB"
else
  printf '%s\n' '文件不存在,请重新确认绝对路径。'
fi

apt 显示安装计划后,阅读将新增、升级或移除的包,再决定是否确认。输入 sudo 密码时终端通常不会显示字符,这不是键盘失效。如果提示找不到依赖,先检查软件源、网络与发行版支持情况,不要从不明来源补装同名系统库。

安装成功后,从桌面应用列表搜索 Shadowrocket 并启动。安装本地 deb 不会自动为系统增加一个应用更新软件源;后续更新应回到本站下载页获取适用文件,再交给 apt 处理。

rpm 安装:在 Fedora 上使用 dnf

Fedora 用户可以通过 dnf 安装本地 rpm,依赖同样由系统的软件源解析。其他使用 rpm 的发行版可能采用不同的包管理命令和依赖名称;不能因为扩展名相同,就假设 Fedora 的全部步骤均适用。

read -r -p '输入 rpm 文件的绝对路径:' RPM
if [ -f "$RPM" ]; then
  sudo dnf install "$RPM"
else
  printf '%s\n' '文件不存在,请重新确认绝对路径。'
fi

出现依赖冲突时,保留终端输出中的包名和错误原因,先核对发行版是否匹配。不要为了继续安装就跳过依赖检查、关闭安全策略或强行替换系统组件。安装完成后通常可从应用列表启动;如果菜单尚未刷新,可以先重新打开应用列表,再考虑注销桌面会话。

AppImage:添加执行权限后启动

AppImage 是独立应用文件。先把文件放在准备长期保留的位置,再添加执行权限。不要放在浏览器临时目录中;如果文件位于移动硬盘、共享目录或限制执行的挂载点,即使权限位正确也可能无法运行。

read -r -p '输入 AppImage 文件的绝对路径:' APPIMAGE
if [ -f "$APPIMAGE" ]; then
  chmod u+x -- "$APPIMAGE" && "$APPIMAGE"
else
  printf '%s\n' '文件不存在,请重新确认绝对路径。'
fi

chmod u+x 只为文件所有者增加执行权限,不需要把权限改成所有人可写,也不需要用 sudo 启动整个图形应用。首次测试建议保留终端窗口:双击时没有反应的情况,往往能在终端看到具体错误。

安装后先区分路由设置与连接资料

启动成功只说明应用能够运行,不代表已经具备可用连接。使用你已有且了解用途的连接资料或订阅,在 Home、Config 中核对导入结果;导入与更新的完整步骤见使用说明。更新订阅是刷新连接资料,不是更新 Linux 应用安装包。

进行连通性排查前,先核对 Home → Global Routing。下面比较的是 Shadowrocket 自身的路由姿态;它们不会替代服务器地址、端口、认证信息与协议参数,也不会改变 AppImage 的文件权限。

Config

推荐

按当前启用配置中的规则处理请求。先确认配置内容,规则通常按顺序匹配,不能把 Config 理解成所有请求都直连。

适合:已有经过核对的配置,按规则进行日常分流。

Proxy

将接管范围内的请求交给所选代理处理,可用于对照检查是否为规则选择造成差异;代理本身仍需能够连接。

适合:临时对照路由结果,区分规则问题与连接问题。

Direct

将接管范围内的请求按直连方式处理。此时看到直连结果,不足以判断已导入的代理资料是否有效。

适合:核对本地网络的直连表现。

例如 DOMAIN-SUFFIX,example.com,DIRECT 表示对指定域名后缀采用 DIRECT;FINAL,DIRECT 为前面未匹配的请求提供最终策略。这只是规则语法示例,不是要求覆盖你现有的配置。安装排障时一次只改变一个设置,避免把配置变化与系统权限问题混在一起。

首次启动被拦截:按错误原因处理

Linux 没有所有发行版通用的单一“放行”按钮。先辨认是缺少执行权限、挂载点禁止执行、架构不符,还是桌面与系统安全策略限制。不要把所有启动失败都归为安全拦截,也不要使用关闭全局保护的方式绕过错误。

双击 AppImage 没反应,怎么办?

在终端运行上一节的命令。若文件管理器提供 Properties → Permissions,可检查执行权限;不同桌面的标签文字可能不同,以实际界面为准。终端输出比反复双击更容易定位原因。

已经 chmod,为什么还提示 Permission denied?

先用 ls -l "$APPIMAGE" 检查文件权限,再用 findmnt -T "$APPIMAGE" 查看所在挂载点。若选项包含 noexec,移到当前用户可执行的本地目录后重试;受管理设备应联系管理员,不自行修改挂载策略。

提示 Exec format error,是安装损坏了吗?

先运行 file "$APPIMAGE" 与 uname -m 对照架构。架构不符时重新选择下载项;如果文件被识别为 HTML 文档,说明拿到的可能是错误页面,应回到本站下载页重新下载。

提示 FUSE 或系统安全策略错误,如何放行?

FUSE 错误按发行版文档补齐兼容支持;若日志明确显示 SELinux 或 AppArmor 拒绝访问,保存错误记录,按发行版提供的策略管理流程处理。不要关闭整套防护,也不要用 root 身份运行应用来代替定位原因。

上面的变量只在原终端中有效,换了终端应重新输入路径。需要进一步排查时,记录发行版、架构、包格式、执行的命令与完整报错;分享日志前移除订阅地址、认证信息和其他敏感内容。这样可以把“无法启动”和“启动后无法连接”分开处理。

获取 Shadowrocket 与后续配置说明

iPhone / iPad 版在 App Store 以 $2.99 一次性付费获取;Mac(Apple 芯片 / Intel)/ Windows / 安卓 / Linux 版免费。Linux 用户在下载页选择对应格式,安装完成后按教程导入自己已有的资料。