English | 中文
A free, open-source VPN client for users in mainland China. FanVPN is a modified fork of ClashMetaForAndroid, released under the GNU GPL-3.0. The underlying proxy engine is mihomo.
Changes by the FanVPN project (since 2026): a new app name and icon, plus a simplified user interface, build-time configuration sources, and compatibility fixes for older Android versions. See the commit history for details.
- Initialize submodules (fetches the mihomo core):
git submodule update --init --recursive-
Install JDK 17, the Android SDK, CMake, and Golang.
-
Create
local.propertiesin the project root:
sdk.dir=/path/to/Android/Sdk
# Configuration sources — supply your own; not included in this repo.
# Profiles and announcements are fetched from "<base>/android.yaml"
# and "<base>/announce.json", trying each base in order.
fanvpn.cfg.base.1=https://your-host-1
fanvpn.cfg.base.2=https://your-host-2
fanvpn.cfg.base.3=https://your-host-3With the bases left empty, the app still builds and runs but will not auto-import a profile.
- (Optional, for signed release builds) place a
release.keystorein the project root and createsigning.properties:
keystore.password=...
key.alias=...
key.password=...- Build:
./gradlew app:assembleMetaRelease
Official builds and their SHA-256 checksums are published at fanvpn.net. Configuration server URLs and signing keys are intentionally excluded from this repository.
GPL-3.0. Third-party notices are in NOTICE.
面向中国大陆用户的免费开源翻墙客户端。FanVPN 基于 ClashMetaForAndroid 修改,以 GNU GPL-3.0 许可发布,内核为 mihomo。
FanVPN 项目(自 2026 年起)的改动包括: 更名、更换图标与界面精简、构建期注入的配置源、 以及针对旧版本 Android 的兼容性修复。完整改动见提交历史。
- 初始化子模块(拉取 mihomo 内核):
git submodule update --init --recursive-
安装 JDK 17、Android SDK、CMake、Golang。
-
在项目根目录创建
local.properties:
sdk.dir=/path/to/Android/Sdk
# 配置源 —— 请自行填写;本仓库不含真实地址。
# App 从 "<base>/android.yaml" 和 "<base>/announce.json" 拉取配置与公告,按顺序尝试。
fanvpn.cfg.base.1=https://your-host-1
fanvpn.cfg.base.2=https://your-host-2
fanvpn.cfg.base.3=https://your-host-3留空也能编译运行,只是不会自动导入配置。
- (可选,用于签名发布版) 在根目录放入
release.keystore并创建signing.properties:
keystore.password=...
key.alias=...
key.password=...- 构建:
./gradlew app:assembleMetaRelease
官方构建及其 SHA-256 校验值发布于 fanvpn.net。 配置服务器地址与签名密钥有意不包含在本仓库中。