VPN Remote Management
By David Nimon
We developed a VPN client application to support both an open source VPN backend and a fully commercial VPN service.
Tasks included:
- VPN client to connect with self-hosted servers with easy to use service option
- VPN client supported mobile, Windows, and Mac deployments
- Designed to backend server API specifications for adding accounts, account status, bookmarks, and list of available (selectable) servers
- Supported the backend development team for new features and assisted with the diagnosing issues
- Designed a common C++ layer for all of the platforms to drive the UI interface, eliminating most platform-specific code
- Implemented the CEF interface for the UI for Windows and Mac, while maintaining the platform specific Objective-C code needed for iOS and Mac, the Java code for Android, and the C++ code for Windows
- Implemented a JNI layer to allow the android application to use the common C++ interface logic
- Handled creating and publishing releases of the application with test builds to TestFlight for iOS and publication on a shared drive for the rest of the platforms