Skip to content

HautlyS/Vortex

Repository files navigation

Vortex

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.

📋 Dependências do Sistema

Ubuntu/Debian

sudo apt update
sudo apt install build-essential pkg-config libssl-dev

Fedora/RHEL

sudo dnf install gcc pkg-config openssl-devel

Arch Linux

sudo pacman -S base-devel pkg-config openssl

macOS

brew install pkg-config openssl

🔐 Segurança

  • 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)

🗜️ Compressão

  • 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

🌐 Rede

  • Iroh - P2P descentralizado com DHT
  • Blobs - Transferência eficiente de arquivos
  • Tickets - Compartilhamento via links
  • Discovery - N0 discovery protocol

📝 Sync

  • CRDT-like - Operações comutativas
  • Versioning - Clock lógico por autor
  • Merge - Resolução automática de conflitos
  • Real-time - Sync incremental

🎨 Frontend

  • Vue 3 - Composition API
  • AMOLED - Pure black design
  • Glassmorphism - Backdrop blur effects
  • Minimal - Poucos elementos, máxima clareza
  • Futuristic - Gradientes purple, animações suaves

🚀 Quick Start

# 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 Targets

./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

🔌 Tor Support

# Build com Tor
cargo build --release --features tor -p vortex-desktop

# Ou usando script
./build.sh linux

# Testes Tor (requer rede)
./build.sh test-tor

Ver TOR_GUIDE.md para detalhes completos.

🧪 Tests

cargo test --workspace --lib

44 testes cobrindo:

  • Crypto (15 tests)
  • Compression (17 tests)
  • Sync (8 tests)
  • Network (4 tests)

⚡ Benchmarks

cargo bench -p vortex-shared

Suítes:

  • Compression levels (1-22)
  • Segmented vs single
  • LZ4 vs Zstd
  • Data types (uniform, random, text)
  • Roundtrip performance

📊 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+

🔧 Tech Stack

Backend

  • Rust 1.83+
  • Tokio async runtime
  • Iroh P2P
  • Arti Tor client
  • pqcrypto ML-KEM

Frontend

  • Vue 3.5+
  • TypeScript 5.7+
  • TailwindCSS 3.4+
  • Vite 6.0+
  • Pinia state management

📁 Structure

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/

🔑 Features

  • 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

📝 License

MIT

🤝 Contributing

Contributions welcome! Areas:

  • Tor transport optimization
  • Mobile UI
  • Desktop packaging
  • Documentation
  • Tests

🔗 Links

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published