从你的发行版安装
添加官方仓库后,即可通过常规更新命令进行升级,应用内的更新检查也会生效。依赖包(nftables、CJK 字体等)会自动安装。
Ubuntu / Debian / Mint / Pop!_OS / Raspberry Pi OS (APT)
curl -fsSL https://lafine.net/apt/roamswitch-archive-keyring.asc \ | sudo gpg --dearmor -o /usr/share/keyrings/roamswitch-archive-keyring.gpg echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/roamswitch-archive-keyring.gpg] https://lafine.net/apt stable main" \ | sudo tee /etc/apt/sources.list.d/roamswitch.list sudo apt update && sudo apt install roamswitch
Fedora / RHEL / CentOS Stream (DNF)
sudo rpm --import https://lafine.net/rpm/RPM-GPG-KEY-roamswitch sudo curl -fsSL -o /etc/yum.repos.d/roamswitch.repo https://lafine.net/rpm/fedora/roamswitch.repo sudo dnf install roamswitch
openSUSE (zypper)
sudo rpm --import https://lafine.net/rpm/RPM-GPG-KEY-roamswitch sudo zypper addrepo https://lafine.net/rpm/opensuse/roamswitch.repo sudo zypper refresh && sudo zypper install roamswitch
Arch / Manjaro / EndeavourOS (AUR)
Not published on the AUR. Build from the bundled PKGBUILD (the release tarball is verified against the signing key).
gpg --recv-keys 9C12964366B8547511AAEAF5773A9A39ECBD1537 curl -fsSLO https://lafine.net/linux/dl/PKGBUILD curl -fsSLO https://lafine.net/linux/dl/roamswitch.install makepkg -si
不使用套件庫時,可從 lafine.net/linux/dl 直接下載帶簽章的 tarball(.tar.gz + .tar.gz.asc,amd64 / aarch64)(此時應用程式內的更新檢查將無法使用)。
安装后 roamswitch.service 会自动启动,登录时托盘图标常驻。首次启动会显示引导向导(GTK)。CLI(roamswitch status)会根据系统语言环境以日语或英语输出诊断结果。
以 Linux 原生方式运行的自主防御
🛡️ nftables 配置自主切换仅限客户端版
在受信任网络(家庭)允许顺畅的本地通信,在公司监控可疑端口,在公共 Wi-Fi 上隐身丢弃所有入站。以网关 MAC 判定,切换为毫秒级。
🚨 勒索软件自主隔离仅限客户端版
通过 fanotify + 香农熵 + YARA 检测加密爆发,用 SIGSTOP 立即冻结相关进程,并紧急切断全部外部通信(Air-Gap)与共享服务。
📶 Wi-Fi 加密强度警告仅限客户端版
连接到无加密(Open)或 WEP/WPA 时,自动提升保护级别并弹出桌面通知。可选自动停止/恢复共享服务(SSH/Samba/RDP)。
🔌 非授权 USB / BadUSB 防护仅限客户端版
未获批准的 USB 存储会被暂缓连接并弹出批准对话框;击键注入设备(BadUSB 键盘)仅通过 evdev 在软件层抑制其输入(不会在内核层物理断开端口)。内置对下载文件夹的 ClamAV 自动扫描与隔离。
📜 24/30 项安全综合诊断
对 LUKS、Secure Boot、LSM、SSH/sudo、sysctl、ARP 固定、对外暴露端口、浏览器 Safe Browsing 等客户端 24 项、服务器版则按 CIS 基准 30 项进行 10 种语言评分。可从 GUI / CLI / MCP 查看。
🤖 内置 MCP 服务器
roamswitch-mcp 让 Claude 等 AI 代理通过 JSON-RPC(stdio)读取安全状态。只读、完全本地。参见 MCP 设置。
🔒 VPN 隧道 + 断网开关仅限客户端版
在公共 Wi-Fi 上,通过 WireGuard 或 Tailscale(Exit Node)将所有流量导入加密隧道。nftables 断网开关拦截隧道外的明文泄漏,隧道断开时也不会放行(fail-closed)。这是中间人攻击(MITM)防护的核心。
🎣 被动链接防护(拦截钓鱼连接)仅限客户端版
从 DNS 查询、TLS SNI 和 HTTP Host 头读取出站连接的目标主机名,对钓鱼/诈骗网站的连接进行警告或拦截(默认 block,对 DoH 浏览器同样有效)。warn 模式下无响应即 fail-closed。判定仅使用本地订阅源和离线启发式,目标绝不外发。
🖧 服务器自主防御 & SSH 断连防护仅限服务器版
面向云 VPS 和数据中心自动应用入站默认拒绝(Default Drop)。主动保护当前连接的管理用 SSH 会话(ESTABLISHED),防止管理员被意外断开连接。可通过可选的 guard.yaml 精细设置按严重程度划分的遏制动作,以及安全定时器(无响应时自动恢复)。
⚡ eBPF 入侵检测 & 自主隔离(Falco / Tetragon)
通过 UNIX 套接字实时捕获内核层 eBPF 事件(反弹 Shell、权限提升、未授权二进制执行)。可在 Falco(默认)与 Cilium Tetragon(gRPC)之间选择传感器。以毫秒级速度自主隔离被入侵的进程(SIGSTOP/SIGKILL)或主机(Air-Gap)。
📂 关键路径 FIM(文件篡改监控)仅限服务器版
对 /etc/shadow、/etc/pam.d、/usr/bin/ 等主要系统二进制文件与配置进行事件驱动的 SHA-256 哈希监控,在篡改发生的瞬间即可检测到(周期性扫描作为兜底)。可即时检测后门植入与未授权篡改,并安全地上报、隔离。
🧠 资源耗尽/进程异常检测防护仅限服务器版
检测内存泄漏型DoS攻击与崩溃循环(UAF漏洞利用尝试的迹象)。带GC的运行时正常的锯齿状内存增减不会被误判,仅判定“无恢复的持续RSS增长”。崩溃循环通过systemd自身的固定词汇进行结构化判定(无需新增轮询)。与eBPF/FIM事件按PID进行关联,赋予置信度(possible/correlated)。
🧱 Egress / C2 阻断 & DNS 黑洞仅限服务器版
通过本地威胁情报自动阻断向已知恶意 IP 的发送。可选择启用 DNS 黑洞(Quad9 / Cloudflare / AdGuard / CleanBrowsing),同时封锁恶意域名解析(为避免破坏企业内部 DNS 环境,默认关闭)。
📢 多渠道紧急通知仅限服务器版
在检测到入侵、终止进程、Air-Gap 隔离或 FIM 违规发生的瞬间,立即向 Slack、Discord、Microsoft Teams、Syslog、Webhook 发送详细的事件信息。
🐳 Docker 风险检测 & 防火墙绕过对策
通过 docker events 实时检测特权容器(--privileged)或 docker.sock 挂载的启动(仅通知)。基于 DOCKER-USER 链的防火墙绕过对策在客户端版与服务器版中均始终生效。
🧫 File Scan Guard(YARA + ClamAV)仅限服务器版
定期扫描用于保存待分发给他人的文件的目录,例如邮件中继、共享文件夹、上传目标等(这是独立于客户端版下载文件夹自动扫描之外、针对任意共享目录的附加层)。内置 YARA 引擎无需外部依赖即可始终运行,也可选择添加 ClamAV。确认的威胁会被自动隔离。
🔑 机密信息・API 密钥泄露扫描器
不仅能在文本中检测 OpenAI・Anthropic・AWS・GitHub・Slack・Stripe 等的 API 密钥及 SSH 私钥,还能对整个目录进行扫描(.git 等会自动排除)。可通过 CLI・MCP・Python SDK 使用,内容绝不会外传。
📦 软件包CVE照合(dpkg/pacman/dnf/zypper + 依赖关系)仅限客户端版
将已安装的OS软件包与开发中项目的依赖关系(npm・PyPI・crates.io等7个生态系统)与本地保存的已知CVE映射进行比对。完全不进行任何网络活动。
🖥️ ClickFix 防护:监控剪贴板检测并清除恶意命令仅限客户端版
应对「ClickFix」型攻击——伪造的广告或验证码页面诱导用户「复制验证码并粘贴」,实际粘贴的却是恶意命令。通过 gtk::Clipboard 轮询(X11 和 Wayland 均支持)在复制的瞬间检测,一旦是已知恶意模式即自动清除内容并发出警告。无论粘贴目标是终端还是 GNOME/KDE 运行对话框,都能在复制时统一检测。
🔔 通知历史(过去7天)
回顾 RoamSwitch 发送过的通知,而不仅限于通知出现的那一刻。可通过 CLI(roamswitch notifications)、GUI、MCP(get_notification_history)及 Python SDK 查看。超过保留期限的通知会自动删除。
识别已连接的网关 MAC,自主切换 nftables 配置。共享服务控制与 ARP 固定也在此界面。
在托盘中即时切换保护级别、设置手动覆盖有效期、开关 DNS 威胁防护与语言。
支持的环境
| 完全支持 | Ubuntu 22.04 / 24.04、Debian 12+、Linux Mint、Pop!_OS、elementary、Zorin、Raspberry Pi OS 64 位 (Bookworm)、Ubuntu for Raspberry Pi |
|---|---|
| 架构 | x86_64 / aarch64(Raspberry Pi 4 / 5) |
| 必需 | systemd、nftables。托盘 UI 需要支持 AppIndicator/StatusNotifierItem 的桌面(KDE / Cinnamon / MATE / Budgie,或安装扩展的 GNOME)。无头环境可用 daemon + CLI + MCP 运行。 |
| 软件包 | APT(Ubuntu/Debian 系)、DNF(Fedora/RHEL)、zypper(openSUSE)、AUR(Arch)。不支持非 systemd 发行版(Alpine / Void / Devuan)。 |
| 用途 | 我们提供两个版本:面向工作站、笔记本电脑的客户端版(含 GUI/托盘),以及面向云 VPS、容器主机、数据中心的服务器版(无头・Default Drop・eBPF/Falco 集成)。 |
客户端版 / 服务器版对比
面向工作站、笔记本电脑的「客户端版」,与面向云 VPS、容器主机、数据中心的「服务器版」。针对不同环境提供最优的自主防御。
| 领域 | 客户端版(现行) | 服务器版(无头) |
|---|---|---|
| 网络判定与配置切换 | 按 Wi-Fi / 网关 MAC 自主切换(3 套配置) | Static policy (/etc/roamswitch/server.conf, fixed Default Drop) |
| 防火墙姿态 | 自动在开放 / 标准 / 锁定间选择 | 默认拒绝 + 仅明确放行对外服务端口(最小化入站) |
| 出站(egress)流量 | 被动链接防护 + DNS 威胁防护拦截钓鱼 | 对 C2 / 恶意域名的出站拦截 + 发起限制 |
| VPN 隧道 + 断网开关 | ✅ WireGuard / Tailscale | ❌ 不支持(管理访问仅限 SSH。如需 VPN,请自行通过操作系统搭建 WireGuard 等) |
| 勒索软件检测与自主隔离 / fanotify 恶意软件扫描 | 基于 fanotify 的勒索软件自主检测与进程冻结 | eBPF 入侵检测(Falco / Tetragon)+ 关键路径 FIM(事件驱动、即时检测)+ 资源耗尽/崩溃循环检测 |
| 内核加固(sysctl / Yama / noexec) | 接入不受信任网络时应用 | 恒常应用 |
| 安全健康诊断 | ✅ 24 项(GUI / CLI / MCP) | ✅ 30 项(CIS Benchmark 基准・CLI / MCP) |
| 操作界面 | GTK GUI + 托盘 + CLI + MCP | CLI + MCP + 远程管理(无头) |
| 紧急通知 | 桌面通知(GTK / libnotify) | Slack / Discord / Teams / Syslog / Webhook 即时告警 |
| 集中管理与审计 | 通过 Business 许可证追加 | 通过 Business 许可证追加(签名策略分发、定期签入;免费版完全本地运行) |
| 详细文档 | 安全白皮书 (Client) → | 服务器版运维手册 / 安全设计白皮书 (Linux 服务器版) |
🏢 RoamSwitch Business(面向组织)
个人版(Community Edition)免费且开放全部功能。若需在组织内管理多台 Linux 设备,可通过付费的 Business 添加下列管理层。设备端的防御(nftables 切换、勒索软件隔离、USB 防御、DNS、诊断、MCP)与 Community 完全相同,不增不减。
| 可添加的功能 | 概要 |
|---|---|
| 车队集中管理 | 用 Ed25519 签名的组织令牌注册设备,通过定期 check-in 汇总保护级别、诊断分数与策略应用状态。 |
| 签名策略批量下发 | 将受信网络、外出级别、共享服务控制与各项防护的强制值以 Ed25519 签名 JSON 下发。设备端显示锁定。 |
| 签名的内部 APT / RPM | 用组织专用 GPG 密钥签名的私有仓库。应用内更新检查照常工作。 |
| SLA 支持 | 以合同为基础提供部署设计、策略设计与故障响应窗口(日语、JST 工作日)。 |
Zero-Telemetry 得以保持 —— 只有组织明确注册的设备才与管理服务器通信,且仅发送设备 ID、应用版本、诊断分数、保护级别与策略版本。Mac Pro Lifetime 持有者可在自有 Linux 设备上免费获得 Business 功能。价格与供货时间请咨询我们。
咨询 Business🔒 Zero-Telemetry / 许可
绝不会将通信内容、连接历史、浏览 URL 或系统日志发送到外部。更新检查仅通过操作系统的包管理器(apt)进行。RoamSwitch for Linux 为专有免费软件,官方分发包(.deb)可在保留全部版权声明的前提下原样再分发。源代码不公开。全文见 /usr/share/doc/roamswitch/copyright。RoamSwitchKit SDK 另作为开源单独提供。