A modern Warp account management tool built with Tauri, Rust and Vue 3.
基于 Tauri、Rust 和 Vue 3 构建的现代化 Warp 账户管理工具。
- 🔐 Account Management - Add, delete, and switch between multiple Warp accounts
- 🔄 Token Auto-Refresh - Automatically refresh Firebase tokens
- 📊 Quota Tracking - Monitor account usage limits in real-time
- 🌐 System Proxy - Built-in proxy management with mitmproxy integration
- 🌍 Multi-Language - Supports English and Chinese
- 🎨 Modern UI - Clean, minimal design with smooth animations
- 🚀 Native Performance - Built with Rust for optimal speed
- 💾 Local Storage - SQLite database for secure local data storage
- 🔔 Notifications - Desktop notifications for important events
- ⚡ Lightweight - Small footprint, runs efficiently in the background
Frontend:
- Vue 3 (Composition API)
- TypeScript
- Vite
- Vue I18n (Internationalization)
Backend:
- Rust
- Tauri 2.x
- Rusqlite (SQLite)
- Reqwest (HTTP client)
- Tokio (Async runtime)
Proxy:
- mitmproxy
- Python 3.x (proxy script)
Before you begin, ensure you have the following installed:
-
Node.js (v18 or higher)
node --version
-
Rust (v1.70 or higher)
rustc --version
-
pnpm/npm/yarn
npm --version
-
mitmproxy (Optional, for proxy features)
# macOS brew install mitmproxy # Linux pip install mitmproxy # Windows # Download from: https://mitmproxy.org/
-
Clone the repository
git clone https://github.com/yourusername/warpgo.git cd warpgo -
Install dependencies
npm install
-
Set up mitmproxy certificate (if using proxy features)
# Start mitmproxy once to generate certificates mitmproxy # Follow the instructions to trust the certificate
Run the application in development mode with hot-reload:
npm run tauri dev- Click the "Add Account" button
- Paste your Warp account JSON data
- Click "Add" to save
JSON Format Example:
{
"email": "your@email.com",
"token": "your-firebase-token",
"account_id": "your-account-id"
}- Set Active: Click the checkmark icon (✓) to set an account as active
- Get Limits: Click the download icon (⬇) to fetch current usage quotas
- Delete: Click the trash icon (🗑) to remove an account
- Set an account as active
- Click "Start Proxy" button
- System proxy will be configured automatically
- Click "Stop Proxy" to disable
Build the application for production:
npm run tauri buildThe built application will be available in:
- macOS:
src-tauri/target/release/bundle/dmg/ - Windows:
src-tauri/target/release/bundle/msi/ - Linux:
src-tauri/target/release/bundle/appimage/
The project generates large cache files (~1.5GB) during compilation.
Removes everything including cache, dependencies and database (requires confirmation):
./clean-deep.shThis removes:
node_modules/dist/src-tauri/target/(~1.4GB)Cargo.lock- Database files
- All cache and temporary files
Q: How do I get my Warp account JSON data?
A: You need to extract it from the Warp application's configuration file or API response. The JSON should include your email, token, and account ID.
Q: Why do I need mitmproxy?
A: The proxy feature allows you to intercept and modify Warp API requests for advanced account management. It's optional if you only need basic features.
Q: The app won't start. What should I do?
A: Make sure all prerequisites are installed and ports 1420 is not in use. Try running ./clean.sh and reinstalling dependencies.
Q: Can I use this on Windows/Linux?
A: Yes! Tauri is cross-platform. Follow the same installation steps for your OS.
Q: Is my data secure?
A: Yes, all data is stored locally in an SQLite database on your machine. No data is sent to external servers.
- Tauri - For the amazing framework
- Vue.js - For the reactive UI framework
- Rust - For the powerful backend language
- mitmproxy - For proxy functionality
- 🔐 账户管理 - 添加、删除和切换多个 Warp 账户
- 🔄 Token 自动刷新 - 自动刷新 Firebase 令牌
- 📊 流量监控 - 实时监控账户使用限额
- 🌐 系统代理 - 内置代理管理,集成 mitmproxy
- 🌍 多语言支持 - 支持中文和英文
- 🎨 现代化界面 - 简洁、美观的设计,流畅的动画效果
- 🚀 原生性能 - 使用 Rust 构建,性能优异
- 💾 本地存储 - SQLite 数据库安全存储本地数据
- 🔔 桌面通知 - 重要事件的桌面通知提醒
- ⚡ 轻量级 - 占用空间小,后台高效运行
前端:
- Vue 3 (组合式 API)
- TypeScript
- Vite
- Vue I18n (国际化)
后端:
- Rust
- Tauri 2.x
- Rusqlite (SQLite)
- Reqwest (HTTP 客户端)
- Tokio (异步运行时)
代理:
- mitmproxy
- Python 3.x (代理脚本)
开始之前,请确保已安装以下环境:
-
Node.js (v18 或更高版本)
node --version
-
Rust (v1.70 或更高版本)
rustc --version
-
pnpm/npm/yarn
npm --version
-
mitmproxy (可选,用于代理功能)
# macOS brew install mitmproxy # Linux pip install mitmproxy # Windows # 从此处下载: https://mitmproxy.org/
-
克隆仓库
git clone https://github.com/yourusername/warpgo.git cd warpgo -
安装依赖
npm install
-
设置 mitmproxy 证书(如果使用代理功能)
# 首次运行 mitmproxy 生成证书 mitmproxy # 按照提示信任证书
以开发模式运行应用(支持热重载):
npm run tauri dev- 点击**"添加账户"**按钮
- 粘贴你的 Warp 账户 JSON 数据
- 点击**"添加"**保存
JSON 格式示例:
{
"email": "your@email.com",
"token": "your-firebase-token",
"account_id": "your-account-id"
}- 设为活动:点击对勾图标 (✓) 将账户设为活动状态
- 获取限额:点击下载图标 (⬇) 获取当前使用配额
- 删除账户:点击垃圾桶图标 (🗑) 删除账户
- 将一个账户设为活动状态
- 点击**"启动代理"**按钮
- 系统代理将自动配置
- 点击**"停止代理"**停用
构建生产版本:
npm run tauri build构建完成后,应用程序位于:
- macOS:
src-tauri/target/release/bundle/dmg/ - Windows:
src-tauri/target/release/bundle/msi/ - Linux:
src-tauri/target/release/bundle/appimage/
项目编译过程中会产生大量缓存文件(约 1.5GB)。
删除所有缓存、依赖和数据库(需要确认):
./clean-deep.sh清理内容:
node_modules/dist/src-tauri/target/(~1.4GB)Cargo.lock- 数据库文件
- 所有缓存和临时文件
问:如何获取 Warp 账户的 JSON 数据?
答:你需要从 Warp 应用的配置文件或 API 响应中提取。JSON 应该包含你的邮箱、令牌和账户 ID。
问:为什么需要 mitmproxy?
答:代理功能允许你拦截和修改 Warp API 请求,用于高级账户管理。如果只需要基本功能,可以不安装。
问:应用无法启动怎么办?
答:确保所有环境要求已满足,且端口 1420 未被占用。尝试运行 ./clean.sh 并重新安装依赖。
问:可以在 Windows/Linux 上使用吗?
答:可以!Tauri 是跨平台的。按照相同的安装步骤即可。
问:我的数据安全吗?
答:是的,所有数据都本地存储在 SQLite 数据库中。不会向外部服务器发送任何数据。
Made with ❤️ by WarpGo Team