Deltasafe, yerel ağ (LAN) üzerinde dosyaları güvenli ve kullanıcı dostu bir şekilde senkronize etmek için tasarlanmış, Rust ile geliştirilmiş modern bir komut satırı aracıdır.
🎯 Artık karmaşık hex anahtarlar yok! Basit şifreler kullanın: --password "MyPassword123"
🔍 Otomatik sunucu keşfi! Manuel IP girmeye gerek yok: --auto
🤖 Akıllı varsayılanlar! Minimal parametre ile çalışır: deltasafe server
AES-256 şifrelemesi ile verilerinizin gizliliğini ve bütünlüğünü sağlarken, kullanım kolaylığından ödün vermez.
- AES-256-CBC Şifreleme: Endüstri standardı şifreleme ile maksimum güvenlik
- PBKDF2 Anahtar Türetme: Basit şifrelerden güvenli anahtarlar üretir
- BLAKE3 Hash Doğrulaması: Dosya bütünlüğü garantisi
- Rastgele IV: Her chunk için benzersiz initialization vector
- Basit Şifre Sistemi: Karmaşık hex anahtarlar yerine "MyPassword123"
- Otomatik Sunucu Keşfi: LAN'da sunucuları otomatik bulur
- Akıllı Varsayılanlar: Minimal parametre ile çalışır
- Progress Tracking: Gerçek zamanlı transfer ilerlemesi
- Chunk-based Transfer: 4KB parçalar ile optimal aktarım
- Paralel Bağlantı: Sunucu birden fazla istemciyi destekler
- Async/Await: Modern Rust async programlama
- Dizin Yapısı Korunur: Klasör hiyerarşisi aynen aktarılır
Deltasafe'i kullanabilmek için sisteminizde Rust kurulu olması gerekmektedir.
-
Rust Kurulumu: Eğer Rust kurulu değilse, aşağıdaki komut ile
rustup'ı kurabilirsiniz:curl --tlsv1.2 -sSf https://sh.rustup.rs | shKurulumdan sonra, Rust araç zincirini PATH'inize eklemek için terminalinizi yeniden başlatmanız veya aşağıdaki komutu çalıştırmanız gerekebilir:
source $HOME/.cargo/env
-
Projeyi Klonlama:
git clone https://github.com/your-username/deltasafe.git # Kendi repo adresinizi buraya ekleyin cd deltasafe
-
Bağımlılıkları Yükleme ve Derleme:
cargo build --release
Bu komut, projenin bağımlılıklarını indirir ve optimize edilmiş bir çalıştırılabilir dosya oluşturur. Çalıştırılabilir dosya
target/release/deltasafekonumunda bulunacaktır.
Deltasafe artık kullanıcı dostu hale geldi! Karmaşık hex anahtarlar yerine basit şifreler kullanabilir, sunucuları otomatik keşfedebilirsiniz.
Seçenek 1: Basit Şifre (Önerilen)
--password "MySecretPassword123"Seçenek 2: Manuel Hex Anahtar (İleri Seviye)
--key 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdefSeçenek 3: Otomatik Geçici Anahtar
# Hiç parametre vermezseniz otomatik anahtar üretilir
deltasafe server # Geçici anahtar gösterilirLAN'daki mevcut Deltasafe sunucularını otomatik olarak keşfedin:
./target/release/deltasafe discoverBasit Kullanım (Önerilen):
./target/release/deltasafe server --password "MyPassword123"Gelişmiş Kullanım:
./target/release/deltasafe server --address 0.0.0.0:12345 --password "MyPassword123"Otomatik Mod:
./target/release/deltasafe server
# Otomatik IP, port ve geçici anahtar üretirOtomatik Sunucu Keşfi (Önerilen):
# Kullanıcı seçimi ile (birden fazla sunucu varsa)
./target/release/deltasafe sync --source ./my_folder --auto --password "MyPassword123"
# Otomatik seçim (kullanıcı etkileşimi olmadan)
./target/release/deltasafe sync --source ./my_folder --auto --auto-select --password "MyPassword123"Manuel Hedef Belirleme:
./target/release/deltasafe sync --source ./my_folder --target 192.168.1.100:12345 --password "MyPassword123"Hex Anahtar ile (İleri Seviye):
./target/release/deltasafe sync --source ./my_folder --target 192.168.1.100:12345 --key 0123456789abcdef...--source: Senkronize edilecek kaynak klasör--target: Hedef sunucu IP:port (opsiyonel, --auto ile otomatik)--auto: Otomatik sunucu keşfi--auto-select: Birden fazla sunucu varsa otomatik seç (etkileşim olmadan)--password: Basit şifre (önerilen)--key: 64 karakterlik hex anahtar (ileri seviye)--address: Sunucu adresi (opsiyonel, otomatik tespit)
Projeyi test etmek için:
# Unit testleri çalıştır
cargo test
# Belirli bir test çalıştır
cargo test test_file_hash_calculation
# Test çıktısını detaylı göster
cargo test -- --nocapture- AES-256-CBC şifreleme ile maksimum güvenlik
- PBKDF2 anahtar türetme ile basit şifre desteği
- BLAKE3 hash doğrulaması ile dosya bütünlüğü
- 4KB chunk transfer ile optimal performans
- Async/await ile modern Rust mimarisi
# Terminal 1: Sunucu başlat
deltasafe server --password "basit123"
# Terminal 2: Dosya gönder (kullanıcı seçimi ile)
deltasafe sync --source ./documents --auto --password "basit123"
# Veya otomatik seçim (etkileşim olmadan)
deltasafe sync --source ./documents --auto --auto-select --password "basit123"# Önce keşif yap
deltasafe discover --timeout 10
# Manuel hedef ile gönder
deltasafe sync --source ./folder --target 192.168.1.50:12345 --key 0123...cdef# Sabit sunucu adresi
deltasafe server --address 0.0.0.0:12345 --password "CompanySecret2024"
# Toplu dosya transferi
deltasafe sync --source ./shared_files --target server.company.local:12345 --password "CompanySecret2024"Projenin geliştirilmesine katkıda bulunmak isterseniz, lütfen bir pull request açmaktan çekinmeyin. Her türlü katkı memnuniyetle karşılanır!
Bu proje MIT Lisansı altında lisanslanmıştır. Daha fazla bilgi için LICENSE dosyasına bakınız.