Skip to content

2RGOOD/Vaultex-VPN

Repository files navigation

VaultexVPN

No-Log VPN Sistemi - Tüm veriler RAM'de tutulur, disk yazımı sıfır.

🚀 Hızlı Başlangıç

Gereksinimler

  • Docker & Docker Compose
  • Make (opsiyonel, kolaylık için)

Yerel Ortamda Çalıştırma

1. Ortam Değişkenlerini Yapılandır

.env dosyası zaten oluşturulmuş durumda. Gerekirse düzenleyin:

# Yerel test için varsayılan ayarlar yeterli
cat .env

2. Projeyi Derle ve Çalıştır

# Hızlı derleme (önerilen)
make build-fast

# Veya cache'siz tam derleme
make build

# Sunucuyu başlat
make deploy

3. Test Et

Tarayıcıda açın:

http://localhost:8443

API sağlık kontrolü:

make test

Manuel Komutlar

Docker Compose ile doğrudan çalıştırma:

# Frontend hazırla
mkdir -p backend/static
cp frontend/index.html backend/static/index.html

# Build ve çalıştır
docker compose up --build

Kullanılabilir Komutlar

make build        # Tam derleme (cache'siz)
make build-fast   # Hızlı derleme (cache ile)
make deploy       # Derleme + dağıtım
make stop         # Durdur
make restart      # Yeniden başlat
make status       # Durum kontrolü
make test         # API testleri
make clean        # Temizlik

📁 Proje Yapısı

vaultex-vpn/
├── backend/              # Go backend
│   ├── cmd/             # Ana uygulama
│   ├── internal/        # İç paketler
│   │   ├── handlers/    # HTTP handler'lar
│   │   ├── middleware/  # Middleware'ler
│   │   ├── models/      # Veri modelleri
│   │   ├── store/       # RAM-based storage
│   │   ├── vpn/         # VPN yönetimi
│   │   └── crypto/      # Kriptografi
│   ├── Dockerfile       # Backend container
│   └── go.mod           # Go bağımlılıkları
├── frontend/            # Web UI
│   └── index.html       # Tek sayfa uygulama
├── infrastructure/      # Deployment scriptleri
├── docker-compose.yml   # Container orkestrasyon
├── Makefile            # Build komutları
└── .env                # Ortam değişkenleri

🔒 Güvenlik Özellikleri

  • No-Log: Tüm veriler RAM'de (tmpfs), disk yazımı yok
  • Otomatik Temizlik: Container yeniden başlatıldığında tüm veriler silinir
  • Rate Limiting: API istekleri sınırlandırılmış
  • Güvenlik Header'ları: XSS, clickjacking koruması
  • Token-based Auth: Güvenli kimlik doğrulama

🌐 API Endpoint'leri

Genel

  • GET /api/v1/health - Sağlık kontrolü

Hesap Yönetimi

  • POST /api/v1/account/generate - Yeni hesap oluştur
  • POST /api/v1/account/auth - Kimlik doğrulama

VPN İşlemleri (Auth Gerekli)

  • GET /api/v1/servers - Sunucu listesi
  • POST /api/v1/vpn/connect - VPN bağlantısı başlat
  • POST /api/v1/vpn/disconnect - Bağlantıyı kes
  • GET /api/v1/vpn/status - Bağlantı durumu

Abonelik

  • GET /api/v1/subscription/status - Abonelik durumu

🛠️ Geliştirme

Log'ları Görüntüleme

docker logs vaultex-vpn -f

Container'a Bağlanma

docker exec -it vaultex-vpn sh

Temizlik

make clean

⚠️ Önemli Notlar

  1. macOS Desteği: ✅ Modern VPN teknolojisi sayesinde macOS'ta tam çalışır. Native utun interface desteği ile gerçek VPN tüneli oluşturulur.

  2. Üretim Ortamı: Production deployment için:

    • SN_PUBLIC_IP değişkenini gerçek sunucu IP'si ile değiştirin
    • TLS sertifikası ekleyin (SN_TLS_CERT ve SN_TLS_KEY)
    • SN_CORS_ORIGIN değişkenini spesifik domain ile sınırlayın
    • Linux sunucu kullanın (AWS/DigitalOcean/Hetzner)
    • Firewall kurallarını yapılandırın
  3. Port Çakışması: 8443 portu kullanımdaysa docker-compose.yml dosyasında değiştirin.

  4. Güvenlik:

    • Askeri seviye şifreleme: ChaCha20-Poly1305 (256-bit)
    • Perfect Forward Secrecy aktif
    • DoS koruması ve rate limiting dahili
    • No-log: Tüm veriler RAM'de (tmpfs)

📝 Lisans

Bu proje eğitim amaçlıdır.

About

vpn

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors