跳到主要内容
项目档案应用项目

Orange - 基于 FlClash 的多平台代理客户端,深度集成 XBoard 面板,提供抗封锁与高可用配置指南

Orange 是基于 FlClash v0.8.85 的多平台代理客户端,集成 XBoard 面板,提供入口域名防封锁、多源配置托管、高可用自动降级等特性。支持 Android、Windows、macOS、Linux,适用于个人与生产环境。本文档涵盖项目定位、安装构建、配置使用及核心特性详解。

209DartStar 于 2026年1月9日2026年9月15日 更新

AI 总结

Orange 是基于 FlClash 的多平台代理客户端,通过深度集成 XBoard 面板与模块化设计,提供抗域名封锁、高可用配置及安全加密能力,适用于个人与生产环境。

中文项目介绍

Orange 是一款基于 FlClash v0.8.85 开发的多平台代理客户端,核心定位是深度集成 XBoard v20250905-b144770 面板支持,为用户提供稳定、抗封锁的代理连接服务。 项目主要解决传统代理客户端在域名封锁、单点故障和配置管理复杂等方面的问题。通过多域名竞速、国内中转服务器、数据混淆与加密传输等机制应对入口封锁;利用多源面板备份、配置自动降级、缓存与容灾切换保障高可用性;同时采用模块化设计,将 XBoard 功能封装于独立 SDK,减少与上游代码冲突,便于持续更新。 适用场景包括:个人用户需要稳定抗封锁的代理连接;多平台(移动端与桌面端)统一的代理客户端需求;已部署 XBoard 面板的用户需要原生客户端集成;生产环境要求高可用性与自动容灾的场景;需要托管远程配置并支持加密传输的场景。 技术特征上,Orange 采用 Flutter UI 与 Go 内核(Clash.Meta)的混合架构,通过 FFI 桥接通信。配置体系结合远程 config.json 托管与本地 xboard.config.yaml,支持灵活策略切换。项目覆盖 Android、Windows、macOS、Linux 平台,构建流程强调子模块更新与 SDK 代码生成,文档体系完整,适合生产部署。 仓库中提供了详细的构建指南、快速开始教程、配置示例及核心特性文档,用户可依据 docs/ 目录下的文档完成安装与使用。

详细信息与使用说明

1. 项目定位与用途

Orange 是基于 FlClash v0.8.85 的多平台代理客户端,深度集成 XBoard v20250905-b144770 面板支持。项目采用模块化设计理念,将 XBoard 相关功能封装在独立的 lib/xboard 模块中,最大限度减少与上游 FlClash 的代码冲突,便于后续跟进上游更新。作为 Core 的 FlClash 提供基础代理能力,而 XBoard SDK 则负责面板通信、配置同步、在线客服集成等扩展功能,共同构成一个功能丰富、可维护性高的代理客户端解决方案。适用于需要稳定代理连接、多平台支持及 XBoard 面板集成的用户场景。

2. 解决的问题

Orange 主要解决三大类问题。一是入口域名封锁问题,通过多域名竞速策略、国内中转服务器支持、数据混淆与加密传输、UA 对等密钥验证等多层防护机制,降低主域名被封锁的风险。二是高可用性保障问题,提供域名竞速自动选择最快节点、多源配置自动降级、缓存机制提升响应速度、自动容灾切换等能力,避免单点故障。三是配置管理与更新问题,采用远程 config.json 托管与本地 xboard.config.yaml 结合的方式,支持 GitHub/Gitee 多源配置、客户端加密解密、CDN 加速及灵活降级策略,同时模块化设计确保能顺畅跟进上游 FlClash 更新。

3. 适用场景

Orange 适用于多种场景。个人用户可用来获得稳定、抗封锁的代理连接,满足日常科学上网需求。多平台用户可在 Android、Windows、macOS、Linux 上使用统一客户端,简化管理。已部署 XBoard 面板的用户可通过原生客户端深度集成,享受在线客服、设备上报等扩展功能。生产环境可借助多源备份、自动降级、容灾切换等机制保障服务连续性。此外,需要托管远程配置并支持加密传输的团队或组织也可采用本项目,通过 config.json 集中管理配置,实现灵活分发与安全传输。

