vpn_check 0.3.0 copy "vpn_check: ^0.3.0" to clipboard
vpn_check: ^0.3.0 copied to clipboard

Plugin used for get vpn active status for Android, iOS and MacOS

example/lib/main.dart

import 'package:flutter/material.dart';
import 'dart:async';

import 'package:flutter/services.dart';
import 'package:vpn_check/vpn_check.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  late StreamSubscription<bool> _streamSubscription;
  final vpnChecker = VPNChecker();
  bool? _isVpnActive;

  @override
  void initState() {
    super.initState();
    initPlatformState();
    _streamSubscription = vpnChecker.vpnActivityStream.listen(
      (isActive) {
        _isVpnActive = isActive;

        if (mounted) setState(() {});
      },
      onError: (error, stack) {
        print(error);
      },
      cancelOnError: false,
    );
  }

  Future<void> initPlatformState() async {
    try {
      _isVpnActive = await vpnChecker.isVPNEnabled();
      if (!mounted) return;

      setState(() {});
    } on PlatformException {}
  }

  @override
  void dispose() {
    _streamSubscription.cancel();
    vpnChecker.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) => MaterialApp(
        home: Scaffold(
          appBar: AppBar(
            title: const Text('VPN Activity example app'),
          ),
          body: Column(
            children: [
              Center(
                child: Text('VPN active: $_isVpnActive\n'),
              ),
              const SizedBox(height: 50),
              VPNStatusBuilder(
                builder: (context, value) {
                  return Center(
                    child: Text('VPN status: ${value.name}'),
                  );
                },
              ),
            ],
          ),
        ),
      );
}
10
likes
140
points
704
downloads

Publisher

unverified uploader

Weekly Downloads

Plugin used for get vpn active status for Android, iOS and MacOS

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

connectivity_plus, flutter

More

Packages that depend on vpn_check