Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

WarpGo

English | 中文

A modern Warp account management tool built with Tauri, Rust and Vue 3.

基于 Tauri、Rust 和 Vue 3 构建的现代化 Warp 账户管理工具。

8e06084d04e60a9366a03b47f4374dad 6e5a66a1dc0a6d4cfa77f55feca9d0c6

English

📖 Table of Contents

✨ Features

  • 🔐 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

🛠️ Tech Stack

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)

📋 Prerequisites

Before you begin, ensure you have the following installed:

  1. Node.js (v18 or higher)

    node --version
  2. Rust (v1.70 or higher)

    rustc --version
  3. pnpm/npm/yarn

    npm --version
  4. mitmproxy (Optional, for proxy features)

    # macOS
    brew install mitmproxy
    
    # Linux
    pip install mitmproxy
    
    # Windows
    # Download from: https://mitmproxy.org/

📥 Installation

  1. Clone the repository

    git clone https://github.com/yourusername/warpgo.git
    cd warpgo
  2. Install dependencies

    npm install
  3. Set up mitmproxy certificate (if using proxy features)

    # Start mitmproxy once to generate certificates
    mitmproxy
    # Follow the instructions to trust the certificate

🚀 Usage

Development Mode

Run the application in development mode with hot-reload:

npm run tauri dev

Adding an Account

  1. Click the "Add Account" button
  2. Paste your Warp account JSON data
  3. Click "Add" to save

JSON Format Example:

{
  "email": "your@email.com",
  "token": "your-firebase-token",
  "account_id": "your-account-id"
}

Managing Accounts

  • 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

Using Proxy

  1. Set an account as active
  2. Click "Start Proxy" button
  3. System proxy will be configured automatically
  4. Click "Stop Proxy" to disable

📦 Building

Build the application for production:

npm run tauri build

The 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/

🧹 Cleaning

The project generates large cache files (~1.5GB) during compilation.

Deep Clean

Removes everything including cache, dependencies and database (requires confirmation):

./clean-deep.sh

This removes:

  • node_modules/
  • dist/
  • src-tauri/target/ (~1.4GB)
  • Cargo.lock
  • Database files
  • All cache and temporary files

❓ FAQ

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.

🙏 Acknowledgments

  • 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 (代理脚本)

📋 环境要求

开始之前,请确保已安装以下环境:

  1. Node.js (v18 或更高版本)

    node --version
  2. Rust (v1.70 或更高版本)

    rustc --version
  3. pnpm/npm/yarn

    npm --version
  4. mitmproxy (可选,用于代理功能)

    # macOS
    brew install mitmproxy
    
    # Linux
    pip install mitmproxy
    
    # Windows
    # 从此处下载: https://mitmproxy.org/

📥 安装步骤

  1. 克隆仓库

    git clone https://github.com/yourusername/warpgo.git
    cd warpgo
  2. 安装依赖

    npm install
  3. 设置 mitmproxy 证书(如果使用代理功能)

    # 首次运行 mitmproxy 生成证书
    mitmproxy
    # 按照提示信任证书

🚀 使用说明

开发模式

以开发模式运行应用(支持热重载):

npm run tauri dev

添加账户

  1. 点击**"添加账户"**按钮
  2. 粘贴你的 Warp 账户 JSON 数据
  3. 点击**"添加"**保存

JSON 格式示例:

{
  "email": "your@email.com",
  "token": "your-firebase-token",
  "account_id": "your-account-id"
}

管理账户

  • 设为活动:点击对勾图标 (✓) 将账户设为活动状态
  • 获取限额:点击下载图标 (⬇) 获取当前使用配额
  • 删除账户:点击垃圾桶图标 (🗑) 删除账户

使用代理

  1. 将一个账户设为活动状态
  2. 点击**"启动代理"**按钮
  3. 系统代理将自动配置
  4. 点击**"停止代理"**停用

📦 构建打包

构建生产版本:

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

⬆ Back to Top

About

基于 Tauri、Rust 和 Vue 3 构建的现代化 Warp 账户管理工具。

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages