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}'),
                  );
                },
              ),
            ],
          ),
        ),
      );
}
9
likes
120
pub points
83%
popularity

Publisher

unverified uploader

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

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

connectivity_plus, flutter

More

Packages that depend on vpn_check