V2Hiddify 是基于 Hiddify-Next 开发的一个衍生项目。该项目的目的是开发一个跨平台客户端,可以直接与 V2board(Xboard)集成。用户可以使用 VPN 服务提供商的相应账户登录,自动订阅并购买套餐。
- 使用面板账户登录:允许用户使用面板账户登录。
- 注册功能:提供用户注册功能。
- 忘记密码:提供密码恢复功能。
- 自动订阅:购买套餐后自动添加订阅。
- 显示套餐信息:显示用户当前的套餐信息。
- 支付集成:提供与支付平台的集成功能。
- 套餐购买:允许用户购买不同的套餐。
- 购买后自动订阅:购买套餐后自动添加订阅。
- 退出登录:允许用户退出登录。
首先,将项目仓库克隆到本地:
git clone https://github.com/GalenBlabla/Hiddify-with-V2board.git
cd Hiddify-with-V2board
根据不同的操作系统,执行以下命令以准备依赖环境:
-
Windows:
make windows-prepare
-
Linux:
make linux-prepare
-
macOS:
make macos-prepare
-
iOS:
make ios-prepare
-
Android:
make android-prepare
在准备好依赖后,可以使用 Flutter 运行项目:
flutter run
在 lib
目录下进行以下替换操作:
-
替换面板域名:
搜索项目中所有
https://tomato.galen.life
的地方,并替换为你的面板域名。例如,如果你的面板域名是https://example.com
,你可以用以下命令快速替换:grep -rl 'https://tomato.galen.life' lib/ | xargs sed -i 's#https://tomato.galen.life#https://example.com#g'
-
替换机场名字:
搜索项目中所有
Tomato VPN
的地方,并替换为你的机场名称。例如,如果你的机场名字是SuperVPN
,可以用以下命令替换:grep -rl 'Tomato VPN' lib/ | xargs sed -i 's/Tomato VPN/SuperVPN/g'
根据需要打包相应平台的应用:
-
Android 打包:
flutter build apk
-
iOS 打包:
flutter build ios
-
macOS 打包:
flutter build macos
-
Windows 打包:
flutter build windows
通过以上步骤,你可以定制并打包适合自己面板的 V2Hiddify 客户端,方便用户使用 VPN 服务。
V2Hiddify 项目目前存在一个问题:对于不同的域名,需要分别打包客户端。为了简化这个过程,我计划开发一个自动打包平台。用户可以通过该平台输入目标面板的域名(如 "tomato.vpn.com")和面板名称(如 "Tomato"),平台会自动为该面板生成配置文件并完成打包。
- 前端用户输入:用户在平台上输入域名和面板名称。
- 生成配置文件:后端根据用户输入生成对应的配置文件(例如
config.toml
)。 - 触发打包脚本:后端调用打包脚本(如
build.sh
),根据配置文件进行打包。 - 下载链接:打包完成后,生成下载链接供用户下载。