iOS counterpart of the NetGuard Pro security suite. Provides VPN tunneling (WireGuard via NetworkExtension), DNS-based ad/tracker blocking, firewall rule management, and storage optimization.
- VPN -- WireGuard tunnel via
NEPacketTunnelProvider. Import.conffiles or scan QR codes. Server picker with latency display and connection history. - DNS Filter -- DNS-over-HTTPS via
NEDNSSettingsManagerwith configurable providers (Cloudflare, Google, Quad9, custom). Downloads and caches community blocklists (Steven Black, EasyList, EasyPrivacy). - Firewall -- DNS-based domain blocking with per-rule allow/block, category tagging, hit-count tracking, and
NEFilterManagercontent-filter integration. - Cleaner -- Storage scan covering URL caches, temp files, app caches, large files, and duplicate photo detection via PhotoKit.
- Xcode 15.0 or later
- iOS 17.0 or later
- Swift 5.9
- Apple Developer account with Network Extension entitlement
NetGuardPro.xcodeproj/
NetGuardPro/
NetGuardProApp.swift App entry point
Info.plist App permissions & background modes
NetGuardPro.entitlements NE + App Groups entitlements
Assets.xcassets/ Asset catalog
Theme/ AppColors, AppTheme (modifiers, styles)
Navigation/ ContentView (TabView), TabItem enum
Views/
Dashboard/ DashboardView, SecurityScoreView, StatusCardView
VPN/ VPNView
Firewall/ FirewallView
Cleaner/ CleanerView
Services/
VPN/ VPNManager, WireGuardConfig
Firewall/ FirewallManager
DNS/ DNSFilterManager, BlocklistManager
Cleaner/ CleanerManager
Models/ VPNServer, VPNConnection, FirewallRule, DNSStats, CleanerResult
Data/ UserDefaults+Extensions, PersistenceManager
NetGuardVPN/
PacketTunnelProvider.swift NEPacketTunnelProvider with DNS interception
Info.plist Extension manifest
NetGuardVPN.entitlements packet-tunnel-provider entitlement
- Open
NetGuardPro.xcodeprojin Xcode 15+. - Set your development team on both the
NetGuardProandNetGuardVPNtargets. - Ensure the Network Extension capability is enabled in your Apple Developer portal for the bundle IDs
com.netguardpro.mobileandcom.netguardpro.mobile.vpn. - Create an App Group
group.com.netguardpro.mobilein the portal and enable it on both targets. - Build and run on a physical device (Network Extension does not work in the Simulator).
| Target | Bundle ID |
|---|---|
| App | com.netguardpro.mobile |
| VPN Extension | com.netguardpro.mobile.vpn |
| App Group | group.com.netguardpro.mobile |