Post-Quantum Secure P2P File Sharing over Tor
Vortex é uma aplicação P2P descentralizada com criptografia pós-quântica, compressão otimizada e suporte opcional a Tor.
sudo apt update
sudo apt install build-essential pkg-config libssl-devsudo dnf install gcc pkg-config openssl-develsudo pacman -S base-devel pkg-config opensslbrew install pkg-config openssl- ML-KEM-1024 (Kyber) - Post-quantum key encapsulation
- X25519 - Classical elliptic curve
- ChaCha20-Poly1305 - Authenticated encryption
- Hybrid KEM - Combina PQ + classical para máxima segurança
- Tor - Anonimato opcional (feature flag)
- Zstd - Níveis 1-22, async streaming
- Segmented - Compressão paralela (64KB chunks)
- LZ4 - Ultra-rápido para real-time
- Adaptive - Escolhe melhor algoritmo por contexto
- Iroh - P2P descentralizado com DHT
- Blobs - Transferência eficiente de arquivos
- Tickets - Compartilhamento via links
- Discovery - N0 discovery protocol
- CRDT-like - Operações comutativas
- Versioning - Clock lógico por autor
- Merge - Resolução automática de conflitos
- Real-time - Sync incremental
- Vue 3 - Composition API
- AMOLED - Pure black design
- Glassmorphism - Backdrop blur effects
- Minimal - Poucos elementos, máxima clareza
- Futuristic - Gradientes purple, animações suaves
# Build (sem Tor)
./build.sh all
# Build com Tor
cargo build --release --features tor
# Run tests
./build.sh test
# Run benchmarks
./build.sh bench./build.sh linux # Desktop library
./build.sh deb # .deb package
./build.sh appimage # AppImage
./build.sh web # Vue frontend
./build.sh packages # .deb + AppImage
./build.sh all # Everything# Build com Tor
cargo build --release --features tor -p vortex-desktop
# Ou usando script
./build.sh linux
# Testes Tor (requer rede)
./build.sh test-torVer TOR_GUIDE.md para detalhes completos.
cargo test --workspace --lib44 testes cobrindo:
- Crypto (15 tests)
- Compression (17 tests)
- Sync (8 tests)
- Network (4 tests)
cargo bench -p vortex-sharedSuítes:
- Compression levels (1-22)
- Segmented vs single
- LZ4 vs Zstd
- Data types (uniform, random, text)
- Roundtrip performance
| Operation | Time | Ratio |
|---|---|---|
| LZ4 compress 100KB | ~5ms | 2-3x |
| Zstd-3 compress 100KB | ~10ms | 5-10x |
| Zstd-10 compress 100KB | ~20ms | 10-20x |
| Segmented 5MB | ~50ms | 100x+ |
- Rust 1.83+
- Tokio async runtime
- Iroh P2P
- Arti Tor client
- pqcrypto ML-KEM
- Vue 3.5+
- TypeScript 5.7+
- TailwindCSS 3.4+
- Vite 6.0+
- Pinia state management
vortex/
├── shared/ # Core Rust library
│ ├── src/
│ │ ├── crypto/ # PQ crypto
│ │ ├── compress/ # Compression
│ │ ├── net/ # P2P + Tor
│ │ ├── sync/ # CRDT
│ │ └── app.rs # Crux core
│ └── benches/ # Benchmarks
├── shell-desktop/ # Platform bridge
└── web/ # Vue frontend
├── src/
│ ├── components/ # UI components
│ ├── stores/ # Pinia stores
│ └── styles.css # AMOLED theme
└── public/
- Post-quantum cryptography
- Hybrid key exchange
- Segmented compression
- P2P file sharing
- CRDT document sync
- AMOLED UI
- Glassmorphism design
- Tor integration (optional)
- .deb packages
- AppImage packages
- Mobile apps
- Desktop apps
MIT
Contributions welcome! Areas:
- Tor transport optimization
- Mobile UI
- Desktop packaging
- Documentation
- Tests