# FlashLink VPN - Flutter VPN 应用

FlashLink VPN 是一个基于 Flutter 开发的跨平台 VPN 应用，支持 Android、iOS、macOS、Windows 和 Linux 平台。
## build command

1. 请先确保`lib/app/constants/configs.dart`中`Configs.debug`的值为`false`
2. 确认pubspec.yaml 文件中[version]版本号
3. 执行对应平台的编译命令

flutter run --flavor googleProd --dart-define=ENV=prod --release

flutter run --flavor universalDev --dart-define=ENV=dev --release

flutter run --flavor universalProd --dart-define=ENV=prod --release

flutter run --flavor universalProd --dart-define=ENV=dev --release

https://play.google.com/store/apps/details?id=win.fkey.netboost&referrer=utm_source%3Dtg%26utm_medium%3Dtg

### android:
编译测试版本：
`flutter build apk --flavor universalDev --dart-define=ENV=dev --target-platform android-arm,android-arm64 --release`

编译谷歌应用商店版本：
`flutter build appbundle --flavor googleProd --dart-define=ENV=prod --target-platform android-arm,android-arm64 --release`

编译官网渠道的通用APK版本：
`flutter build apk --flavor universalProd --dart-define=ENV=prod --target-platform android-arm,android-arm64 --release`
`flutter build apk --flavor universalProd --dart-define=ENV=dev --target-platform android-arm,android-arm64 --release`

不修改pubspec.yaml中的版本号，编译指定版本号：
`flutter build appbundle --flavor google --build-name=1.0.1 --build-number=101 --target-platform android-arm,android-arm64 --release`

### ios:
编译Apple Store版本：
`flutter build ipa --release`

不修改pubspec.yaml中的版本号，编译指定版本号：
`flutter build ipa --build-name=1.0.1 --build-number=101 --release`

* 无法打开“idevicesyslog”，因为无法验证开发者
* 执行`sudo xattr -r -d com.apple.quarantine /Users/xxx/flutter/bin/cache/artifacts/libimobiledevice/idevicesyslog`
* 无法打开“iproxy”，因为无法验证开发者。
* 执行`sudo xattr -r -d com.apple.quarantine /Users/xxx/flutter/bin/cache/artifacts/usbmuxd/iproxy`

## 谷歌商店上架流程
1. 使用appbundle编译命令，编译谷歌商店版本。
2. 将编译后的`build/app/outputs/bundle/googleRelease/app-google-release.aab`上传至`App bundle`资源管理器。
3. 在`Google Play Console`创建发布版本。

## 苹果商店上架流程
1. 使用iOS编译命令编译iOS版本。
2. 编译完成后，打开`build/ios/archive/Runner.xcarchive`文件。
3. 在Xcode的Archives列表中选择刚编译的版本，点击 Distribute App上传至苹果商店。
4. 也可以使用`Apple Transporter`将`build/ios/ipa/*.ipa`文件上传至苹果商店。
5. 在苹果商店后台创建发布版本。

## License

[MIT](LICENSE)

