• Stars
    star
    150
  • Rank 239,672 (Top 5 %)
  • Language
    Dart
  • Created almost 5 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Example Flutter VPN Application

Example Flutter VPN App

Image of VPNLAB1 Image of VPNLAB2 Image of VPNLAB3

Installation

For Android

Modify your app/build.gradle to use abiFilter because flutter doesn't apply abiFilter for target platform yet.

android {
    ...
    buildTypes {
        ...
        release {
            ...
            ndk {
                    if (project.hasProperty('target-platform')) {
                        if (project.property('target-platform') == 'android-arm,android-arm64')
                            abiFilters 'armeabi-v7a', 'arm64-v8a'
                        else if (project.property('target-platform') == 'android-arm')
                            abiFilters 'armeabi-v7a'
                        else if (project.property('target-platform') == 'android-arm64')
                            abiFilters 'arm64-v8a'
                    }
                }
            }
    }
}

The plugin will automatically download pre-build native libraries from here if they haven't been downloaded.

For iOS

You need to open Personal VPN and Network Extensions capabilities in Xcode: see Project->Capabilities.

VPN connection errors are handled in swift code, you need to use Xcode to see connection errors if there is any.

Strongswan Server installation

  • I'm using this tutorial. Ubuntu, Lets Encrpyt. here

Features

  • The Android part was implemented by strongswan which support ikev2 protocol.
  • The iOS part was implemented by NEVPNManager.
  • Compatibility latest goole play multi abis apk. app-universal-debug, app-arm64-v8a-debug, app-armeabi-v7a-debug

VPN Plugin

  • This project using X-dea/Flutter-VPN here