Skip to content

Zinvera/AnonIT

Repository files navigation

AnonIT Logo

AnonIT

🔐 Universal Text Encryption for Any Messenger

Release License MIT Downloads Stars Platform Windows Python 3.8+ AES-256-GCM

Encrypt any text with one hotkey — OR — run your own secure messenger server.
Works with WhatsApp, Discord, Telegram, Signal, Instagram DMs — any app. 100% Open Source.

Quick StartFeaturesInstallationSelf-Hosted MessengerSecurityFAQ


🎯 Why AnonIT?

Problem AnonIT Solution
❌ Messengers can read your messages ✅ End-to-end encryption YOU control
❌ Online encryption tools are sketchy ✅ 100% offline, open-source
❌ Encryption is complicated ✅ One hotkey: F8
❌ Keys stored insecurely ✅ Keys exist only in RAM, wiped on exit

Stop trusting third parties with your sensitive data. AnonIT gives you military-grade encryption (AES-256-GCM) that works on top of ANY messaging platform.


⚡ Quick Start

# Option 1: Download ready-to-use executable
# → https://github.com/Zinvera/AnonIT/releases

# Option 2: Run from source
pip install -r requirements.txt
python main.py

That's it! Enter your encryption key, select text anywhere, press F8.


✨ Features

🔑 One-Hotkey Encryption

  • Select text → Press F8 → Done
  • Plain text gets encrypted and auto-pasted
  • Encrypted text gets decrypted (shown in secure popup)

🌐 Universal Compatibility

Works with any application that supports text:

  • 💬 Messengers: WhatsApp, Telegram, Discord, Signal, Instagram DMs
  • 📧 Email: Gmail, Outlook, ProtonMail
  • 📝 Notes: Notion, Obsidian, OneNote
  • 💻 Anywhere: Browsers, text editors, any input field

🖥️ Modern Dark GUI

  • Clean PyQt6 interface
  • Manual encrypt/decrypt mode
  • System tray integration — runs silently in background

🔒 Zero-Trust Security

  • AES-256-GCM — Military-grade authenticated encryption
  • Argon2id — GPU-resistant key derivation (winner of Password Hashing Competition)
  • Memory-only keys — Never written to disk
  • Auto-wipe — Keys cleared when app closes

💬 Built-in Secure Messenger

  • Self-hosted server — Run your own infrastructure
  • End-to-end encrypted — Server never sees plaintext
  • No metadata logging — Zero IP/user tracking
  • Panic button — Instant wipe of all data
  • Docker support — Deploy in minutes

📦 Installation

Prerequisites

  • Windows 10/11
  • Python 3.8+ (for source installation)

Option 1: Executable (Recommended)

Download the latest .exe from Releases — no installation required.

Option 2: From Source

# Clone repository
git clone https://github.com/Zinvera/AnonIT.git
cd AnonIT

# Install dependencies
pip install -r requirements.txt

# Run
python main.py

Option 3: Build Executable

pip install pyinstaller
pyinstaller AnonIT.spec --clean
# Output: dist/AnonIT.exe

🖥️ Self-Hosted Messenger

AnonIT includes a complete secure messaging system. Host your own server — you control everything.

Why Self-Host?

Public Messengers AnonIT Self-Hosted
❌ Company controls servers ✅ YOU control the server
❌ Metadata logged ✅ Zero logging by design
❌ Trust third parties ✅ Trust no one but yourself
❌ Can be shut down ✅ Your infrastructure

Server Features

  • 🔐 End-to-end encryption — Server NEVER sees plaintext
  • 🚫 No IP logging — Privacy by design
  • Auto-expiry — Messages deleted after 72 hours
  • 🚨 Panic button — Instant wipe of all user data
  • 🐳 Docker ready — One command deployment
  • 🧅 Tor compatible — Run as hidden service

Quick Server Setup

Option 1: Docker (Recommended)

cd AnonIT-Server
docker-compose up -d

Option 2: Manual

cd AnonIT-Server
pip install -r requirements.txt
python server.py

Option 3: Linux Service

cd AnonIT-Server
sudo ./install.sh

Server Configuration

Variable Default Description
ANONIT_HOST 0.0.0.0 Bind address
ANONIT_PORT 8765 WebSocket port
ANONIT_DATA ./data Data directory
ANONIT_LOG_LEVEL INFO Log level

