Design and implement the OpenVPN 3 tunnel adapter for a production iOS VPN application. Develop a self-contained Objective-C++ module that wraps the OpenVPN 3 C++ library and integrates it with Apple's Network Extension framework. Optimize memory usage and handle network transitions.
Key Highlights
Key Responsibilities
Technical Skills Required
Job Description
Role: iOS Developer
Location : Greene, MD (100% Remote)
W2 Role(USC only)
Role Overview
We are seeking a specialist to own the design and implementation of the OpenVPN 3 tunnel adapter for a production iOS VPN application. In this contract role, you will be responsible for a self-contained Objective-C++ module that wraps the OpenVPN 3 C++ library and integrates it seamlessly with Apple’s Network Extension framework.
While the surrounding Swift application and product lifecycle are handled by the core team, you will have complete technical ownership of the adapter: from cross-compilation to the bidirectional packet I/O loop.
The Technical Challenge
The iOS Network Extension environment is notoriously constrained. You will be operating within a sandboxed process with a 50 MB memory ceiling (iOS 17). Success in this role requires disciplined buffer management, allocation hygiene, and the ability to navigate limited debugging support in a high-pressure networking environment.
Core Responsibilities
Library Architecture: Cross-compile OpenVPN 3 and its dependencies (mbedTLS, standalone ASIO, LZ4) for iOS arm64 (Device & Simulator).
Tunnel Implementation: Subclass OpenVPNClient from the OpenVPN 3 API and implement the TunBuilder interface, covering routes, DNS, MTU, and dual-stack IPv4/IPv6.
Packet Processing: Implement and manage the bidirectional packet I/O loop between NEPacketTunnelFlow and the OpenVPN encryption pipeline.
Interested in remote work opportunities in Mobile? Discover Mobile Remote Jobs featuring exclusive positions from top companies that offer flexible work arrangements.
Network Resilience: Tune the ASIO transport to handle network transitions (Wi-Fi to Cellular, Airplane Mode) and edge cases in the sandbox.
Memory Optimization: Profile and optimize allocations with Instruments to ensure the module stays strictly under the 50 MB process limit.
Interface Design: Define and document a narrow Objective-C delegate header to act as the single integration point for the Swift-based container app.
Lifecycle Management: Implement the connection lifecycle (connect/pause/resume) and surface structured logs and byte-count statistics for diagnostics.
Project Timeline & Stabilization
Primary Phase (Weeks 1–8): Core development and initial integration.
QA & Retainer Phase (Weeks 9–14): * Iterate with the team through the stabilization phase.
Write unit/integration test scaffolding for the adapter.
Perform sustained load testing and memory profiling.
Address race conditions and packet I/O edge cases surfaced during network transition testing.
Required Skills
Modern C++ Mastery: Expert knowledge of C++17, including templates, RAII, smart pointers, and concurrency primitives.
Browse our curated collection of remote jobs across all categories and industries, featuring positions from top companies worldwide.
Mixed-Language Development: Experience shipping iOS libraries that integrate C++ code. You must be proficient with Objective-C++ (.mm) and understand how to link mixed-language projects in Xcode.
Xcode Build Systems: Proficiency in cross-compilation targets, static library linking, and framework packaging.
Memory Management: Deep understanding of Apple’s ARC and how it interacts with C++ object lifetimes.
Constrained Debugging: Experience debugging in restrictive environments (App Extensions, embedded systems, or sandboxes).
Highly Valued Experience
Direct experience with the OpenVPN 3 client library or similar tunneling protocols (WireGuard, strongSwan).
Deep familiarity with Apple’s Network Extension framework (NEPacketTunnelProvider).
Prior work with standalone ASIO or Boost.Asio event loops.
Knowledge of OpenVPN protocol specifics (Control/Data channels, TLS handshakes).
History of cross-compiling complex C++ dependencies for iOS arm64.
Why this role is unique
This is a "pure engineering" contract. We have removed the overhead of UI development, product management, and QA coordination from your plate. You are being hired for your expertise in low-level networking and your ability to make a C++ engine thrive within the unique constraints of iOS.
Similar Jobs
Explore other opportunities that match your interests
Golden Technology
NetForemost