ROAMSWITCH · UNINSTALL
解除安裝 RoamSwitch
RoamSwitch 在移除自身之前,會先復原它對網路所做的全部變更。只刪除 App 的話,防火牆規則、閘道 ARP 固定和 DNS 覆寫可能會留在系統中,導致網路一直不通。
1. 會執行哪些操作
解除安裝依以下順序進行。各步驟相互獨立,即使某一步失敗,其餘步驟仍會執行,最後會列出所有結果。
- 復原對網路所做的變更。還原 Air-Gap 隔離、防火牆規則、VPN 與 Tailscale 終止開關、連接埠掃描自動封鎖、閘道 ARP 固定和 DNS 覆寫。在 Mac 上,RoamSwitch 停止的服務(SSH、檔案分享、螢幕分享)也會重新啟動。
- 停止並登出服務。在 Linux 上是 systemd 服務和計時器。在 Mac 上是特權輔助程式及其兩個配套服務、登入項目和系統擴充功能(連結防護)。
- 移除放置的誘餌檔案。移除用於偵測勒索軟體的隱藏檔案和憑證誘餌(如
~/.aws/credentials)。只處理內容帶有 RoamSwitch 標記的檔案,位於同一路徑的真實檔案和符號連結不會被動到。 - 移除安裝時新增的設定。在 Linux 上是 apt 掛鉤、Falco 和 logrotate 的設定檔。在 Mac 上是 npm 和 pnpm 的 shell 別名(只移除那些行)。
- 移除程式本身。在 Linux 上透過套件管理員(apt、dnf、zypper 或 pacman)移除;若是用 tarball 安裝、不受套件管理員管理,則直接刪除檔案。在 Mac 上,App 會被移到垃圾桶(不是直接刪除,可以取回)。
2. 在 Mac 上
在選單列的 RoamSwitch 圖示中,選擇「🧰 恢復與解除安裝」→「🗑 解除安裝 RoamSwitch…」。
確認視窗會顯示閘道目前的 MAC 位址和受信任的 MAC 位址。如果兩者不一致,或無法確認隔離的原因已經消除,就可能正遭受攻擊,因此在勾選「我已了解上述風險並繼續執行」之前,「解除安裝」按鈕無法點選。如果可以,請先切換到另一個網路(例如手機熱點)再執行。
「同時刪除設定、歷史記錄和授權資訊」預設是關閉的。保持關閉時,~/Library/Application Support/RoamSwitch(已隔離的威脅、歷史記錄)和授權資訊會保留,之後重新安裝時可以繼續使用。開啟後,這些內容以及設定和特權輔助程式儲存的全部資料都會被刪除。
如果使用過系統擴充功能(連結防護),系統設定可能會要求你核准將其移除。核准後移除即完成。即使沒有要求核准,刪除 App 時移除也會被預約,並在下次重新啟動 Mac 時完成。
最後 App 會被移到垃圾桶,RoamSwitch 隨即結束。清空垃圾桶後,App 本體也就徹底刪除了。結果會以列表顯示,如有失敗的項目還會列出原因。
3. 在 Linux 上
從桌面(系統匣)操作
在系統匣圖示中選擇「🧰 恢復與解除安裝」→「🗑 解除安裝 RoamSwitch…」。確認視窗的邏輯與 Mac 相同(存在風險時需要勾選確認,「同時刪除設定、狀態和歷史記錄」預設關閉)。按下「解除安裝」後會要求輸入管理員密碼(polkit),完成後 App 結束。
從命令列操作
sudo roamswitch uninstall sudo roamswitch uninstall --purge sudo roamswitch uninstall --yes
加上 --purge 會同時刪除設定、狀態和歷史記錄。加上 --yes 會在沒有可疑之處時省略確認提問。兩者都不加時,設定和歷史記錄會保留。
當閘道與受信任的閘道不一致,或無法確認隔離的原因已經消除時,會顯示警告,在輸入 UNINSTALL 之前不會繼續。在沒有終端機的環境(例如指令碼)中,除非你接受風險並加上 --force,否則不會做任何變更並以結束碼 2 結束。
使用套件管理員
sudo apt remove roamswitch sudo apt purge roamswitch sudo dnf remove roamswitch sudo zypper remove roamswitch sudo pacman -R roamswitch
apt purge 會同時刪除設定、狀態和歷史記錄(apt remove 則保留)。使用 dnf、zypper 和 pacman 時,設定和歷史記錄會保留。
在移除套件之前,會自動執行與上面相同的網路恢復、服務停止和誘餌檔案移除。這條途徑不會跳出確認:套件一旦移除,就沒有元件來管理網路了,因此優先避免網路一直不通。若是用 tarball 安裝,roamswitch uninstall 會直接刪除檔案。
apt 軟體庫設定(/etc/apt/sources.list.d/roamswitch.list)及其簽署金鑰會保持原樣。如果不需要,請手動刪除。
4. 保留的內容與不會動到的內容
- ClamAV、nftables、Falco、Tailscale、WireGuard 工具等另外安裝的軟體不會被移除。
- 位於誘餌檔案相同路徑、但沒有 RoamSwitch 標記的真實檔案不會被刪除。
- 設定、狀態和歷史記錄會保留,除非在 Linux 上選擇
--purge(apt 則用apt purge),或在 Mac 上勾選確認視窗中的選項。
5. 解除安裝後仍無法通訊時
第一步就已經復原了所有可能中斷通訊的變更。如果仍然無法通訊,請重新連接 Wi-Fi 或重新插拔網路線,以更新 DHCP 租約。在移除 RoamSwitch 之前,也可以單獨執行同樣的恢復:Linux 上是 sudo roamswitch emergency-restore,Mac 上是選單中的「🧰 恢復與解除安裝」→「🆘 緊急恢復網路…」。