openvpn_flutter 1.1.1 copy "openvpn_flutter: ^1.1.1" to clipboard
openvpn_flutter: ^1.1.1 copied to clipboard

outdated

A plugin that allow you to connect OpenVPN service with Flutter

Connect OpenVPN service with Flutter, Issues and PRs are very welcome!

Android Setup #

There is no special setup in android 🤭

iOS Setup #

1. Add Capabillity #

Add 2 capabillity on Runner's Target, App Groups and Network Extensions, Look at the image below to get clearer details

2. Add New Target #

Click + button on bottom left, Choose NETWORK EXTENSION, and follow instruction's image bellow

Add Capabillity on VPNExtension, Do it same like Runner's Capabillitiy

3. Copy Paste #

Open VPNExtension > PacketTunnelProvider.swift and copy paste this script PacketTunnelProvider.swift

Note #

You must use iOS Devices instead of Simulator to connect

Recipe #

Initialize #

Before start, you have to initialize the OpenVPN plugin.

    late OpenVPN openvpn;

    @override
    void initState() {
        openvpn = OpenVPN(onVpnStatusChanged: _onVpnStatusChanged, onVpnStageChanged: _onVpnStageChanged);
        openvpn.initialize(
            groupIdentifier: "GROUP_IDENTIFIER", ///Example 'group.com.laskarmedia.vpn'
            providerBundleIdentifier: "NETWORK_EXTENSION_IDENTIFIER", ///Example 'id.laskarmedia.openvpnFlutterExample.VPNExtension'
            localizedDescription: "LOCALIZED_DESCRIPTION" ///Example 'Laskarmedia VPN'
        );
    }

    void _onVpnStatusChanged(VPNStatus? vpnStatus){
        setState((){
            this.status = vpnStatus;
        });
    }

    void _onVpnStageChanged(VPNStage? stage){
        setState((){
            this.stage = stage;
        });
    }

Connect to VPN #

    void connect(){
        openvpn.connect(config, name, username: username, password: password, bypassPackages: [], certIsRequired: false);
    }

Disconnect #

    void disconnect(){
        openvpn.disconnect();
    }

Publishing to Play Store and App Store #

Android #

  1. You can use appbundle to publish the app

iOS #

  1. View Apple Guidelines Relating to VPN
  2. This plugin DOES use Encryption BUT, It uses Exempt Encryptions

Love my work? #

☕️ ☕️ ☕️

106
likes
0
pub points
90%
popularity

Publisher

verified publishernizwar.dev

A plugin that allow you to connect OpenVPN service with Flutter

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on openvpn_flutter