Skip to content
View v8ray's full-sized avatar

Block or report v8ray

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
v8ray/README.md

V8Ray - 跨平台Xray Core客户端

License Flutter Rust Platform

V8Ray是一个基于Xray Core的现代化跨平台代理客户端,提供安全、高效、易用的网络代理服务。支持iOS、Android、鸿蒙、Windows、macOS、Linux等主流平台。

🚧 项目状态

当前版本: v0.2.11 - macOS 库加载调试 (print) 🍎

发布日期: 2025-12-22

开发进度:

  • ✅ Sprint 0: 环境搭建和基础架构 (已完成 - 2025-10-11)
  • ✅ Sprint 1: Rust核心基础 (已完成 - 2025-10-11)
  • ✅ Sprint 2-6: MVP 开发 (已完成 - 2025-10-14)
  • ✅ Sprint 7: 高级模式UI完善 (已完成 - 2025-12-21)
  • 🔄 Sprint 8: 节点管理增强 (进行中)
  • ⏳ Sprint 9-12: 平台适配和优化 (计划中)

v0.2.2 新增内容 (2025-12-21):

高级模式UI完整实现:

  • ✅ 5个功能标签页(仪表板、节点、订阅、日志、设置)
  • ✅ TabBar 标签页导航系统
  • ✅ 仪表板页面(连接信息、流量统计、快速操作)
  • ✅ 设置页面(基础设置、代理设置、通知设置、高级设置)
  • ✅ 简单模式 ↔ 高级模式切换
  • ✅ 60+ 国际化翻译键(中英文)
  • ✅ 响应式设计(桌面/平板/移动端适配)
  • ✅ Material Design 3 设计风格

订阅管理标签页:

  • ✅ 订阅列表卡片式布局
  • ✅ 添加/编辑/删除订阅功能
  • ✅ 单个和批量更新订阅
  • ✅ 订阅详情底部弹窗
  • ✅ 搜索过滤功能

节点管理增强:

  • ✅ 单个节点延迟测试
  • ✅ 批量延迟测试(带进度显示)
  • ✅ 延迟颜色编码(绿色<100ms, 橙色<300ms, 红色>300ms)
  • ✅ 节点排序(按延迟/名称/协议)
  • ✅ 节点过滤(全部/可用/不可用)

日志查看页面:

  • ✅ 日志级别过滤
  • ✅ 日志搜索功能

构建和兼容性:

  • ✅ 升级 Flutter 到 3.38.5(支持 Visual Studio 2026)
  • ✅ 增强构建脚本 Xray Core 下载
  • ✅ 放宽 CI/CD 检查(编译优先)

Bug 修复:

  • ✅ 修复 Linux 系统代理设置问题
  • ✅ 修复 macOS UI 显示问题
  • ✅ 修复 TextField 编译错误

v0.2.1 新增内容 (2025-10-15):

系统代理优化:

  • ✅ 使用 SOCKS5 代理替代 HTTP/HTTPS 代理
  • ✅ 更好的应用兼容性和协议支持
  • ✅ 适用于所有平台(Windows、macOS、Linux)

用户体验改进:

  • ✅ 连接时锁定代理模式选择器
  • ✅ 防止误操作导致连接中断
  • ✅ 清晰的视觉反馈和提示信息

数据持久化:

  • ✅ 应用启动时自动加载数据库配置
  • ✅ 保持上次使用的订阅和服务器

v0.2.0 新增内容 (2025-10-15):

自动更新功能:

  • ✅ 应用自动更新(从 GitHub Releases)
  • ✅ Xray Core 自动更新(从 XTLS/Xray-core)
  • ✅ 智能平台检测和文件下载
  • ✅ 实时下载进度显示
  • ✅ 自动安装和权限设置
  • ✅ Windows 自动重启支持
  • ✅ 统一的更新入口 UI
  • ✅ 完善的错误处理和重试机制

版本管理优化:

  • ✅ 统一版本号管理
  • ✅ 自动生成 User-Agent 字符串
  • ✅ 版本信息集中配置

Bug 修复:

  • ✅ 修复了无法连接 Shadowsocks 和 Trojan 协议服务器的问题
  • ✅ 修复了节点名称中特殊字符的解码问题
  • ✅ 完善了 URL 解析和参数处理

v0.1.0 核心功能 (2025-10-14):

  • ✅ 代理连接/断开功能
  • ✅ 订阅管理(添加、更新、删除)
  • ✅ 节点自动解析和选择
  • ✅ 系统代理自动配置
  • ✅ 代理模式切换(全局/智能分流/直连)
  • ✅ 多协议支持(VMess、VLESS、Trojan、Shadowsocks)
  • ✅ 多订阅格式(Base64、V2Ray JSON、Clash YAML)
  • ✅ 简单模式完整实现
  • ✅ 中英文国际化
  • ✅ 浅色/深色主题

