About the Project
The ikev2 package provides Flutter developers with a unified, robust API to manage IKEv2 VPN connections. With over 200+ downloads, it handles the heavy lifting of IPsec networking, authentication, and background lifecycle management, allowing developers to build secure VPN apps in days instead of months.
The Challenge
Unlike simpler proxy protocols, IKEv2 requires deep system-level integration. On Android, this meant integrating the industry-standard strongSwan library—which requires managing native C/C++ NDK builds, ABI architectures (arm64, x86), and the Android VpnService API. On iOS, it required navigating Apple's strict and complex NetworkExtension framework.
Key Achievements & Features
Deep Native Integration: Successfully bridged strongSwan (Android) and Network Extensions (iOS) into a single, unified Dart API using MethodChannels and EventChannels.
Advanced Authentication: Built secure handshake flows supporting both IKEv2 EAP (Username/Password) and PSK (Pre-Shared Key) methods.
Live Telemetry & State Management: Engineered a reactive traffic monitor that streams real-time upload/download speeds, total data usage, and session duration directly to the Flutter UI without memory leaks.
Commercial Success (Open Core Model): Showcased product management skills by releasing the highly complex Android implementation for free to the community, while successfully commercializing the iOS implementation as a premium enterprise add-on.
Background Reliability: Implemented native foreground services to ensure the VPN connection remains stable and the OS does not kill the process when the app is minimized.
Tech Stack & Skills Highlighted
Framework: Flutter / Dart (Streams, Platform Channels)
Native Android: Kotlin, Android NDK, VpnService, strongSwan (C/C++)
Native iOS: Swift, NetworkExtension framework
Networking & Security: IPsec, IKEv2, EAP, PSK, MTU tuning