salvacybersec dea1b874b5 feat: Send actual test email instead of just verifying connection
- testConnection now sends a real test email to the configured Gmail address
- User receives actual email confirmation that setup works
- Email contains success message and system info
2025-11-10 19:31:42 +03:00

Oltalama Test Yönetim Paneli

Güvenlik farkındalık eğitimleri için basit ve etkili phishing test yönetim sistemi.

Özellikler

  • 🏢 Şirket Bazlı Yönetim - Her şirket için ayrı tracking
  • 📧 Gmail Entegrasyonu - App Password ile kolay mail gönderimi
  • 💬 Telegram Bildirimleri - Gerçek zamanlı tıklama bildirimleri
  • 📊 Detaylı İstatistikler - IP, konum, cihaz bilgileri
  • 💾 SQLite - Tek dosya, kolay yedekleme
  • 🎨 Modern UI - React ile responsive admin paneli
  • ✉️ Mail Şablonları - HTML editör ve önizleme paneli

🚀 Hızlı Başlangıç

Backend TAMAMLANDI

cd backend
npm install  # ✅ Yapıldı
npm run db:migrate  # ✅ Yapıldı
npm run db:seed  # ✅ Yapıldı
npm run dev  # ✅ Çalışıyor (background)

API: http://localhost:3000
Default Admin: admin / admin123

Frontend TAMAMLANDI

cd frontend
npm install  # ✅ Yapıldı
npm run dev  # ✅ Çalışıyor (background)

UI: http://localhost:5173
Default Admin: admin / admin123

📂 Proje Yapısı

oltalama/
├── backend/              ✅ TAMAMLANDI (100%)
│   ├── src/
│   │   ├── controllers/  ✅ 7 dosya (auth, company, token, vb.)
│   │   ├── models/       ✅ 6 model + ilişkiler
│   │   ├── routes/       ✅ 7 route dosyası
│   │   ├── services/     ✅ Mail, Telegram, Token
│   │   ├── utils/        ✅ GeoIP, User-Agent, Token Generator
│   │   └── app.js        ✅
│   └── database/         ✅ oltalama.db (3 şirket, 2 şablon)
├── frontend/             ✅ TAMAMLANDI (100%)
│   ├── src/
│   │   ├── services/     ✅ 5 servis (auth, company, token, stats, template)
│   │   ├── context/      ✅ Auth context
│   │   ├── pages/        ✅ 6 sayfa (Login, Dashboard, Companies, Tokens, Templates, Settings)
│   │   └── components/   ✅ Layout + Navigation
└── devpan.md             ✅ Detaylı plan

Backend Tamamlandı (Faz 1-7)

1 Authentication

  • Session-based auth
  • Login/Logout endpoints
  • bcrypt password hashing
  • Auth middleware

2 Company Management

  • CRUD operations
  • Company stats (auto-update)
  • Company tokens listing
  • Validators & routes

3 Token Management

  • Unique token generation (crypto)
  • Create with/without mail
  • Company stats auto-update
  • Click history

4 Tracking Endpoint

  • /t/:token public endpoint
  • IP address capture
  • GeoIP location (geoip-lite)
  • User-Agent parsing
  • Landing page redirect

5 Telegram & Mail

  • Telegram real-time notifications
  • Gmail + Nodemailer integration
  • Handlebars template rendering
  • Test buttons in settings

6 Templates & Settings

  • Mail templates (2 seeded)
  • Template preview
  • Settings CRUD
  • Gmail/Telegram config

7 Stats & Analytics

  • Dashboard stats
  • Recent clicks
  • Company-based stats
  • Click logs with full details

📡 API Endpoints (35+)

Backend API çalışıyor: http://localhost:3000

✅ /api/auth/*           - 4 endpoints
✅ /api/companies/*      - 7 endpoints  
✅ /api/tokens/*         - 8 endpoints
✅ /api/templates/*      - 3 endpoints
✅ /api/settings/*       - 5 endpoints
✅ /api/stats/*          - 3 endpoints
✅ /t/:token             - Public tracking
✅ /health               - Health check

🗄️ Database (SQLite)

Lokasyon: backend/database/oltalama.db

6 Tablo - Tamamen İlişkili:

  • companies (3 örnek: Türk Telekom, İş Bankası, PTT)
  • tracking_tokens (company_id FK)
  • click_logs (IP, GeoIP, User-Agent)
  • mail_templates (2 şablon: Banka, E-Devlet)
  • settings (Gmail, Telegram)
  • admin_user (admin/admin123)

🧪 Backend Test

# Health check
curl http://localhost:3000/health

# Login
curl -X POST http://localhost:3000/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"admin123"}'

# Get companies
curl http://localhost:3000/api/companies

# Get dashboard stats
curl http://localhost:3000/api/stats/dashboard

📊 Durum

Backend: 100% Tamamlandı (37 dosya)
Frontend: 100% Tamamlandı (15 dosya)
Dokümantasyon: 4 dosya (README.md, devpan.md, KULLANIM.md, QUICKSTART.md)
Toplam Kaynak Kod: 58 dosya
Toplam Satır: 6677+ satır
Toplam İlerleme: 100% Production Ready

Tamamlanan Frontend Sayfaları

Core Pages:

  • Login (Session-based auth)
  • Dashboard (Stats, recent clicks)
  • Companies (CRUD, grid view + detail)
  • Tokens (Create & send, detail & history)
  • Mail Şablonları (HTML editör + önizleme)
  • Settings (Gmail, Telegram config)

Components:

  • Layout (Sidebar, header, mobile responsive)
  • Auth Context (Global auth state)
  • API Services (5 services)

🚀 Proje Hazır!

Sistem kullanıma hazır. Gmail ve Telegram ayarlarını yaparak phishing testlerinizi başlatabilirsiniz.

📚 Dokümantasyon

  • Ana Doküman: README.md (bu dosya)
  • Hızlı Başlangıç: QUICKSTART.md (5 dakika)
  • Kullanım Kılavuzu: KULLANIM.md 📖 (Detaylı)
  • Development Plan: devpan.md 🏗️ (Teknik detay)
  • Backend API: backend/README.md
  • Frontend Guide: frontend/README.md
  • Gmail Setup: devpan.md içinde
  • Telegram Setup: devpan.md içinde

⚠️ Güvenlik Uyarısı

Bu sistem yalnızca yasal ve etik phishing testleri için tasarlanmıştır. Kötü niyetli kullanım yasaktır.


Versiyon: 1.0.0
Durum: Production Ready
Son Güncelleme: Backend ve Frontend tamamlandı - Sistem kullanıma hazır!

Description
No description provided
Readme 687 KiB
Languages
JavaScript 87.9%
Shell 9.2%
HTML 1.9%
Dockerfile 0.6%
CSS 0.4%