English | 简体中文
双内核架构 | 进程守护 | 支付集成 | 商业化闭环
改一行 API 地址 → 编译 → 拥有专属品牌 App
本项目不仅仅是一个客户端,而是为机场站长打造的营收工具。
- 支付系统: 完整支持 V2Board 支付流程 (支付宝/微信/Stripe/USDT),集成网页支付跳转。
- 订单管理: 支持查看订单详情、取消订单、无需跳转直接支付。
- 邀请系统: 支持邀请码生成、查看返利记录、申请提现,助力用户裂变。
- 客服集成: 内置 Crisp 在线客服,支持工单与实时聊天,提升售后体验。
- 双内核引擎:
V2Ray: 负责订阅更新与基础代理。SingBox: 负责高性能流量转发、Reality 协议与 TUN 模式。
- TUN 模式: 真正的系统级代理 (Android/Windows),不依赖系统代理设置,完美支持游戏与所有软件。
- 进程守护: Windows 端引入 PowerShell 守护进程,从底层防止核心意外退出,连接更持久。
- 配置加密: 敏感配置 (API, OSS) 支持 AES-128 加密,防止恶意抓包。
- 隐私脱敏: 代码库已完全脱敏,无硬编码域名或 Key,开箱即用。
| 特性 | ⚡ Flux | 🔴 v2rayNG | 🟡 Clash | 🔵 Shadowrocket |
|---|---|---|---|---|
| 跨平台 | ✅ 5 端 | ❌ 仅 Android | ❌ 仅 iOS | |
| V2Board API | ✅ 原生支持 | ❌ 需手动导入 | ❌ 需手动导入 | ❌ 需手动导入 |
| Flutter UI | ✅ Material 3 | ❌ 原生安卓 | ❌ Web 风格 | ❌ 原生 iOS |
| 白标定制 | ✅ 开箱即用 | ❌ 需改源码 | ❌ 困难 | ❌ 不可能 |
| 可商用 | ✅ MIT 协议 | ✅ | ❌ | |
| 开源 | ✅ 100% | ✅ | ❌ |
👉 简单说:Flux 是目前唯一一个「开箱即用、可白标、可商用」的 V2Board 客户端方案。
| 用户类型 | 你的需求 | Flux 能帮你 |
|---|---|---|
| 🛫 机场站长 | 想快速出一个专属品牌客户端 | ✅ 改一行代码,5 分钟编译出 App |
| 🧑💻 二次开发者 | 想 fork 一个干净的 Flutter 代理项目 | ✅ MIT 协议,可自由商用 |
| 👤 终端用户 | 想要一个好看、好用的代理工具 | ✅ 联系你的机场获取专属客户端 |
精美 UI, 丝滑动画, 完美适配深色模式
Flux 采用 SingBox + V2Ray 双核驱动,支持市面主流协议:
| 协议 (Protocol) | 状态 | 关键词 (Keywords) |
|---|---|---|
| Hysteria 2 | ✅ | 极速, 拥塞控制, 抗封锁 |
| VLESS Reality | ✅ | Vision, XTLS, 防探测 |
| VMess | ✅ | WebSocket, gRPC, 广泛兼容 |
| Trojan | ✅ | TLS 伪装 |
| TUIC v5 | ✅ | 0-RTT, QUIC 传输 |
| Shadowsocks | ✅ | AEAD 加密, 2022 新标准 |
# 1. 克隆项目
git clone https://github.com/flux-apphub/flux.git
cd flux
# 2. 安装依赖
flutter pub get
# 3. 配置签名 (Android)
# 复制 key.properties.example 为 key.properties,并生成你的 key.jks
# (Debug 模式可跳过此步)
# 4. 修改 API 地址 (作为备份)
# 打开 lib/services/remote_config_service.dart
# 修改 _defaultDomain 为你的面板地址 (如 https://your-panel.com)
# *注意:这是备用域名,生产环境请务必配置 OSS (见下文指南)*
# 5. 运行
flutter runFlux 提供了一整套定制化方案,请按以下步骤完成配置。
-
修改 App 包名 (Application ID)
- Android:
android/app/build.gradle.kts->applicationId - iOS:
ios/Runner.xcodeproj/project.pbxproj->PRODUCT_BUNDLE_IDENTIFIER - Windows:
pubspec.yaml->msix_config.identity_name - Linux:
linux/CMakeLists.txt->APPLICATION_ID
- Android:
-
修改 App 名称与图标
- 名称: 修改
pubspec.yamlname及各平台配置文件 (AndroidManifest.xml, Info.plist 等)。 - 图标: 替换
assets/images/app_icon.png(1024x1024),运行flutter pub run flutter_launcher_icons。
- 名称: 修改
Flux 默认对部分敏感接口参数 (如邮件验证) 进行 AES-128 加密。
- 打开
lib/services/v2board_api.dart。 - 找到
_emailVerifyKey,填入一个 16位 随机字符串。 - 确保你的后端支持解密,或者将
useEncryption设为false关闭此功能。
通过 OSS 动态下发配置,实现域名防封与功能开关。
1. 准备配置文件
- 参考根目录
release_config_plaintext.json模板。 - 配置备用域名 (
domains)、更新检测 (update) 和客服 ID (contact).
2. 加密并上传
- 修改
lib/utils/config_encryption.dart中的_encryptionKey(App端密钥)。 - 修改
encrypt_config.py中的KEY(脚本端密钥),必须与App端一致。 - 运行
python encrypt_config.py生成加密文件。 - 上传到 OSS/CDN,获取下载链接。
3. 接入 App
- 将链接填入
lib/services/remote_config_service.dart的_ossUrls列表。
- 修改
routing_rules.json,同样上传 OSS,并在release_config中配置链接。
点击展开技术细节
- UI 层: Flutter 3.x + Material Design 3
- 逻辑层:
UnifiedVpnService统一调度 - 内核层: V2Ray / SingBox (Dual Core)
| 平台 | 机制 | 说明 |
|---|---|---|
| Android | VpnService |
TUN 模式,无需 Root |
| iOS | NetworkExtension |
Packet Tunnel Provider |
| Desktop | System Proxy + Sidecar | 系统代理 / TUN + 守护进程 |
lib/
├── main.dart # 入口
├── screens/ # 页面
├── services/ # 核心服务
│ ├── remote_config_service.dart # 👈 核心配置在这里
│ ├── v2ray_service.dart # V2Ray内核
│ ├── singbox_service.dart # SingBox内核 (TUN)
│ └── unified_vpn_service.dart # 统一调度
├── models/ # 数据模型
└── widgets/ # 组件
encrypt_config.py 加密!
- 修改此文件内容。
- 运行
python encrypt_config.py生成release_config.json。 - 将生成的
release_config.json上传至 OSS。
| 字段 | 说明 | 示例/备注 |
|---|---|---|
config_version |
配置版本号 | 每次修改配置后必须+1,App 才会重新拉取生效 |
domains |
备用域名列表 | ["https://api.spare.com"],主 API 连不上时会自动切换 |
update |
更新检查 | 包含 Android/Windows 等平台的 version, url, force(强制更新) |
announcement |
首页公告 | enabled: 是否开启弹窗, content: 公告内容 |
maintenance |
维护模式 | enabled: true 时用户无法使用 App,显示 message |
contact |
联系方式 | crisp_website_id: 配置 Crisp 客服 ID |
features |
功能开关 | purchase_enabled: 开启充值, invite_enabled: 开启邀请 |
routing_rules.url |
路由规则地址 | 指向 OSS 上的 routing_rules.json 下载链接 |
recommended_nodes |
推荐节点 | (可选) 首页显示的推荐节点 Tag 列表 |
backup_subscription |
备用订阅 | (可选) 当 API 完全挂掉时,使用的备用 V2Ray 订阅地址 |
控制流量走代理还是直连,规则自上而下匹配。
{
"type": "field",
"outboundTag": "direct", // 流量出口: proxy(代理), direct(直连), block(拦截)
"domain": ["geosite:cn"], // 域名规则: geosite:cn 代表中国域名
"ip": ["geoip:cn"] // IP规则: geoip:cn 代表中国IP
}如果你需要更专业的定制服务:
| 服务 | 说明 |
|---|---|
| 🎨 UI 定制 | 改配色、改布局、加独家功能 (如流量悬浮窗) |
| 🔐 授权系统 | 加入设备授权验证、多设备管理、到期弹窗提醒 |
由 @fluxdeveloper 提供技术支持。
如果你觉得 Flux 不错,欢迎请作者喝杯咖啡:
| USDT (TRC20) | USDC (Arbitrum) | ETH (Arbitrum) |
|---|---|---|
![]() |
![]() |
![]() |
- Sing-box - 通用代理平台 (核心引擎)
- Xray-core - 强大的网络工具
- V2Board - 机场面板
- hev-socks5-tunnel - 高性能 TUN 模式实现
MIT License - 可自由商用、修改与分发。
Tags: V2Board客户端, 机场专属App, Flutter代理客户端, 白标VPN, 开源代理工具, 科学上网, 机场托管, 流量变现






