MrCoolice/golgesiber-dashboard
GitHub: MrCoolice/golgesiber-dashboard
Stars: 0 | Forks: 0
# GölgeSiber Komuta Merkezi
GölgeSiber Dashboard, siber güvenlik ekipleri, analistler ve teknoloji meraklıları için tasarlanmış, modüler ve "siberpunk" temalı bir komuta merkezidir. Uygulamaları kategorize etmenizi, VIP modüller (OSINT, Halka Arz, Balina Radarı vb.) üzerinden anlık istihbarat akışı sağlamanızı olanaklı kılar.
## 🚀 Özellikler
- **Siberpunk Cam (Glassmorphism) Tasarım:** Karanlık tema ve neon renkler.
- **Çoklu Kullanıcı (Tenant Isolation):** Her kullanıcının verisi (linkler, taglar, widget ayarları) `data/` klasörü altında kendine özel bir JSON dosyasında (`_username.json`) tutulur.
- **Widget Market:** Yöneticiler veya kullanıcılar istedikleri istihbarat widget'larını açıp kapatabilir.
- **RSS İstihbarat Havuzu (Aggregator):** Birden fazla Türkçe siber güvenlik haber kaynağından veri çekip güncel olarak gösterir.
- **Whatsapp Entegrasyonu:** Kullanıcı bilgilerini anında Whatsapp üzerinden tek tıkla iletme.
## 🔧 Kurulum (How to Install)
### Gereksinimler
- Node.js (v16 veya üstü önerilir)
- npm veya yarn
- (Opsiyonel) Canlı yayına almak için PM2 ve Nginx/Apache
### Adım Adım Kurulum
1. **Projeyi Klonlayın:**
git clone https://github.com/MrCoolice/golgesiber-dashboard.git
cd golgesiber-dashboard
2. **Bağımlılıkları Yükleyin:**
Hem ana klasörde (React Frontend) hem de `server/` klasöründe (Node.js Backend) paketleri kurmalısınız:
npm install
cd server && npm install && cd ..
3. **Geliştirme Modunda Çalıştırma (Local Environment):**
- **Arka plan (Backend) için:**
cd server
node server.js
*(Backend `http://localhost:3001` adresinde çalışacaktır.)*
- **Ön yüz (Frontend) için:**
npm run dev
*(Frontend genellikle `http://localhost:5173` adresinde çalışır.)*
4. **Canlı Ortam (Production) Kurulumu (Ubuntu/Linux):**
Ön yüzü derleyip sunucu klasörüne kopyalamanız gerekir:
# Arayüzü derle
npm run build
# Çıkan dosyaları web sunucunuza (örneğin nginx) taşıyın
rm -rf /var/www/html/*
cp -r dist/* /var/www/html/
# Arka planı PM2 ile sürekli çalışır hale getirin
cd server
pm2 start server.js --name "golge-admin"
## 💡 Kullanım Kılavuzu (User Manual)
### 👨💻 Yönetici (Admin/Dev) Kılavuzu
Sisteme tam erişimi olan ve "admin" rolüne sahip kullanıcılar için geçerlidir.
1. **İlk Giriş:** Sisteme ilk kez girdiğinizde varsayılan yönetici hesabı ile giriş yapabilirsiniz:
- Kullanıcı Adı: `admin`
- Şifre: `admin123` *(Giriş yaptıktan sonra şifrenizi mutlaka değiştirin!)*
2. **Sistem Yönetimi:** Sol menüdeki çark (⚙️) ikonuna tıklayarak yönetim paneline ulaşın.
3. **Uygulama (Link) ve Sayfa Ekleme:**
- Yönetim panelinde **"Uygulamalar"** sekmesine gelin.
- **İsim** (Örn: Kali Linux İndir), **URL** (Örn: https://kali.org) ve **Etiket** (Tag) girerek yeni bir sayfa kısa yolu oluşturun.
- Seçtiğiniz etiketler ana sayfada filtreleme menüsü olarak belirecektir.
4. **İkonların Çekilmesi (Icon Fetching):**
- Sisteme bir URL eklediğinizde, arka plandaki bot otomatik olarak o sitenin `favicon.ico`, `apple-touch-icon` veya meta etiketlerini tarayarak logonun yüksek çözünürlüklü halini çekmeye çalışır.
- Eğer bot logoyu bulamazsa veya site engellerse, manuel olarak bilgisayarınızdan o uygulamaya ait `.png` formatında bir ikon yükleyebilirsiniz.
5. **Finansal Varlık Ekleme:**
- Yönetim panelindeki **"Finans"** sekmesine gidin.
- Takip etmek istediğiniz varlığın Yahoo Finance kodunu girin (Örn: Apple için `AAPL`, Bitcoin için `BTC-USD`, Aselsan için `ASELS.IS`).
- Sistem otomatik olarak canlı fiyatı, günlük değişimi ve 7 günlük grafik verisini çekecektir.
6. **Kullanıcı Yönetimi ve WhatsApp:**
- **"Kullanıcılar"** sekmesinden yeni hesaplar (Tenant) açabilirsiniz.
- Oluşturduğunuz kullanıcının karşısındaki WhatsApp ikonuna tıklayarak, sisteme giriş linkini ve şifresini tek tıkla kullanıcının telefonuna gönderebilirsiniz.
### 👤 Kullanıcı (User) Kılavuzu
Yalnızca kendi verilerini yönetebilen normal kullanıcılar için geçerlidir.
1. **Giriş:** Yöneticinizin size ilettiği kullanıcı adı ve şifre ile giriş yapın.
2. **Kişiselleştirme (Tenant Isolation):**
- Eklediğiniz tüm uygulamalar, linkler ve finansal varlıklar *sadece sizin tarafınızdan* görülür. Başka hiçbir kullanıcı sizin verilerinizi göremez (Admin dahil).
3. **Kendi Uygulamalarınızı Ekleme:**
- Yönetim (⚙️) menüsüne girin. Burada sadece kendi eklediğiniz linkleri göreceksiniz. Sık kullandığınız siteleri URL'leri ile birlikte ekleyin.
4. **Widget Market:**
- "WİDGET MARKET" sekmesinden ana sayfada görmek istediğiniz VIP Modülleri (Halka Arz, Balina Radarı, RSS Haber Akışı vb.) dilediğiniz gibi açıp kapatabilirsiniz.
- Seçimleriniz sadece sizin ekranınızı etkiler.
## ⚠️ Güvenlik Uyarıları
**ÖNEMLİ:** Bu projeyi canlıya almadan önce aşağıdaki güvenlik açıklarını kapatmanız şiddetle tavsiye edilir:
1. `server.js` içerisindeki JWT gizli anahtarı (`JWT_SECRET`) varsayılan olarak `golgesiber_super_secret_key_2026` olarak ayarlanmıştır. Bunu `.env` dosyası oluşturarak bir çevre değişkenine (Environment Variable) taşıyın.
2. `server.js` içerisindeki varsayılan admin şifresi (`admin123`) kaynak kodda görünmektedir. İlk girişten sonra yönetim panelinden admin şifresini derhal değiştirin.
## 🛡️ Güvenlik Bildirimi (Vulnerability Reporting)
Bu proje sürekli olarak güvenlik testlerinden (Rate Limiting, XSS/Helmet, Tenant Isolation) geçirilmektedir. Ancak, eğer kaynak kodda veya canlı sistemde herhangi bir **siber güvenlik zafiyeti (vulnerability)** bulursanız, lütfen bunu public olarak (Issues sekmesinden) paylaşmak yerine doğrudan depo sahibine (Owner) özel mesaj / mail yoluyla veya **"Security Advisory"** bölümünden kapalı bilet açarak bildiriniz. Katkılarınız için şimdiden teşekkür ederiz!
## ❓ Olası Problemler ve Çözümleri (Troubleshooting)
### 1. Sistem Açıldığında "Bembeyaz Ekran" (Blank Screen) Geliyor
**Neden:** Sunucunun `.env` dosyasındaki `JWT_SECRET` şifresi değiştirildiğinde, tarayıcınızda kalan eski oturum (token) geçersiz hale gelir. Frontend API'den veri yerine '401 Unauthorized' hatası aldığı için ekrana çizim yapamaz.
**Çözüm:**
- Tarayıcınızda Geliştirici Seçeneklerini (F12) açın.
- **Application > Local Storage** sekmesine gidin.
- Oradaki `golgeToken` ve `golgeUser` anahtarlarını silip sayfayı yenileyin. Yeni şifrenizle giriş yaptığınızda düzelecektir.
### 2. "Backend (3001) bağlantısı kurulamadı" Kırmızı Hata Mesajı
**Neden:** Ön yüz, 3001 portundaki arka plan (Node.js) sunucusuna ulaşamıyordur.
**Çözüm:**
- **Güvenlik Duvarı:** Ubuntu kullanıyorsanız `sudo ufw allow 3001/tcp` komutuyla portu açın. Eğer AWS, DigitalOcean gibi bulut sağlayıcılardaysanız yönetim panelinden `Inbound Rules` kısmından 3001 portuna izin verin.
- **PM2 Çökmesi:** Arka plan çökmüş olabilir. `pm2 logs golge-admin` komutunu çalıştırarak `.env` dosyasının doğru yüklenip yüklenmediğini ve bağımlılıkların (`cheerio`, `node-fetch` vb.) yüklü olup olmadığını (`npm install`) kontrol edin.
### 3. FATAL ERROR: JWT_SECRET is not defined in .env file
**Neden:** PM2 uygulamayı başlatırken gizli ayar dosyasını `.env` okuyamamıştır.
**Çözüm:**
- `server` klasörü içindeyken `cp .env.example .env` ile şablon dosyayı kopyalayın.
- PM2'ye yeni ortam değişkenlerini öğretmek için: `pm2 restart golge-admin --update-env` komutunu kullanın.
标签:自定义脚本