A native macOS GUI client for SlipNet — a VPN tool with DNS tunneling (DNSTT, NoizDNS & Slipstream), NaiveProxy, SSH, Tor, and DoH support, featuring a built-in DNS scanner.
- Profile Management — Create, edit, duplicate, import, and manage multiple SlipNet connection profiles
- Custom Command Runner — Run any slipnet command directly from the terminal panel
- Quick Connect — Paste a
slipnet://orslipnet-enc://URI from clipboard and connect instantly - Built-in DNS Scanner — Scan DNS resolvers with multiple modes:
- Basic DNS Scan
- DNS + End-to-End (E2E) testing
- Quick Scan (single IP)
- Prism (server-verified)
- E2E Test Only
- DNS Test (nslookup) — Test a DNS resolver IP with
nslookupbefore using it, with one-click copy or apply to profile - System-wide SOCKS Proxy — Enable/disable macOS system-wide SOCKS proxy with one click (uses
networksetupunder the hood) - Live Terminal Output — Real-time process output with auto-scroll, copy, and clear
- Advanced Run — Build custom command-line arguments for the SlipNet binary
- Auto-Update — Download the latest SlipNet binary directly from GitHub releases
- Bundled SlipNet Binary — Includes the slipnet CLI binary for first-use convenience
- Connection Settings — Configure DNS resolver, direct mode, local host/port, uTLS fingerprint, and query size per profile
- macOS 14.0+ (Sonoma or later)
- SlipNet binary (bundled, auto-detected, or manually configured)
Download Slipnet-macOS-Installer.pkg from the releases and run it. The app will be installed to /Applications.
- Clone the repository:
git clone https://github.com/amirhp-com/Slipnet-macOS.git
- Open
BlackSwan.xcodeprojin Xcode - Build and run (Cmd+R)
- Launch Slipnet-macOS
- Create a new profile (click Add or Cmd+N)
- Paste your
slipnet://URI into the URI field - Click Save & Connect
After connecting, click the System Proxy button in the toolbar to route all macOS traffic through the SOCKS5 proxy. The proxy is automatically disabled when you disconnect.
You can configure the network interface (default: Wi-Fi) in Settings > Connection.
- Click DNS Scanner in the toolbar
- Paste a config URI or enter a domain manually
- Provide a file with resolver IPs or a single IP for quick scan
- Use the Test button to verify a DNS IP with
nslookupbefore scanning - Click Start Scan
BlackSwan/
├── BlackSwanApp.swift # App entry point & window config
├── Models/
│ ├── AppState.swift # Central state management & process execution
│ ├── SlipnetConfig.swift # Connection profile data model
│ └── ScanConfig.swift # DNS scanner configuration model
└── Views/
├── ContentView.swift # Main layout (NavigationSplitView)
├── SidebarView.swift # Profile list & quick actions
├── DetailView.swift # Toolbar & split editor/terminal
├── ProfileEditorView.swift # Profile settings form
├── TerminalView.swift # Live output display
├── ScanView.swift # DNS scanner interface
├── AdvancedRunView.swift # Custom command builder
└── SettingsView.swift # App settings (General, Connection, Scanner, Update, About)
- SwiftUI — Declarative UI framework
- MVVM — Architecture pattern with
@Publishedstate - Foundation Process — Native process spawning for SlipNet binary
- UserDefaults — Profile persistence with JSON encoding
MIT License — see LICENSE for details.
- Developed by amirhp.com
- SlipNet Core by anonvector/SlipNet

