本文适合准备在 Linux 桌面安装 Shadowrocket 的用户:先确认发行版与处理器架构,再从本站下载页选择 deb、rpm 或 AppImage,最后完成安装、启动和首次连接检查。命令使用明确说明的本地重命名文件,不代表下载包的原始名称;安装成功与网络连接成功分开验证,避免把依赖错误、执行权限和配置问题混在一起。
一、先确认发行版与架构
Shadowrocket(小火箭)的 Linux 包应按当前系统选择,而不是按桌面外观选择。GNOME、KDE 等桌面环境不能决定使用 deb 还是 rpm;Ubuntu 与 Fedora 即使使用相似桌面,包管理方式也不同。在终端执行下面两条只读命令,分别查看发行版标识与机器架构。
cat /etc/os-release
uname -m
在第一条输出中重点看 ID、ID_LIKE,同时参考发行版自身的包管理说明。第二条常见输出为 x86_64 或 aarch64。前者通常对应下载说明中的 x64,后者通常对应 ARM64;包格式与架构是两个条件,扩展名相同不代表处理器兼容。下载页没有对应架构时,不要拿另一个架构的包强行安装。
| 系统环境 | 选择格式 | 处理方式 |
|---|---|---|
| Debian、Ubuntu 及使用 apt 的衍生系统 | deb | 用 apt 安装本地文件,并解析依赖 |
| Fedora 及使用 dnf 的 RPM 系统 | rpm | 用 dnf 安装本地文件,并检查事务 |
| 下载页提供兼容构建的 Linux 桌面 | AppImage | 添加执行权限后运行,仍需满足系统运行条件 |
二、获取安装包并准备本地文件
进入客户端下载页的 Linux 分区获取安装包,核对格式和架构后再保存。本文不使用第三方下载地址,也不通过终端拉取远程安装脚本。浏览器下载尚未完成、文件大小为零或仍带临时扩展名时,应先等待下载结束。
- 在用户主目录下创建
shadowrocket-install文件夹。 - 只把本次选中的一个安装包放入该目录,避免混入其他软件或旧包。
- 为便于复制下文命令,将 deb 文件重命名为
shadowrocket-local.deb,或将 rpm 文件重命名为shadowrocket-local.rpm。AppImage 的保存方式见第五节。 - 只修改文件名,不要通过修改扩展名转换格式。重命名也不会改变文件内部的架构与依赖要求。
mkdir -p "$HOME/shadowrocket-install"
cd "$HOME/shadowrocket-install"
ls -lh
上面的文件名是用户在本机设置的操作名称,不是对本站安装包原始文件名的约定。若保留下载时的原名,请在后续命令中替换整个文件路径;路径包含空格时用英文双引号包围。不要同时执行 deb 和 rpm 两套步骤。
三、deb:用 apt 安装本地文件
在 Debian、Ubuntu 等使用 apt 的系统中,先进入刚才的目录,再安装本地 deb。命令中的 ./ 很重要:它表明参数是当前目录中的文件,而不是软件源中的包名。安装过程需要管理员授权,依赖包通常从系统已配置的软件源获取,因此有待下载的依赖时需要可用网络。
cd "$HOME/shadowrocket-install"
sudo apt install ./shadowrocket-local.deb
- 阅读 apt 列出的新增、升级和删除项目。若出现与本次操作明显无关的大量删除,先取消,不要直接确认。
- 确认事务后等待执行结束。终端恢复提示符且没有安装错误,再从桌面应用列表查找 Shadowrocket。
- 若提示找不到文件,执行
pwd和ls -lh,先检查目录与文件名,不要立即更换安装命令。 - 若提示架构不匹配,回到下载页核对架构;若提示依赖无法满足,检查系统支持范围、软件源配置和依赖名称。
sudo apt update 只刷新软件源索引,不等于升级整套系统,也不直接安装 Shadowrocket。当错误明确涉及过期索引时,可先执行该命令,再重试本地安装。若系统版本无法提供所需依赖,重复刷新索引不能解决运行环境不兼容的问题。
四、rpm:用 dnf 检查并执行安装事务
在 Fedora 等使用 dnf 的系统中,本地安装的形式与 apt 类似,但参数必须是 rpm 文件。dnf 会根据包元数据检查架构与依赖,并显示即将执行的事务。安装前关闭已经运行的 Shadowrocket,避免更新程序文件时旧进程仍在使用旧文件。
cd "$HOME/shadowrocket-install"
sudo dnf install ./shadowrocket-local.rpm
- 提示文件不存在:检查当前目录和文件扩展名,确认没有把 deb 重命名成 rpm。
- 提示依赖提供者缺失:记录缺失项,检查发行版兼容性和软件源状态,不要随意下载同名系统库覆盖现有文件。
- 提示软件包冲突:先确认是否装过另一种打包形式或旧包,使用系统包管理器查看已安装项,不要手工删除系统目录里的应用文件。
- 事务被取消:重新阅读取消前的提示,确认是用户拒绝、权限问题还是依赖检查失败,再决定下一步。
安装完成后,从桌面应用列表打开程序。如果没有立即出现入口,先刷新应用列表或重新登录桌面会话;不要把“未看到图标”直接判断成安装失败。若终端明确报告事务失败,则先解决安装错误,而不是反复点击桌面入口。
五、AppImage:添加权限并从终端启动
AppImage 通常作为单个文件保存和运行,不会像 deb、rpm 那样登记同样的系统安装事务。它并不保证适用于任意 Linux 环境:处理器架构、基础运行库、图形会话以及某些构建使用的 FUSE 机制,仍可能影响启动。先核对下载页说明,再选择这个格式。
在主目录创建 Applications 文件夹,将下载完成的 AppImage 移入其中,并在文件管理器中重命名为 Shadowrocket.AppImage。然后执行下列命令;chmod u+x 只为文件所有者增加执行权限,不需要把程序设为任何人都可写。
mkdir -p "$HOME/Applications"
cd "$HOME/Applications"
chmod u+x ./Shadowrocket.AppImage
./Shadowrocket.AppImage
两种启动环境的处理方法
文件管理器双击
- 先在文件属性中确认允许执行。
- 若双击只显示文件内容或没有反馈,改到终端启动。
- 不要在首次运行后移动文件,否则自建快捷方式可能失效。
终端直接运行
- 进入文件所在目录,使用
./启动。 - 保留 FUSE、共享库或显示服务相关错误。
- 退出测试后再创建桌面入口,先确认程序能稳定打开。
先在终端验证文件可执行,再处理桌面入口;不要用 sudo 启动整个图形程序来代替正常的权限排查。
若出现 Permission denied,除了执行位,还要检查文件所在分区是否以 noexec 挂载。若出现 FUSE 相关错误,应按当前发行版文档确认需要的运行组件,不能假设所有发行版的组件名称相同。AppImage 没有自动出现在应用菜单中,也不代表文件已经损坏。
六、首次打开:分开检查安装与连接
能够打开主窗口,只能说明程序启动阶段已经通过;接下来还要配置用户已有的服务器或订阅。本站不提供、不销售、不推荐节点或订阅。首次验证时,先保持现有网络可用,在 Home 检查导入内容,确认地址、端口和认证字段没有遗漏,再建立连接。不要为了让测试通过随意填写一个端口号。
- 在 Home 导入用户自己已有的配置。订阅属于一组可更新的配置来源,不是安装包的一部分。
- 检查当前选中项是否就是准备使用的服务器,避免误选过期条目。
- 检查 Global Routing 当前模式,再进行一次明确的访问测试。切换模式前记住原设置,测试后恢复。
- 若窗口正常但连接失败,分别查看认证、连接超时、域名解析和规则命中信息;此时先排查配置,不要立即卸载重装。
Config
推荐按当前配置规则决定所接管流量的处理方式。规则可能指向代理、DIRECT 或 REJECT,未被前面规则匹配的流量由 FINAL 等后续规则处理,并非默认都直连。
适合:已有核对过的配置,准备验证日常规则分流
Proxy
将所接管流量按全局代理方式处理,可用于与 Config 的结果作临时对照。它不能修复服务器认证失败,也不意味着未被接管的所有系统流量都会自动进入代理。
适合:服务器连接已确认可用,需要判断规则是否影响访问
Direct
对所接管流量采用直接连接,用来核对基础网络状态。目标在当前网络本就不可达时,切换到 Direct 不会改变这一前提。
适合:对照基础网络访问与代理连接结果
结论:先保留可复现现象,再决定是否重装
主窗口能打开而仅 Config 下访问异常时,先核对 Config 中命中的规则;AppImage 连窗口都无法打开时,先看终端启动错误。将这两类问题分开,可以避免用重装掩盖真正的配置或运行环境问题。
七、更新、卸载与常见错误
更新前,先通过应用提供的导出功能备份自己的配置,并妥善保存订阅凭据。deb、rpm 的包管理器登记与 AppImage 文件替换属于不同维护方式;从本站取得新包,不等于系统会自动替你切换正在运行的进程。更新后应退出旧进程,重新打开并核对配置是否保留。
- deb 更新:下载对应架构的新包后,仍使用本地
apt install方式,让包管理器根据包信息判断升级关系。 - rpm 更新:使用本地
dnf install时检查事务是否确实识别为预期更新,不要忽略降级或冲突提示。 - AppImage 更新:退出应用,再替换原文件并重新检查执行权限。新下载文件不一定继承旧文件的执行位。
- 卸载:deb、rpm 通过系统软件管理器确认准确的包名后移除;AppImage 退出后删除文件及自建快捷方式。个人配置是否保留需单独确认,移除程序不等于清除所有用户数据。
apt 提示找不到包,是下载错了吗?
先看命令是否保留了 ./shadowrocket-local.deb 中的 ./。执行 pwd、ls -lh 确认文件确实位于当前目录。文件名不同就改用实际路径,不要把本文的本地重命名当成下载包原名。
出现 Exec format error,添加权限也没用?
先执行 uname -m,再核对下载包架构;这类错误常见于二进制与机器架构不匹配,也可能涉及文件内容异常。执行权限不能把 ARM64 程序变成 x64 程序,应重新取得匹配的构建。
AppImage 双击没反应,要不要一直点?
不要重复启动。进入保存目录执行 ./Shadowrocket.AppImage,记录第一处错误。若提示缺少共享库或 FUSE,按本机发行版处理运行依赖;若提示权限错误,再检查执行位和挂载选项。
安装完成后网页仍打不开,需要换包格式吗?
先确认 Shadowrocket 能正常打开,再检查 Home 当前服务器、Global Routing 与 Config 中的规则。还应区分应用自身流量与系统实际接管范围;单纯从 deb 换成 AppImage,并不会修正订阅字段、认证信息或规则内容。
获取 Shadowrocket 与后续教程
iPhone / iPad 版 App Store $2.99 一次性付费,Mac / Windows / 安卓 / Linux 版免费。Mac 提供 Apple 芯片与 Intel 版本;iPhone / iPad 系统要求以 App Store 页面标注为准。进入下载页按设备获取,再按教程核对导入与连接步骤。