平台支持:

  • ✅ Linux (Ubuntu 20.04+) - 完全支持
  • ✅ Windows 10+ - 已验证支持
  • ⏳ macOS 12+ - 待测试

技术实现:

  • ✅ Rust 后端核心逻辑
  • ✅ Flutter 跨平台 UI
  • ✅ FFI 桥接(Flutter Rust Bridge 2.11.1)
  • ✅ SQLite 数据持久化
  • ✅ Riverpod 状态管理
  • ✅ Xray Core 集成
  • ✅ 异步架构(Tokio)
  • ✅ 结构化日志系统
  • ✅ 统一错误处理

Bug 修复:

  • ✅ 系统代理配置问题
  • ✅ Xray 进程权限问题
  • ✅ 日志系统 release 模式问题
  • ✅ 节点名称解析和显示问题
  • ✅ UI 导航和交互问题

🎯 版本亮点

v0.1.0: 首个 MVP 版本 ✅

发布时间: 2025-10-14 | 状态: 稳定版 | 平台: Linux

核心功能

  • 一键连接: 简单模式下一键连接代理服务器
  • 订阅管理: 支持添加、更新、删除订阅源
  • 自动配置: 连接时自动启用系统代理,断开时自动禁用
  • 多协议支持: VMess、VLESS、Trojan、Shadowsocks
  • 智能路由: 支持全局、智能分流
  • 节点管理: 自动解析订阅中的所有节点
  • 国际化: 支持中文和英文界面

技术亮点

  • 🔒 安全: AES-256-GCM 加密存储敏感配置
  • 高性能: Rust 后端 + 异步架构
  • 🎨 现代化 UI: Flutter Material Design 3
  • 🔧 易维护: 统一的错误处理和日志系统
  • 📦 开箱即用: 自动下载 Xray Core,无需手动配置

用户体验

  • 🎯 极简操作: 简单模式只需 3 步即可连接
  • 🌍 多语言: 应用内一键切换中英文
  • 🎨 主题支持: 自动适配系统浅色/深色主题
  • 📊 状态显示: 实时显示连接状态和节点信息

详细更新日志请查看 CHANGELOG.md

✨ 特性

🚀 核心功能

  • 多协议支持: VLESS、VMess、Trojan、Shadowsocks、HTTP、SOCKS等
  • 多传输方式: TCP、mKCP、WebSocket、HTTP/2、gRPC、QUIC等
  • 智能路由: 支持域名、IP、地理位置等多种路由规则
  • 负载均衡: 多服务器负载均衡和故障转移
  • 订阅管理: 支持多订阅源自动更新和分组管理

📱 跨平台支持

  • 移动端: iOS 14+、Android 7+、鸿蒙 4.0+
  • 桌面端: Windows 10+、macOS 12+、Linux (Ubuntu 20.04+)
  • 统一体验: 所有平台保持一致的用户界面和功能

🛡️ 安全特性

  • 数据加密: 本地配置数据AES-256加密存储
  • 传输安全: 所有网络传输使用TLS加密
  • 隐私保护: 不收集用户隐私数据
  • 权限控制: 最小权限原则

⚡ 性能优化

  • 快速启动: 应用启动时间<3秒
  • 低延迟: 代理延迟增加<50ms
  • 低资源: 移动端内存使用<100MB
  • 智能连接: 自动选择最优节点

🎨 界面设计

  • 双模式设计: 简单模式和高级模式自由切换
  • 简单模式: 极简操作,一键连接,适合普通用户
  • 高级模式: 完整功能,专业配置,适合高级用户
  • 明暗主题: 支持浅色和深色主题切换

🌍 国际化支持

  • 默认语言: English (英文)
  • 支持语言: 简体中文 (Simplified Chinese)
  • 语言切换: 应用内一键切换语言
  • 本地化: 所有UI文本完全本地化

📋 系统要求

移动端

  • iOS: iOS 14.0+ / iPadOS 14.0+
  • Android: Android 7.0+ (API Level 24+)
  • 鸿蒙: HarmonyOS 4.0+

桌面端

  • Windows: Windows 10 1903+ (64位)
  • macOS: macOS 12.0+ (Intel/Apple Silicon)
  • Linux: Ubuntu 20.04+, Debian 11+, Fedora 35+

🏗️ 技术架构

核心技术栈

  • 前端: Flutter 3.16+ / Dart 3.2+
  • 后端: Rust 1.75+ / Xray Core
  • 状态管理: Riverpod 2.4+
  • 存储: SQLite + Hive + Secure Storage
  • 网络: Dio + HTTP/2
  • 桥接: Flutter Rust Bridge 2.0+

架构设计

┌─────────────────────────────────────────────────────────────┐
│                Flutter UI Layer (简单/高级模式)              │
├─────────────────────────────────────────────────────────────┤
│                Flutter Business Layer (Dart)                │
├─────────────────────────────────────────────────────────────┤
│                Flutter-Rust Bridge (FFI)                    │
├─────────────────────────────────────────────────────────────┤
│                Rust Core Layer (业务逻辑)                    │
├─────────────────────────────────────────────────────────────┤
│                Platform Adapter (平台适配)                   │
├─────────────────────────────────────────────────────────────┤
│                Xray Core Engine (代理核心)                   │
└─────────────────────────────────────────────────────────────┘

