Skip to content

sxc3030-eng/NetGuardPro-iOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

NetGuard Pro - iOS

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.

Features

  • VPN -- WireGuard tunnel via NEPacketTunnelProvider. Import .conf files or scan QR codes. Server picker with latency display and connection history.
  • DNS Filter -- DNS-over-HTTPS via NEDNSSettingsManager with 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 NEFilterManager content-filter integration.
  • Cleaner -- Storage scan covering URL caches, temp files, app caches, large files, and duplicate photo detection via PhotoKit.

Requirements

  • Xcode 15.0 or later
  • iOS 17.0 or later
  • Swift 5.9
  • Apple Developer account with Network Extension entitlement

Project Structure

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

Setup

  1. Open NetGuardPro.xcodeproj in Xcode 15+.
  2. Set your development team on both the NetGuardPro and NetGuardVPN targets.
  3. Ensure the Network Extension capability is enabled in your Apple Developer portal for the bundle IDs com.netguardpro.mobile and com.netguardpro.mobile.vpn.
  4. Create an App Group group.com.netguardpro.mobile in the portal and enable it on both targets.
  5. Build and run on a physical device (Network Extension does not work in the Simulator).

Bundle IDs

Target Bundle ID
App com.netguardpro.mobile
VPN Extension com.netguardpro.mobile.vpn
App Group group.com.netguardpro.mobile

About

NetGuardPro Mobile — iOS cybersecurity suite (VPN, Firewall, DNS Filter, Cleaner)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages