版本 macOS Linux Sensor

检测到危险的瞬间,Linux 会自动「隔离」。

从桌面到云端VPS,无需复杂设置即可让Linux自主防御。客户端版提供Wi-Fi自动识别与VPN断网开关,服务器版提供SSH锁定防护与毫秒级入侵检测,两者均为完全无头(headless)运行。

✦ 免费 · 全功能包含 · 无需激活 🖥️ 同时支持客户端(桌面)与服务器
RoamSwitch for Linux — autonomous network defense: Wi-Fi identification and nftables profile switching, ransomware behaviour detection and AIR-GAP isolation, USB / BadUSB guard, a 24-item security assessment, an MCP server, and Zero Telemetry

从你的发行版安装

添加官方仓库后,即可通过常规更新命令进行升级,应用内的更新检查也会生效。依赖包(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 查看。超过保留期限的通知会自动删除。

↓ 原生 GTK。实际界面运行效果如下
🖥️ 网络管理与保护配置(原生 GTK)
RoamSwitch for Linux 主窗口实机画面

识别已连接的网关 MAC,自主切换 nftables 配置。共享服务控制与 ARP 固定也在此界面。

📋 托盘菜单(AppIndicator / SNI)
RoamSwitch for Linux 托盘菜单实机画面

在托盘中即时切换保护级别、设置手动覆盖有效期、开关 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 + MCPCLI + MCP + 远程管理(无头)
紧急通知桌面通知(GTK / libnotify)Slack / Discord / Teams / Syslog / Webhook 即时告警
集中管理与审计通过 Business 许可证追加通过 Business 许可证追加(签名策略分发、定期签入;免费版完全本地运行)
详细文档 安全白皮书 (Client) → 服务器版运维手册 / 安全设计白皮书 (Linux 服务器版)

服务器版运维手册 安全设计白皮书 (Linux 服务器版) CLI / 无头运维指南 →

🏢 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 另作为开源单独提供。