4. 安装方式

安装 Orange 需准备以下环境:Flutter SDK (>=3.0)、Dart SDK (Flutter 自带)、Golang (>=1.19) 及 Git。具体步骤:克隆仓库 git clone https://github.com/hakimi-x/Xboard-Mihomo.git 并进入目录;执行 git submodule update --init --recursive 更新子模块(关键步骤);进入 lib/sdk/flutter_xboard_sdk 运行 flutter pub get 和 dart run build_runner build 生成 SDK 代码;使用 dart setup.dart <platform> 执行平台特定构建。详细依赖安装与构建命令请参考 docs/build-guide.md,其中包含 Android、Windows、macOS、Linux 的平台特定说明。

5. 使用方式

使用 Orange 需配置两个核心文件。一是 remote.config.json(可托管于远程),定义 panels(面板地址,必填)、onlineSupport(在线客服地址,必填)、proxy(代理服务器)、ws(WebSocket 服务器)等,支持多源备份。二是本地 xboard.config.yaml,设置 provider(必须与 remote.config.json 中 panels 的键名一致,如 mihomo)、remote_config(配置源、超时、重试)、log 等。最小配置可参考 docs/examples/minimal.md,生产配置参考 docs/examples/production.md。启动应用后,客户端自动并发请求配置源,选择最快响应并解析连接面板,后续功能如订阅同步、设备上报等自动运行。详细配置说明见 docs/configuration.md 与 docs/features.md。

6. 实现特点

Orange 在实现上具有几个显著特点。模块化设计:将 XBoard 功能全部封装于独立 lib/xboard SDK,与 FlClash Core 解耦,减少 git pull 时的合并冲突。混合架构:Flutter 负责跨平台 UI,Go(Clash.Meta)提供高性能代理内核,通过 lib/clash 模块进行 FFI 桥接。配置双通道:远程 config.json 与本地 xboard.config.yaml 结合,前者集中管理,后者本地覆盖,支持多源竞速与自动降级。高可用机制:内置域名竞速、多源备份、缓存与容灾切换策略,确保服务稳定。SDK 化:XBoard SDK 可独立嵌入其他 Flutter 项目,提升复用性。这些特点使 Orange 在功能、维护性和扩展性上更具优势。

思维导图

Orange
XBoard SDK
面板通信
配置同步
功能扩展
在线客服
Clash 核心
代理内核
规则处理
网络转发
Flutter 桥接
FFI 接口
Dart 封装
消息传递
通用工具
网络请求
加密解密
本地存储
UI 组件
插件系统
代理插件
窗口扩展
按需加载
配置体系
remote.config.json
xboard.config.yaml
多源管理
自动降级

常见问题

Orange 和 FlClash 是什么关系?

Orange 是基于 FlClash v0.8.85 的增强版本,深度集成 XBoard 面板。所有 XBoard 相关功能封装在独立的 lib/xboard 模块中,最大限度减少与上游 FlClash 的代码冲突,便于后续跟进上游更新。

如何构建 Orange?

需安装 Flutter SDK (>=3.0) 和 Golang (>=1.19)。克隆仓库后执行 git submodule update --init --recursive 更新子模块。然后进入 lib/sdk/flutter_xboard_sdk 运行 flutter pub get 和 dart run build_runner build 生成代码。最后使用 dart setup.dart <platform> 执行平台特定构建。详细步骤参考 docs/build-guide.md。

配置文件中 provider 名称如何匹配?

xboard.config.yaml 中的 provider 值必须与 remote.config.json 中 panels 的键名一致。例如,若 remote.config.json 中有 "panels": { "mihomo": [...] },则 xboard.config.yaml 需设置 provider: mihomo。

Orange 支持哪些平台?

支持 Android(推荐 7.0+)、Windows(10+)、macOS(10.14+)和 Linux(需安装依赖)。iOS 版本处于规划中,尚未适配。

如何实现高可用性?

通过多面板地址竞速(配置多个 panels 地址自动选择最快)、多源配置自动降级(remote_config 支持多个源并自动切换)、缓存机制提升响应速度、以及自动容灾切换(如代理或 WebSocket 服务器故障时切换备用)来保障服务稳定。