isVpnEnabled method

  1. @override
Future<bool?> isVpnEnabled()
override

Implementation

@override
Future<bool?> isVpnEnabled() async {
  try {
    final interfaces = await NetworkInterface.list();

    return interfaces.any((interface) {
      return commonVpnInterfaceNamePatterns.any((pattern) {
        if (Platform.isIOS &&
            (interface.name.toLowerCase().contains('ipsec') ||
                interface.name.toLowerCase().contains('utun6') ||
                interface.name.toLowerCase().contains('ikev2') ||
                interface.name.toLowerCase().contains('l2tp'))) {
          return false;
        }
        return interface.name.toLowerCase().contains(pattern);
      });
    });
  } catch (e) {
    return false;
  }
}