Skip to content

A lightweight, user-friendly tool that simplifies access to the I2P (Invisible Internet Project) network through automated I2Pd and Firefox configuration.

License

Notifications You must be signed in to change notification settings

tundra-node/i2p-easy-manager

I2P Easy Manager

A lightweight, user-friendly tool that simplifies access to the I2P (Invisible Internet Project) network through automated I2Pd and Firefox configuration.

Project status: Early preview. Not yet published to PyPI; install-from-source is currently the supported path. Dashboard screenshot and installer commands show intended UX—functional coverage varies by platform and may require local I2Pd/Firefox setup.

License: GPL-3.0 Python: 3.8+ Platform: Cross-Platform


🌟 Features

  • Interactive Dashboard - Clean terminal UI with real-time status updates
  • One-Command Setup - Automated Firefox profile creation and hardening
  • Maximum Privacy - WebRTC disabled, fingerprinting protection, no telemetry
  • I2P Optimized - Pre-configured for I2P network with proper proxy settings
  • Cross-Platform - Works on macOS, Linux, and Windows
  • Lightweight - Only ~5MB with 4 dependencies
  • Zero Cost - Completely free and open source

📸 Screenshots

Interactive Dashboard

╔══════════════════════════════════════════════════════════╗
║              I2P EASY MANAGER v0.1.0                     ║
╚══════════════════════════════════════════════════════════╝

┌─ Connection Status ────┐  ┌─ Network Info ──────────────┐
│ Status: ● CONNECTED    │  │ Known Peers: 156            │
│ Router: Running        │  │ Active Tunnels: 8           │
│ Proxy: 127.0.0.1:4444  │  │ ✓ Fully Integrated          │
└────────────────────────┘  └─────────────────────────────┘

[1] Start I2P              [5] View Configuration
[2] Stop I2P               [6] View Logs
[3] Restart I2P            [7] Reset Everything
[4] Launch I2P Browser     [8] Help & About

[Q] Quit

🚀 Quick Start

Installation (Future)

Until the first PyPI release, use the “Install from Source” steps in Development.

Prerequisites:

  • Python 3.8 or higher
  • Firefox browser
  • I2Pd daemon

Install I2P Manager:

pip install i2p-easy-manager

Run Interactive Dashboard:

i2p-manager

That's it! The dashboard will guide you through first-time setup.


📦 Installation Guide

macOS

# Install dependencies
brew install python3 i2pd firefox

# Install I2P Manager (Future)
pip3 install i2p-easy-manager

# Run
i2p-manager

Linux (Ubuntu/Debian)

# Install dependencies
sudo apt update
sudo apt install python3 python3-pip i2pd firefox

# Install I2P Manager (Future)
pip3 install i2p-easy-manager

# Run
i2p-manager

Linux (Arch)

# Install dependencies
sudo pacman -S python python-pip i2pd firefox

# Install I2P Manager (Future)
pip install i2p-easy-manager

# Run
i2p-manager

Windows

  1. Install Python 3.8+ (check "Add to PATH")
  2. Install Firefox
  3. Install I2Pd
  4. Open PowerShell or Command Prompt: (Future)
pip install i2p-easy-manager
i2p-manager

💻 Usage

Interactive Dashboard (Default)

Simply run i2p-manager to launch the interactive dashboard:

i2p-manager

Dashboard Controls:

  • Press 1-8 to select menu options
  • Press R to refresh status
  • Press Q to quit

Command-Line Interface

All dashboard functions are available as standalone commands:

# Initialize I2P profile (first time only)
i2p-manager init

# Start I2P and launch Firefox
i2p-manager start

# Check connection status
i2p-manager status

# Launch Firefox with I2P profile (if I2P already running)
i2p-manager browser

# Stop I2P daemon
i2p-manager stop

# Restart I2P daemon
i2p-manager restart

# View I2P router logs
i2p-manager logs
i2p-manager logs -f    # Follow logs in real-time

# Edit configuration
i2p-manager config

# Reset everything (removes profile and config)
i2p-manager reset

# Show help
i2p-manager --help

🔒 Security & Privacy

What's Protected

I2P Easy Manager applies maximum hardening to your Firefox profile:

Critical Protections:

  • WebRTC disabled - Prevents IP leaks through proxy
  • WebGL disabled - Prevents GPU fingerprinting
  • All DNS through proxy - No DNS leaks
  • No telemetry - Zero data sent to Mozilla
  • No safe browsing - No external lookups
  • Fingerprinting resistance - Makes your browser look generic

Privacy Features:

  • ✅ Third-party cookies blocked
  • ✅ Tracking protection (strict mode)
  • ✅ HTTPS-only mode enabled
  • ✅ Geolocation disabled
  • ✅ No prefetching or speculation

I2P Compatibility:

  • ✅ JavaScript enabled (required for I2P sites)
  • ✅ Canvas enabled (many sites need it)
  • ✅ Cookies allowed for .i2p domains
  • ✅ Connection optimization for I2P latency

What's NOT Protected

⚠️ Important:

  • Only the I2P Firefox profile is hardened
  • Other Firefox profiles are not affected
  • System traffic still uses regular internet
  • Other applications are not proxied

✅ Platform Compatibility Matrix

Feature macOS Linux Windows
Dashboard ✅ Full ✅ Full ✅ Full
I2Pd Management ✅ Brew ✅ Systemd ⚠️ Manual
Firefox Integration ✅ Full ✅ Full ✅ Full
Profile Hardening ✅ Full ✅ Full ✅ Full
Auto-start I2Pd ✅ Yes ✅ Yes ❌ No
Log Viewer ✅ Yes ✅ Yes ✅ Yes
Configuration ✅ Full ✅ Full ✅ Full

Legend:

  • ✅ Full support
  • ⚠️ Partial support (needs manual setup)
  • ❌ Not supported

❓ FAQ

Q: Is this a VPN?
A: No. This tool configures I2P, which is a separate anonymity network. I2P is different from VPNs and provides anonymity for specific services rather than encrypting all traffic.

Q: Can I use I2P with other browsers?
A: This tool specifically configures Firefox. You can manually configure other browsers, but this tool only manages Firefox profiles.

Q: What if I have multiple Firefox profiles?
A: This tool creates a dedicated i2p-secure profile. Your other profiles are not affected. They can coexist with the I2P profile.

Q: Is I2P legal?
A: I2P itself is legal. However, how you use it may have legal implications depending on your jurisdiction. Always comply with local laws.

Q: Can I use I2P on my phone?
A: This tool is for desktop/laptop. Mobile I2P is possible but not covered by this tool. Check the I2P website for mobile options.

Q: Will this make me completely anonymous?
A: No tool makes you completely anonymous. This tool helps, but proper anonymity requires understanding I2P, avoiding deanonymization attacks, and following best practices.

Q: Why is it slow?
A: I2P trades speed for anonymity. Latency is typically 2-3x higher than regular internet. This is by design to protect your identity.

Q: Can I contribute?
A: Yes! See CONTRIBUTING.md for guidelines.


🔐 Security

For security and privacy information, see SECURITY.md.

Key topics:

  • What Firefox hardening protects against
  • What this tool does NOT provide
  • Safe usage practices
  • Reporting security issues

📖 Documentation


⚙️ Configuration

Default Settings

Configuration is stored at:

  • macOS/Linux: ~/.config/i2p-manager/config.json
  • Windows: %APPDATA%\i2p-manager\config.json

Default configuration:

{
  "i2pd": {
    "host": "127.0.0.1",
    "http_port": 4444,
    "https_port": 4444,
    "socks_port": 4446,
    "console_port": 7070
  },
  "firefox": {
    "profile_name": "i2p-secure",
    "harden_with_arkenfox": true
  },
  "dashboard": {
    "refresh_interval": 5,
    "show_welcome": true
  }
}

Customization

Edit configuration:

i2p-manager config

Or manually edit the JSON file above.


🔧 Troubleshooting

I2Pd Won't Start

# Check if I2Pd is installed
which i2pd  # macOS/Linux
where i2pd  # Windows