📁 项目结构

v8ray/
├── docs/                    # 项目文档
│   ├── requirements.md      # 需求说明书
│   ├── architecture.md      # 系统架构设计
│   └── technical-architecture.md # 技术架构详细设计
├── core/                    # Rust核心模块
│   ├── src/                # Rust源代码
│   │   ├── bridge/         # Flutter桥接
│   │   ├── xray/           # Xray Core集成
│   │   ├── config/         # 配置管理
│   │   └── platform/       # 平台适配
│   └── Cargo.toml          # Rust项目配置
├── app/                     # Flutter应用
│   ├── lib/                # Dart源代码
│   │   ├── core/           # 核心模块
│   │   ├── data/           # 数据层
│   │   ├── domain/         # 业务层
│   │   ├── presentation/   # 表现层
│   │   └── platform/       # 平台适配
│   ├── android/            # Android项目
│   ├── ios/                # iOS项目
│   ├── windows/            # Windows项目
│   ├── macos/              # macOS项目
│   ├── linux/              # Linux项目
│   └── harmony/            # 鸿蒙项目
└── platform/               # 平台特定模块
    ├── android/            # Android VPN服务
    ├── ios/                # iOS NetworkExtension
    ├── windows/            # Windows TUN
    ├── macos/              # macOS NetworkExtension
    ├── linux/              # Linux TUN/TAP
    └── harmony/            # 鸿蒙VPN Kit

🚀 快速开始

开发环境准备

前置要求:

  • Flutter SDK 3.16+
  • Rust 1.75+
  • Git
  • Dart SDK (Flutter 自带)
  1. 安装Flutter SDK
# 下载并安装Flutter 3.16+
git clone https://github.com/flutter/flutter.git -b stable
export PATH="$PWD/flutter/bin:$PATH"
flutter doctor
  1. 安装Rust环境
# 下载并安装Rust 1.75+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
rustup update
  1. 克隆项目
git clone [email protected]:v8ray/v8ray.git
cd v8ray
  1. 安装依赖
# Flutter依赖
cd app
flutter pub get

# Rust依赖
cd ../core
cargo build

使用 Makefile 构建

项目提供了便捷的 Makefile 命令:

# 安装所有依赖(首次运行)
make setup

# 生成 FFI 桥接代码
make bridge

# 构建 debug 版本
make build-debug

# 构建 release 版本
make build-release

# 运行应用(debug 模式)
make run

# 清理构建产物
make clean

# 深度清理(包括下载的文件)
make clean-all

手动构建步骤

如果不使用 Makefile,可以手动执行以下步骤:

  1. 生成 Flutter Rust Bridge 代码(首次构建或更新代码后)
flutter_rust_bridge_codegen generate
  1. 构建 Rust 库
cd core
cargo build --release --lib
  1. 构建 Flutter 应用
cd app
flutter build linux --release  # Linux
flutter build windows --release  # Windows
flutter build macos --release  # macOS
  1. 下载 Xray Core
# Linux/macOS
bash scripts/post_build.sh release

# Windows
scripts\post_build.bat release

运行应用

Linux:

# Debug 模式
./app/build/linux/x64/debug/bundle/v8ray

# Release 模式
./app/build/linux/x64/release/bundle/v8ray

Windows:

# Debug 模式
.\app\build\windows\x64\runner\Debug\v8ray.exe

# Release 模式
.\app\build\windows\x64\runner\Release\v8ray.exe

macOS:

# Debug 模式
./app/build/macos/Build/Products/Debug/v8ray.app/Contents/MacOS/v8ray

# Release 模式
./app/build/macos/Build/Products/Release/v8ray.app/Contents/MacOS/v8ray

📖 文档

用户文档

项目文档

Sprint文档

开发文档

🤝 贡献

我们欢迎所有形式的贡献!请阅读 贡献指南 了解如何参与项目开发。

开发流程

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 创建 Pull Request

代码规范

  • 遵循 Dart Style Guide
  • 遵循 Rust Style Guide
  • 使用 flutter analyzecargo clippy 进行代码检查
  • 使用 dart formatcargo fmt 进行代码格式化
  • 确保测试覆盖率 > 80%

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

🙏 致谢

📞 联系我们

⭐ Star History

Star History Chart


注意: 本软件仅供学习和研究使用,请遵守当地法律法规,不得用于非法用途。

Pinned Loading

  1. v8ray v8ray Public

    V8Ray是一个基于Xray Core的现代化跨平台代理客户端,提供安全、高效、易用的网络代理服务。支持iOS、Android、鸿蒙、Windows、macOS、Linux等主流平台。https://discord.gg/UF2eHxBz8B

    Dart 32 4