A decentralized encrypted file storage system built with Python for Windows 11. This project replicates the core functionality of Encryptum, combining AES-256 encryption, IPFS decentralized storage, and Model Context Protocol (MCP) integration for AI agents.
- π Military-Grade Encryption: AES-256 encryption with PBKDF2 key derivation
- π Decentralized Storage: IPFS network for resilient, distributed file storage
- π€ AI Agent Integration: Model Context Protocol (MCP) server for AI interactions
- π± Modern GUI: Clean, intuitive interface built with tkinter
- π Content Addressing: Unique Content IDs (CIDs) for file verification
- β‘ High Performance: Optimized for large files and batch operations
- π‘οΈ Zero-Knowledge: Passwords never stored or transmitted
- π File Management: Complete file lifecycle management
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β GUI Interface ββββββ Encryption ββββββ IPFS Storage β
β (tkinter) β β (AES-256) β β (Content IDs) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
βββββββββββββββββββββββββΌββββββββββββββββββββββββ
β
βββββββββββββββββββ
β MCP Server β
β (AI Integration)β
βββββββββββββββββββ
- Python 3.7+ - Download from python.org
- IPFS Desktop - Download from IPFS Docs
-
Clone or download the project files
# Create project directory mkdir encryptum_clone cd encryptum_clone # Copy all .py files to this directory
-
Create virtual environment
python -m venv venv venv\Scripts\activate # Windows # source venv/bin/activate # macOS/Linux
-
Install dependencies
pip install -r requirements.txt
-
Start IPFS Desktop
- Install and launch IPFS Desktop
- Ensure it's running (check system tray)
-
Run the application
python main.py
python main.pyFile Upload Process:
- Click "π Select File to Encrypt & Store"
- Choose your file (up to 100MB by default)
- Enter a strong encryption password
- File is encrypted and stored on IPFS
- Receive unique File ID and CID
File Download Process:
- Select file from the stored files list
- Click "π₯ Download & Decrypt"
- Enter the decryption password
- Choose save location
- File is retrieved and decrypted
python main.py --no-guiRuns only the MCP server for AI agent integration.
python main.py --help # Show all options
python main.py --ipfs-host 192.168.1.100 # Use remote IPFS node
python main.py --theme light # Use light theme
python main.py --log-level DEBUG # Enable debug loggingThe application includes a Model Context Protocol server that allows AI agents to interact with the storage system.
upload_encrypted_file(file_path, password)- Upload and encrypt filesretrieve_encrypted_file(file_id, password, output_path)- Download and decrypt fileslist_stored_files()- List all stored filesget_file_info(file_id)- Get detailed file informationdelete_file(file_id)- Delete files from storageget_system_status()- Check system health
-
Add to your Claude Desktop MCP configuration:
{ "mcpServers": { "encryptum": { "command": "python", "args": ["path/to/encryptum_clone/main.py", "--no-gui"] } } } -
Restart Claude Desktop to load the MCP server
# IPFS Settings
ENCRYPTUM_IPFS_HOST=127.0.0.1
ENCRYPTUM_IPFS_PORT=5001
ENCRYPTUM_GATEWAY_URL=https://ipfs.io/ipfs/
# Security Settings
ENCRYPTUM_PBKDF2_ITERATIONS=100000
ENCRYPTUM_MAX_FILE_SIZE_MB=100
# UI Settings
ENCRYPTUM_THEME=dark
ENCRYPTUM_LOG_LEVEL=INFOCreate encryptum_config.json:
{
"ipfs_host": "127.0.0.1",
"ipfs_port": 5001,
"theme": "dark",
"max_file_size_mb": 100,
"pbkdf2_iterations": 100000,
"auto_pin_files": true
}encryptum_clone/
βββ main.py # Main application entry point
βββ encryption.py # AES-256 encryption module
βββ ipfs_handler.py # IPFS integration module
βββ mcp_server.py # Model Context Protocol server
βββ gui_app.py # GUI application module
βββ config.py # Configuration management
βββ requirements.txt # Python dependencies
βββ README.md # This file
βββ logs/ # Application logs
βββ temp/ # Temporary files
βββ file_registry.json # File storage registry
- AES-256 Encryption: Industry-standard symmetric encryption
- PBKDF2 Key Derivation: 100,000+ iterations with random salt
- Content Addressing: Files verified by cryptographic hashes
- Zero-Knowledge Architecture: Passwords never stored
- Integrity Verification: Automatic file corruption detection
- Secure Deletion: Proper cleanup of temporary files
- Decentralized Storage: Files distributed across IPFS network
- Content IDs (CIDs): Unique identifiers for each file
- Gateway Access: Files accessible via public IPFS gateways
- Pinning Service: Files pinned for persistence
- Metadata Storage: Encrypted metadata stored separately
# Connect to remote IPFS node
python main.py --ipfs-host your-node-ip --ipfs-port 5001# Example: Upload multiple files via MCP
import json
from mcp_client import MCPClient
client = MCPClient()
for file_path in file_list:
result = await client.upload_encrypted_file(file_path, password)
print(f"Uploaded: {json.loads(result)['cid']}")# Share file via CID
cid = "QmYourFileHashHere"
gateway_url = f"https://ipfs.io/ipfs/{cid}"
# Share this URL with others# Check IPFS status
ipfs version
ipfs id
# Restart IPFS daemon
ipfs daemon# Reinstall dependencies
pip install --upgrade -r requirements.txt
# Check Python version
python --version # Should be 3.7+"Failed to connect to IPFS"
- Ensure IPFS Desktop is running
- Check if port 5001 is available
- Try restarting IPFS daemon
"Encryption failed"
- Check file permissions
- Ensure file is not empty
- Verify file size is under limit
"Import Error"
- Activate virtual environment
- Install missing dependencies
- Check Python path
- File Size Limit: 100MB (configurable)
- Encryption Speed: ~50MB/s on modern hardware
- Upload Speed: Depends on IPFS network connectivity
- Memory Usage: ~50MB base + file size during operations
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
# Install development dependencies
pip install -r requirements.txt
pip install pytest black flake8
# Run tests
pytest
# Format code
black .
# Lint code
flake8 .This project is open source and available under the MIT License.
- IPFS - InterPlanetary File System
- Cryptography Library - Python cryptographic recipes
- Model Context Protocol - Anthropic's MCP standard
- Encryptum - Original inspiration
For support and questions:
- Check the troubleshooting section
- Review the logs in
logs/encryptum.log - Open an issue on the project repository
- Check IPFS documentation for network issues
- Web interface for browser access
- Mobile app support
- Enhanced file sharing features
- Cloud pinning service integration
- Multi-user support with access control
- File versioning and history
- Backup and restore functionality
- Performance optimizations
- Enhanced security auditing
Built with β€οΈ for the decentralized web