Production Deployment

With Nginx + TLS

server {
    listen 443 ssl;
    server_name your-domain.com;
    
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
    
    location / {
        proxy_pass http://127.0.0.1:8765;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 86400;
    }
}

As Tor Hidden Service

# Add to /etc/tor/torrc
HiddenServiceDir /var/lib/tor/anonit/
HiddenServicePort 8765 127.0.0.1:8765

Connect Client to Your Server

python main.py --server wss://your-domain.com
# or for Tor
python main.py --server ws://your-onion-address.onion:8765

🔧 How It Works

┌─────────────────────────────────────────────────────────────┐
│  1. Enter your secret key in AnonIT                         │
│  2. Select any text in any application                      │
│  3. Press F8                                                 │
│     ├─ Plain text?    → Encrypted & pasted back             │
│     └─ Encrypted?     → Decrypted & shown in popup          │
│  4. Share encrypted text via any messenger                  │
│  5. Recipient with same key presses F8 to decrypt           │
└─────────────────────────────────────────────────────────────┘

Encryption Flow

Your Message → Argon2id(Key) → AES-256-GCM → Base64 → Clipboard

Decryption Flow

Encrypted Text → Base64 → AES-256-GCM → Argon2id(Key) → Original Message

🛡️ Security

Cryptographic Standards

Component Algorithm Why
Encryption AES-256-GCM Authenticated encryption, NIST approved
Key Derivation Argon2id Winner of PHC, resistant to GPU/ASIC attacks
Encoding Base64 Safe for any text field

Security Guarantees

  • No network access — 100% offline operation
  • No key storage — Keys exist only in RAM
  • No telemetry — Zero data collection
  • Open source — Audit the code yourself
  • Memory wiping — Sensitive data cleared on exit

What AnonIT Does NOT Protect Against

  • Keyloggers on your system
  • Screen capture malware
  • Physical access to unlocked device
  • Weak passwords/keys

📋 Dependencies

Package Purpose
pycryptodome AES-256-GCM encryption
argon2-cffi Argon2id key derivation
keyboard Global F8 hotkey
pyperclip Clipboard operations
pystray System tray icon
Pillow Icon rendering
PyQt6 Modern GUI framework

❓ FAQ

Is this safer than WhatsApp's built-in encryption?

WhatsApp uses end-to-end encryption, but Meta controls the keys and implementation. With AnonIT, YOU control the encryption — even if WhatsApp is compromised, your messages remain encrypted with your personal key.

Can I use different keys for different contacts?

Yes! Simply change the key in the GUI before encrypting. Share different keys with different people for compartmentalized security.

What happens if I forget my key?

Messages encrypted with a lost key cannot be recovered. This is by design — there's no backdoor.

Does this work on Mac/Linux?

Currently Windows only for the client. The server runs on any platform (Linux recommended for production). Cross-platform client support is planned.

How do I set up my own server?

See the Self-Hosted Messenger section. The quickest way is Docker: cd AnonIT-Server && docker-compose up -d

Is the encryption quantum-resistant?

AES-256 is considered quantum-resistant for symmetric encryption. However, if quantum computing concerns you, use longer keys and stay updated on post-quantum cryptography developments.


🗺️ Roadmap

  • Core encryption/decryption
  • F8 hotkey integration
  • System tray support
  • Modern dark GUI
  • Self-hosted messenger server
  • Docker deployment
  • Tor hidden service support
  • Cross-platform support (Mac, Linux)
  • Multiple key profiles
  • File encryption
  • Mobile apps (Android/iOS)

🤝 Contributing

Contributions are welcome! Here's how:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Good First Issues

Look for issues labeled good first issue or help wanted.


📄 License

MIT License — Use it however you want.


⭐ Star History

If AnonIT helps you, consider giving it a star! It helps others discover the project.

Star History Chart


Built because copy-pasting into encryption websites felt sketchy.

Report BugRequest Feature

About

System-wide AES-256-GCM encryption utility with global hotkeys. Encrypt/decrypt text anywhere using F8. Features Argon2id key derivation, memory-only key storage, and a modern dark-themed GUI with system tray integration.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages