π I2P Daemon GUI
May 25, 2026 Β· View on GitHub
π Language / Π―Π·ΡΠΊ
πΊπΈ English Documentation
Full English documentation with screenshots and features
π·πΊ Π ΡΡΡΠΊΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
ΠΠΎΠ»Π½Π°Ρ ΡΡΡΡΠΊΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠΎ ΡΠΊΡΠΈΠ½ΡΠΎΡΠ°ΠΌΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ
π― Description
I2P Daemon GUI is an elegant native macOS application that allows you to easily manage I2P daemon through a modern SwiftUI interface. No more command line - all management in just a few clicks!
β¨ Key Features:
- π₯οΈ Modern SwiftUI interface with adaptive theme
- π Full internationalization (Russian/English) with smart restart
- π One-click start/stop daemon management
- π Real-time monitoring of daemon status
- π Comprehensive statistics of server and network
- βοΈ Interactive settings with port and bandwidth management
- π§ Auto-start via LaunchAgent for automatic startup on system login
- π Detailed logging of all operations
- ποΈ System tray with daemon state indicators and quick controls
- π Smart exit with proper daemon shutdown (Cmd+Q, tray, language change)
- π Dynamic configuration reading with automatic settings parsing
- π± Start minimized - application starts in tray without showing window
- π οΈ Built-in Tools module - comprehensive set of I2P utilities with interactive terminal
π₯ Download and Installation
π― Quick Start (recommended):
-
π₯ Download the ready application:
# Direct link to .app ZIP archive curl -L https://github.com/MetanoicArmor/gui-i2pd/releases/download/v2.60.0/I2P-Daemon-GUI-2.60.0.zip -o I2P-Daemon-GUI-2.60.0.zip -
π Extract and install:
unzip I2P-Daemon-GUI-2.60.0.zip mv "I2P Daemon GUI.app" /Applications/ -
π Launch the application:
open "/Applications/I2P Daemon GUI.app"
πΊ Homebrew: arm64 + Intel:
The cask automatically chooses the matching ZIP for your architecture (Apple Silicon or Intel) from the release assets.
Install / upgrade:
brew install --cask metanoicarmor/i2pd-gui/i2pd-gui
brew upgrade --cask i2pd-gui
The cask has a postflight step that automatically runs xattr -dr com.apple.quarantine on the installed .app, so on most systems the app opens without any extra action.
If macOS still reports the app as βdamagedβ (Gatekeeper / quarantine on a nonβnotarized download), run manually:
xattr -dr com.apple.quarantine "/Applications/I2P Daemon GUI.app"
Recent macOS versions may not offer βOpen Anywayβ in System Settings for this case (that flow targets unidentified developer, not damaged). The proper longβterm fix is a Developer ID signature + Apple notarization.
Maintainers: brew reads the cask from MetanoicArmor/homebrew-i2pd-gui, not from this repo. After you upload new release ZIPs, update Casks/i2pd-gui.rb there (version and sha256 per architecture). The Casks/ file here is only a reference copy.
π System Requirements:
- macOS: 14.0 or newer
- Processor: Intel x64 or Apple Silicon (M1/M2/M3/M4)
- Memory: 100+ MB free RAM
- Disk Space: 35+ MB
π¨ Interface and Features
πΈ Screenshots (English UI):
*Main window: daemon status, stats, and controls*
Settings: HTTP/SOCKS5 ports, bandwidth, LaunchAgent auto-start
Advanced settings: tunnels, Address Book, and subscriptions
Menu bar extras: quick actions and daemon state
π₯οΈ Main Window:
- π Server Status: shows daemon state (running/stopped)
- β±οΈ Uptime: I2P daemon uptime
- π€ Peers: number of active connections
- π Network Statistics: incoming/outgoing traffic, tunnels, routers
ποΈ Control Panel:
- βΆοΈ Start - start I2P daemon with one click
- βΉοΈ Stop - proper daemon shutdown
- π Restart - restart service
- π Refresh Status - check current state
- βοΈ Settings - daemon configuration
- ποΈ Clear Logs - clear log history
- π οΈ Tools - access built-in I2P utilities
βοΈ Settings:
- π Network Configuration: HTTP and SOCKS5 proxy port management
- β‘ Bandwidth: network speed selection (L/O/P/X)
- π§ Automation: daemon auto-start configuration via LaunchAgent
- π¨ Interface: interface language management (Russian/English)
- π± Start Minimized: application starts in tray without showing window
- π Dynamic Values: direct settings loading from config files
π Logging:
- π Operation History: detailed log of all actions
- π Filtering: search by message type
- πΎ Export: save logs to file
- ποΈ Clear: quick history cleanup
π οΈ Built-in Tools Module:
- π Key Generation: create I2P destination keys with signature type selection
- βοΈ Address Mining: generate vanity addresses with custom prefixes
- π Key Information: analyze existing keys and get destination addresses
- π§ B33 Address: calculate B33 addresses for encrypted leasesets
- π Domain Registration: generate registration strings for .i2p domains
- π·οΈ 3LD Registration: three-step registration for third-level domains
- π Domain Alias: rebind domains to new keys
- β° Offline Keys: create temporary keys with limited validity
- π Router Info: analyze RouterInfo files with port/firewall/IPv6 flags
- π X25519 Keys: generate encryption keys for authorized leasesets
- π Base64 Encoding: I2P-specific Base64 encoding/decoding
- π₯ Family Tool: manage family certificates for router organization
- β Host Verification: verify signatures of host records
- βοΈ Auto Configuration: interactive terminal for i2pd.conf generation
π Internationalization
π― Supported Languages:
- π·πΊ Russian - primary interface language
- πΊπΈ English - full English localization
π Smart Language Switching:
- Automatic restart when changing language
- Daemon preservation - daemon continues running during restart
- Proper window closing - all modal windows close automatically
- Instant application - new language applies immediately after restart
π Localized Elements:
- β All interface elements (buttons, menus, labels)
- β Log messages
- β Bandwidth settings
- β Tray menu
- β Dialogs and notifications
ποΈ Technical Architecture
π οΈ Technology Stack:
- UI: SwiftUI + macOS Design Guidelines
- Language: Swift 5.7+
- Build Manager: Swift Package Manager
- Daemon: i2pd 2.60 (embedded binary)
- Dependencies: Native macOS APIs
- Localization: NSLocalizedString + .lproj bundles
π¦ Application Structure:
I2P Daemon GUI.app/
βββ Contents/
β βββ Info.plist # Metadata (version 2.60)
β βββ MacOS/
β β βββ I2P Daemon GUI # GUI executable (1.5MB)
β βββ Resources/
β βββ I2P-GUI.icns # Application icon
β βββ i2pd # Daemon binary (29MB)
β βββ tools/ # Built-in I2P utilities
β β βββ keygen # Key generation utility
β β βββ vain # Address mining utility
β β βββ keyinfo # Key information utility
β β βββ b33address # B33 address calculator
β β βββ regaddr # Domain registration utility
β β βββ regaddr_3ld # Third-level domain registration
β β βββ regaddralias # Domain alias utility
β β βββ offlinekeys # Offline keys utility
β β βββ routerinfo # Router info analyzer
β β βββ x25519 # X25519 key generator
β β βββ i2pbase64 # Base64 encoder/decoder
β β βββ famtool # Family certificate tool
β β βββ verifyhost # Host verification utility
β β βββ autoconf # Interactive config generator
β βββ ru.lproj/ # Russian localization
β β βββ Localizable.strings
β βββ en.lproj/ # English localization
β βββ Localizable.strings
Total package size: ~35MB
π§ System Components:
- I2pdManager: daemon lifecycle manager with dynamic version fetching
- ContentView: main application interface with localization
- SettingsView: configuration panel with smart restart
- StatusCard: system status card
- LogView: logging system with localized messages
- TrayManager: system tray with localized menu
- AppDelegate: application lifecycle handling and smart exit
- ToolsManager: built-in utilities manager with process handling
- ToolsView: comprehensive tools interface with interactive terminal
π¨ Building from Source
π Prerequisites:
# Install Xcode Command Line Tools
xcode-select --install
# Check Swift version
swift --version
π Build Instructions:
-
π₯ Clone the repository:
git clone https://github.com/MetanoicArmor/gui-i2pd.git cd gui-i2pd -
π¨ Build the project:
# Apple Silicon (arm64) ./build-app-arm64.sh # Intel (x86_64) ./build-app-intel.sh -
π Launch the application:
open "I2P Daemon GUI.app"
π Available Commands:
./build-app-simple.sh- full .app package build with localizationswift build- source code compilation onlyswift test- run tests (if available)
π Project Statistics
| Metric | Value |
|---|---|
| Lines of Code | 7,521 Swift |
| Source Files | 4 (AppCore.swift, ToolsView.swift, LiquidGlassTheme.swift, TrayManager.swift) |
| Repository Size | ~292MB (tracked files, without local build artifacts) |
| Build Time | ~10-20 seconds (incremental, by architecture) |
| Compatibility | macOS 14.0+ |
| UI Framework Version | SwiftUI |
| Tray Status | β Stable |
| Parsing Functions | β Fully functional |
| Localization | β Russian + English |
| Localization Keys | 885 total (RU: 441, EN: 444) |
| Built-in Tools | β 14 utilities |
| Interactive Terminal | β Real-time I/O |
π License and Legal Information
The Swift GUI source code in this repository is distributed under the BSD-3-Clause License. See the LICENSE file.
Bundled binaries in release .app bundles are not authored here; they are built from upstream projects:
| Component | Source | License (upstream) |
|---|---|---|
i2pd (daemon) | PurpleI2P/i2pd | BSD-3-Clause (see file in repo) |
Tools (Contents/Resources/tools/) | PurpleI2P/i2pd-tools | Per LICENSE in that repository |
π Technologies Used:
- I2P Network: https://geti2p.net/ - anonymous network
- i2pd daemon: https://i2pd.website - official I2P protocol implementation; PurpleI2P/i2pd on GitHub
- Swift: Apple programming language
- SwiftUI: Apple interface framework
- NSLocalizedString: Apple localization system
β Developer Support
If you like this project and it brings value, you can support its development by buying a virtual coffee:
β Buy developer a coffee:
β‘ TON:
π TON Address:
UQCsX_UVKylmlxb4dWZlXdmlyRzNm-kzUx7Ld1VQHk1ob0MY
Thank you for your support! It motivates to continue working on the project π
π Project Ready to Use!
π Direct Download:
I2P Daemon GUI - elegant solution for macOS with minimal setup and maximum functionality.
Created with β€οΈ by Vade for privacy and anonymity community
Β© 2026 Vade