一个基于 Rust 和 Tauri 2 构建的 macOS 网络路由切换工具,提供简洁的图形界面来管理和切换系统默认路由。
- 🚀 快速切换 - 一键切换网络默认路由
- 📊 路由可视化 - 清晰展示所有网络路由信息
- 🎨 现代界面 - 基于 Tauri 2 的原生应用体验
- 🔒 安全可靠 - 使用系统级命令,需要管理员权限
- ⚡ 高性能 - Rust 后端保证极致性能
- 后端: Rust + Tauri 2
- 前端: HTML + CSS + JavaScript
- 构建工具: Vite
- 系统调用: macOS
netstat和route命令
- macOS 10.13 或更高版本
- Rust 1.70+ (安装:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh) - Node.js 18+ (安装:
brew install node) - Xcode Command Line Tools (安装:
xcode-select --install)
# 安装 Node.js 依赖
npm install
# Rust 依赖会在构建时自动安装npm run tauri devnpm run tauri build构建完成后,应用程序将位于 src-tauri/target/release/bundle/ 目录。
- 启动应用 - 打开 RSwitch 应用
- 查看路由 - 应用会自动加载当前系统的所有路由信息
- 切换路由 - 点击"设为默认"按钮切换默认路由
- 权限确认 - 系统会提示输入管理员密码以执行路由切换
- 目标地址 (Destination)
- 网关地址 (Gateway)
- 路由标志 (Flags)
- 网络接口 (Interface)
- 路由状态 (默认/普通)
应用使用以下系统命令进行路由管理:
# 查看路由表
netstat -rn
# 删除默认路由
sudo route delete default
# 添加新的默认路由
sudo route add default <gateway>rswitch/
├── src/ # Rust 后端源码
│ ├── main.rs # 应用入口
│ └── route.rs # 路由管理核心逻辑
├── src-tauri/ # Tauri 配置
│ ├── tauri.conf.json # Tauri 配置文件
│ └── capabilities/ # 权限配置
├── index.html # 前端入口
├── main.js # 前端逻辑
├── vite.config.js # Vite 配置
├── package.json # Node.js 依赖
├── Cargo.toml # Rust 依赖
└── README.md # 项目文档
- 管理员权限: 切换路由需要管理员权限,系统会提示输入密码
- 网络中断: 切换路由可能导致短暂的网络中断
- 备份配置: 建议在切换前记录当前的网络配置
- 仅限 macOS: 此工具仅支持 macOS 系统
# 检查 Rust 安装
rustc --version
# 检查 Node.js 安装
node --version
# 重新安装依赖
rm -rf node_modules target
npm install- 确保有管理员权限
- 检查目标接口是否有有效的网关地址
- 查看系统日志:
Console.app搜索 "route"
# 清理构建缓存
cargo clean
rm -rf target
# 重新构建
npm run tauri build- 后端功能在
src/route.rs中实现 - 前端界面在
index.html和main.js中修改 - Tauri 命令在
src/main.rs中注册
# 启用详细日志
RUST_LOG=debug npm run tauri dev
# 查看 Tauri 控制台
# 在开发模式下按 Cmd+Option+I 打开开发者工具MIT License
欢迎提交 Issue 和 Pull Request!
如有问题或建议,请通过 GitHub Issues 联系。
⚡ 由 Rust + Tauri 2 强力驱动