# Try starting manually
# macOS (Apple Silicon)
/opt/homebrew/opt/i2pd/bin/i2pd --daemon
# macOS (Intel)
/usr/local/opt/i2pd/bin/i2pd --daemon
# Linux
sudo systemctl start i2pd
# Windows - run i2pd.exe from install directory

# Check logs
i2p-manager logs

Firefox Won't Launch

# Verify Firefox is installed
which firefox  # macOS/Linux
where firefox  # Windows

# Reinitialize profile
i2p-manager reset
i2p-manager init

Can't Access .i2p Sites

  1. Wait 10-30 minutes after first I2Pd start (network integration)
  2. Check peer count: Run i2p-manager status - need 50+ peers
  3. Visit console: http://127.0.0.1:7070 to verify I2P is working
  4. Try restarting: Run i2p-manager restart

Dashboard Display Issues

  • Ensure terminal window is at least 80x24 characters
  • Try using command-line mode instead: i2p-manager start

Permission Errors (Linux)

# Add your user to i2pd group (if it exists)
sudo usermod -a -G i2pd $USER
newgrp i2pd

🌐 Getting Started with I2P

First Connection

⏳ First time takes 10-30 minutes

When you first run I2P, the router needs to:

  1. Find other routers on the network
  2. Build encrypted tunnels
  3. Integrate into the network

This is normal and expected. Monitor progress:

i2p-manager status

I2P Sites to Try

Once connected (50+ peers), visit:

Understanding Peer Count

  • < 10 peers: Still connecting, wait longer
  • 10-50 peers: Integrating into network
  • 50+ peers: Fully integrated, ready to browse
  • 100+ peers: Excellent connectivity

🛠️ Development

Install from Source

# Clone repository
git clone https://github.com/tundra-node/i2p-easy-manager.git
cd i2p-easy-manager

# Create virtual environment
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# Install in editable mode with dev dependencies
pip install -e ".[dev]"

# Run
i2p-manager
# Or directly: python -m i2p_manager

Run Tests

pytest
pytest --cov=i2p_manager  # With coverage

Code Formatting

black i2p_manager/
ruff check i2p_manager/

Project Structure

i2p-easy-manager/
├── i2p_manager/          # Main package
│   ├── cli.py           # CLI interface
│   ├── dashboard.py     # Interactive TUI
│   ├── config.py        # Configuration
│   ├── firefox.py       # Firefox manager
│   ├── i2pd.py          # I2Pd manager
│   ├── commands/        # CLI commands
│   └── data/            # Static files (Arkenfox)
├── tests/               # Test suite
├── docs/                # Documentation
└── pyproject.toml       # Package config

🤝 Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Areas needing help:

  • Testing on different systems
  • Windows support improvements
  • Documentation improvements
  • Additional I2P site bookmarks
  • Translation to other languages

📚 Resources

I2P Network

Privacy & Security

Python Packaging


📋 Requirements

  • Python: 3.8 or higher
  • Firefox: Any recent version
  • I2Pd: 2.48 or higher
  • OS: macOS 11+, Linux (Ubuntu 20.04+, Arch, Fedora), Windows 10+

Python Dependencies:

  • click - CLI framework
  • rich - Terminal UI
  • requests - HTTP client
  • psutil - Process management

📄 License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

This ensures the project remains free and open source forever.


⚠️ Disclaimer

This tool configures existing software (Firefox and I2Pd). Users are responsible for understanding the legal implications of anonymous networks in their jurisdiction.

The developers assume no liability for misuse.

Use responsibly and respect others' privacy.


🙏 Acknowledgments

  • The I2P and I2Pd development teams
  • Arkenfox project for Firefox hardening
  • The privacy and security community
  • All contributors to this project

📬 Support


🌟 Star History

If you find this project useful, please consider giving it a star on GitHub!


Welcome to the Invisible Internet! 🚀

About

A lightweight, user-friendly tool that simplifies access to the I2P (Invisible Internet Project) network through automated I2Pd and Firefox configuration.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published