```
 ██████╗ ███████╗████████╗ ██╗██╗  ██╗
 ██╔════╝██╔════╝╚══██╔══╝ ██║██║  ██║
 █████╗  █████╗     ██║    ██║███████║
 ██╔══╝  ██╔══╝     ██║    ██║██╔══██║
 ██║     ███████╗   ██║    ██║██║  ██║
 ╚═╝     ╚══════╝   ╚═╝    ╚═╝╚═╝  ╚═╝
```

<p align="center">
  <strong>Terminalde çalışan otonom yapay zeka kodlama ve siber güvenlik ajanı.</strong><br/>
  Türkçe arayüz · 13 AI sağlayıcı · 230+ araç · Fetih Engine · <strong>CTF Canavarı</strong> · Vision · Kalıcı bellek
</p>

<p align="center">
  <img src="https://img.shields.io/badge/Versiyon-4.1.0-b91c1c?style=flat-square"/>
  <img src="https://img.shields.io/badge/Node.js-%3E%3D20-339933?style=flat-square&logo=node.js&logoColor=white"/>
  <img src="https://img.shields.io/badge/TypeScript-5.x-3178c6?style=flat-square&logo=typescript&logoColor=white"/>
  <img src="https://img.shields.io/badge/Test-149%2F149-22c55e?style=flat-square"/>
  <img src="https://img.shields.io/badge/Lisans-AGPL--3.0-blue?style=flat-square"/>
  <img src="https://img.shields.io/badge/Dil-Türkçe-red?style=flat-square"/>
</p>

<p align="center">
  <a href="https://fetih.mustafakemalcingil.site">Web Sitesi</a> ·
  <a href="#-kurulum">Kurulum</a> ·
  <a href="#-ctf-canavarı">CTF Canavarı</a> ·
  <a href="#-komutlar">Komutlar</a> ·
  <a href="#-desteklenen-ai-sağlayıcıları">Sağlayıcılar</a>
</p>

---

## FETİH Nedir?

FETİH, terminalde çalışan Türkçe arayüzlü bir yapay zeka ajanıdır. Kod yazar, test çalıştırır, güvenlik taraması yapar, CTF çözer ve raporlar. Siz yönlendirin, FETİH uygulasın.

**Temel döngü:** `Araştır → Planla → Uygula → Raporla`

```mermaid
flowchart TD
    A([Kullanıcı İsteği]) --> B[Araştır\ngrep · glob · git · web]
    B --> C[Planla\nRisk analizi · adım sırası]
    C --> D{Plan Modu\nAçık?}
    D -- Evet --> E[/Kullanıcı Onayı/]
    D -- Hayır --> F
    E -- Onaylandı --> F[Uygula\nfile_edit · shell · araçlar]
    E -- Reddedildi --> C
    F --> G{Görev\nTamamlandı?}
    G -- Hayır, devam --> F
    G -- Evet --> H[Raporla\nözetle · dışa aktar]
    H --> I[(Hafızaya Kaydet\nauto-memory)]
    I --> J{Yeni\nGörev?}
    J -- Evet --> B
    J -- Hayır --> K([Bitti])

    style A fill:#b91c1c,color:#fff,stroke:none
    style K fill:#18181b,color:#a1a1aa,stroke:#3f3f46
    style I fill:#1a1a2e,color:#a1a1aa,stroke:#3f3f46
    style D fill:#18181b,color:#fafafa,stroke:#3f3f46
    style G fill:#18181b,color:#fafafa,stroke:#3f3f46
    style J fill:#18181b,color:#fafafa,stroke:#3f3f46
    style E fill:#1a0a0a,color:#fca5a5,stroke:#b91c1c
```

```
sen: "auth middleware'ini JWT'ye geçir ve testleri yaz"

FETİH: src/ taranıyor... middleware.ts bulundu
      Değişiklik planı hazırlandı (3 dosya)
      [Onaylıyor musunuz? e/h]
      file_edit: middleware.ts ✓
      file_write: middleware.test.ts ✓
      shell: npm test → 12/12 geçti ✓
```

---

## Neden FETİH?

| | FETİH | ChatGPT | Copilot | Cursor |
|---|---|---|---|---|
| AI Sağlayıcı | **13** | 1 | çoklu | çoklu |
| Terminal / CLI | ✓ | ✗ | ✗ | ✗ |
| Offline / Yerel | ✓ | ✗ | ✗ | kısmi |
| Fetih Engine | **230+ araç** | ✗ | ✗ | ✗ |
| CTF Canavarı (24 tool) | ✓ | ✗ | ✗ | ✗ |
| PWN / Exploit toolkit | ✓ | ✗ | ✗ | ✗ |
| Vision / OCR / QR | ✓ | kısmi | ✗ | ✗ |
| Multi-Agent | ✓ | ✗ | kısmi | kısmi |
| Kalıcı Hafıza | ✓ | kısmi | ✗ | kısmi |
| Checkpoint | ✓ | ✗ | ✗ | ✗ |
| Açık Kaynak | ✓ | ✗ | ✗ | ✗ |

---

## CTF Canavarı

FETİH v4.1 ile gelen **24 spesifik CTF aracı** — Jeopardy, Attack/Defense ve Boot2Root tarzı sınavlar için. Her tool kendi alanında: dış araç varsa çağırır, yoksa **graceful fallback** ile çalışır (dahili implementasyon veya VLM).

### Kategori Bazında Araç Haritası

| Kategori | Araçlar | Ne yapar? |
|----------|---------|-----------|
| **Otomatik Yönlendirme** | `ctf_auto`, `ctf_classify` | Dosya tipini magic byte ile, challenge metnini regex+keyword ile sınıflandırır → doğru tool zincirini önerir |
| **Encoding / Klasik Kripto** | `ctf_solver` | Base64/32, Hex, Binary, ROT13/47, Caesar, Atbash, Morse, Polybius, Bacon, Rail Fence, XOR, ASCII decimal — **7 katmana kadar recursive** çözüm |
| **Modern Kripto (RSA)** | `ctf_rsa` | Fermat factorization, **Wiener attack** (küçük d), **factordb.com** online lookup, common modulus, küçük e cube root — `auto` modu zincir saldırı dener |
| **AES Analizi** | `ctf_aes_helper` | ECB pattern detection, ECB decrypt, **padding oracle** Python attack template, CBC bit-flipping rehberi |
| **Hash Crack** | `ctf_hash` | MD5/SHA1/SHA224/256/384/512, NTLM, bcrypt, sha256/512crypt, argon2 **format auto-detect** + rockyou.txt destekli dahili crack + hashcat/john komut üretimi |
| **JWT Toolkit** | `ctf_jwt` | Decode, `alg:none` saldırı forge, **HMAC HS256/384/512 brute-force**, kid/jku/x5u analiz, claim forge (custom imza) |
| **Steganografi** | `ctf_stego`, `ctf_audio_analyzer` | PNG LSB (R/RGB/RGBA/2bit), alpha kanal, kanal ayrıştırma; **WAV LSB**, **DTMF tone decoder (Goertzel)**, Morse, ffmpeg spektogram + vision LLM |
| **OCR / QR** | `ctf_ocr`, `image_analyze` | tesseract (eng+tur) ile OCR, zbarimg ile QR/Barcode — yoksa VLM fallback. Captcha & QR fotoğraflar için |
| **Dosya / Forensics** | `ctf_file_analyzer`, `ctf_forensics` | Magic bytes, **derin EXIF tarama** (XMP/IPTC/ICC/COM marker), file carving, **binary PCAP parser** (pure Node), volatility/foremost wrapper, büyük dosya strings sweep |
| **Binary / RE** | `ctf_binary_analyzer`, `ctf_pwn` | strings/objdump/readelf/nm/binwalk + RWX/NX/PIE tespiti, format string vuln, ROP gadget arama; **cyclic pattern (de Bruijn)**, format string exploit gen, shellcode katalogu, checksec |
| **Remote PWN** | `pwn_session`, `interactive_session` | pwntools.remote() benzeri TCP socket (connect/send/recv_until); gdb/msfconsole/nc için child_process spawn — paralel session yönetimi |
| **Web** | `ctf_web_analyzer` | SQLi (error-based + tırnak), XSS, LFI/Path Traversal, IDOR, dizin keşfi, payload önerileri |
| **Network** | `ctf_network_analyzer` | HTTP Basic Auth decode, FTP/SMTP cleartext, DNS TXT flag arama, Nmap çıktısı + port saldırı vektörleri |
| **Mobile** | `ctf_mobile` | APK/IPA ZIP entry parser, AndroidManifest/dex/Info.plist tespit, apktool & jadx wrapper |

### Tek Komut Akışı

```bash
# Bilinmeyen challenge metni:
ctf_classify "Buffer overflow vulnerable binary, nc challenge.tld 1337"
# → Kategori: pwn (84 puan), önerilen: ctf_pwn → pwn_session → interactive_session

# Dosya verildiğinde:
ctf_auto /path/to/challenge.png
# → Magic detect → file_image → ctf_file_analyzer + ctf_stego paralel → flag

# RSA challenge:
ctf_rsa action=auto n=... e=... c=...
# → factordb → Fermat → Wiener zincir saldırı, ilk başarılıdan flag

# JWT crack:
ctf_jwt action=brute token=eyJ...
# → rockyou (varsa) veya dahili 50+ secret → "secret" gibi zayıf secret bulunca crack
```

### Örnek Senaryo

```bash
fetih
/güvenlik pentest

sen: "şu klasörde 6 challenge var, hepsini sırayla çöz: /home/sınav"

# FETİH yapar:
#  [chal1.png]    ctf_auto → file_image → stego LSB → flag{lsb_red}
#  [audio.wav]    ctf_auto → file_audio → DTMF decode → flag{0258#}
#  [token.txt]    ctf_classify → jwt → ctf_jwt brute → secret crack → forge admin
#  [pwn1]         ctf_auto → file_binary → ctf_pwn checksec + cyclic + ROP
#  [enc.txt]      ctf_solver → 3 katman çöz → flag
#  [meta.jpg]     ctf_file_analyzer derin EXIF → COM marker → flag
```

---

## Fetih Engine

FETİH'in içine gömülü gelişmiş siber güvenlik motoru. 54 sınıf, 150 araç ve AI destekli karar mekanizması ile FETİH'i eksiksiz bir pentest platformuna dönüştürür. FETİH başlarken otomatik çalışır, kapanırken temizlenir — hiçbir şey düşünmene gerek yok.

### Motorda Neler Var?

| Kategori | Araçlar |
|----------|---------|
| **Ağ Keşif** | nmap, masscan, rustscan, arp-scan, fierce, dnsenum |
| **Web Zafiyet** | sqlmap, nikto, nuclei, wpscan, dalfox, zap, wafw00f |
| **Sızma Testi** | metasploit, hydra, john, hashcat, msfvenom, netexec |
| **Binary Exploit** | ghidra, gdb, radare2, angr, pwntools, ropper, one_gadget |
| **Bulut Güvenlik** | prowler, trivy, scout, kube-hunter, kube-bench, checkov |
| **API Güvenlik** | api-fuzzer, graphql-scanner, jwt-analyzer, arjun |
| **Web Discovery** | ffuf, gobuster, dirsearch, feroxbuster, katana, hakrawler |
| **Bug Bounty** | auth bypass, file upload, business logic, osint workflow |
| **CTF Otomasyon** | challenge solver, team coordinator, tool manager |
| **Memory Forensics** | volatility, volatility3, foremost, binwalk |
| **AI Exploit** | ai_payload_generator, ai_attack_suite, cve_intelligence |
| **Browser Agent** | selenium tabanlı otomatik web test |

### Nasıl Çalışır?

Fetih Engine iki katmanlıdır:

1. **`fetih_engine_server.py`** — Flask tabanlı arka plan sunucusu (8888 portu)
2. **`fetih_engine_mcp.py`** — MCP protokolü ile 150 tool'u AI'ya sunan arayüz

FETİH açıldığında engine otomatik başlar, tool'lar keşfedilir ve AI'nın kullanımına sunulur. Tek yapman gereken FETİH'e ne yapmasını istediğini söylemek.

---

## Kurulum

### Geliştirme Ortamı

```bash
# Depoyu klonla
git clone https://github.com/MustafaKemal0146/fetih.git
cd fetih

# Bağımlılıkları yükle
npm install

# Projeyi derle
npm run build

# Geliştirme modunda çalıştır
npm run dev
```

### Global Kurulum

```bash
npm install -g github:MustafaKemal0146/fetih
```
### Hızlı Başlangıç

```bash
# 1. API anahtarınızı ayarlayın (ya da Ollama ile ücretsiz başlayın)
export ANTHROPIC_API_KEY=sk-ant-...

# 2. Projenize gidin
cd benim-projem/

# 3. Başlatın
fetih                                    # Etkileşimli mod
fetih --provider groq                    # Belirli sağlayıcı ile başlat
fetih -p "bu projeyi özetle"            # Tek seferlik (headless) mod
fetih --auto -p "testleri çalıştır"     # Onaysız otonom mod

# Ortam sağlığını kontrol edin
/doktor
```

### Konteyner ile Çalıştırma (laction)

Projeyi izole konteyner ortamında çalıştırmak için:

```bash
# Varsayılan profil (build)
laction .

# Test profili
laction . test

# Lint profili
laction . lint

# Dev profili
laction . dev
```

---

## Desteklenen AI Sağlayıcıları

| Sağlayıcı | REPL Komutu | Env Değişkeni | Not |
|-----------|-------------|----------------|-----|
| **Ollama** | `/sağlayıcı ollama` | — | Ücretsiz, yerel, offline |
| **LM Studio** | `/sağlayıcı lmstudio` | — | GUI ile yerel model |
| **Groq** | `/sağlayıcı groq` | `GROQ_API_KEY` | En hızlı çıkarım |
| **DeepSeek** | `/sağlayıcı deepseek` | `DEEPSEEK_API_KEY` | V4 thinking mode |
| **Mistral** | `/sağlayıcı mistral` | `MISTRAL_API_KEY` | Açık ağırlıklı |
| **xAI (Grok)** | `/sağlayıcı xai` | `XAI_API_KEY` | Gerçek zamanlı web |
| **LiteLLM** | `/sağlayıcı litellm` | `LITELLM_API_KEY` | 100+ provider proxy |
| **GitHub Copilot** | `/sağlayıcı copilot` | — | Proxy üzerinden |
| **OpenRouter** | `/sağlayıcı openrouter` | `OPENROUTER_API_KEY` | 300+ model |
| **Anthropic Claude** | `/sağlayıcı claude` | `ANTHROPIC_API_KEY` | Kod odaklı |
| **OpenAI** | `/sağlayıcı openai` | `OPENAI_API_KEY` | GPT-4o ve üstü |
| **Google Gemini** | `/sağlayıcı gemini` | `GEMINI_API_KEY` | 2M token bağlam |

Başlatırken: `fetih --provider groq` · Çalışırken: `/sağlayıcı groq`

---

## Komutlar

### Bilgi & Analiz

| Komut | Açıklama |
|-------|----------|
| `/yardım` | Tüm komutları ve kısayolları listele |
| `/istatistikler` | Token kullanımı, gerçek maliyet, araç istatistikleri |
| `/maliyet` | Oturum maliyet tablosu + saatlik tahmin |
| `/kullanım` | Bugünkü kullanım limitini göster |
| `/bağlam` | Token dağılımı ve doluluk çubuğu |
| `/ara <kelime>` | Mevcut konuşmada arama yap |
| `/doktor` | Ortam sağlığı, araç kontrolü, otomatik kurulum |
| `/provider-test` | Sağlayıcı bağlantı testi + gecikme karşılaştırması |
| `/repo_özet` | Git dalı, son commit, değişiklik istatistikleri |
| `/incele [--staged\|--head\|<dosya>]` | Git diff'i AI ile code review yap |
| `/pr-incele <PR numarası veya URL>` | GitHub PR'ı AI ile incele |
| `/güncelle` | Yeni sürüm kontrolü |

### Bellek & Oturum

| Komut | Açıklama |
|-------|----------|
| `/hafıza` | Kalıcı belleği görüntüle (user/project/feedback) |
| `/hafıza ekle <tip> <içerik>` | Belleğe giriş ekle |
| `/hafıza sil <tip>` | Bellek tipini temizle |
| `/hafıza-temizle` | Tüm kalıcı belleği sil (onay ister) |
| `/sıkıştır` | Geçmişi AI ile özetle (token tasarrufu) |
| `/geri` | Son mesajı geri al |
| `/checkpoint [ad]` | Konuşma anını kaydet |
| `/checkpoint listele` | Kayıtlı anları göster |
| `/checkpoint yükle <ad>` | Kaydedilmiş ana dön |
| `/kaydet [md\|html\|txt] [dosya]` | Konuşmayı dışa aktar |
| `/export [json\|md\|html] [dosya]` | Oturumu dışa aktar |
| `/paylaş` | Konuşmayı `~/.fetih/exports/` klasörüne aktar |
| `/etiket <isim>` | Oturumu adlandır / etiketle |
| `/geçmiş` | Önceki oturumu devam ettir |
| `/temizle` | Terminali temizle (geçmiş korunur) |
| `/context-temizle` | Oturumu sıfırla, temiz başla |

### Ayarlar

| Komut | Açıklama |
|-------|----------|
| `/değiştir` | Etkileşimli ayar menüsü |
| `/sağlayıcı <isim>` | AI sağlayıcısını değiştir |
| `/modeller` | Canlı model listesi + seçim |
| `/model <isim>` | Modeli doğrudan ayarla |
| `/profil [liste\|ekle <isim>\|<isim>]` | Kayıtlı sağlayıcı+model profilleri |
| `/tema` | Renk teması seç (dark/light/cyberpunk/retro/ocean/sunset) |
| `/context <miktar>` | Token bütçesini ayarla (örn: `500k`, `2m`) |
| `/yetki <full\|normal\|dar>` | İzin seviyesi |
| `/güvenlik <safe\|standard\|pentest>` | Güvenlik profili |
| `/effort [low\|medium\|high\|max]` | Yanıt derinliği — hız/kalite dengesi |
| `/paralel <1-20>` | Eş zamanlı araç sayısı (varsayılan: 5) |
| `/vim` | Vim modunu aç/kapat (INSERT/NORMAL) |
| `/keybindings` | Tuş kısayollarını göster / özelleştir |
| `/apikey` | API anahtarlarını yönet |
| `/api-yaz` | Etkileşimli API anahtarı ekleme menüsü |

### Ajan & Skill

| Komut | Açıklama |
|-------|----------|
| `/ajan <açık\|kapalı>` | Otonom ajan modunu aç/kapat |
| `/plan-modu <açık\|kapalı>` | Plan onay modu — AI önce plan sunar, sen onaylarsın |
| `/koordinator <görev>` | Görevi alt ajanlara böl, paralel çalıştır |
| `/ajanlar` | Aktif alt ajan sayısını göster |
| `/skills` | Yüklü skill'leri listele |
| `/skill <isim> [parametreler]` | Skill çalıştır |

### Araçlar & Sistem

| Komut | Açıklama |
|-------|----------|
| `/ide [dosya:satır]` | Dosyayı VS Code veya editörde aç |
| `/yan-sorgu <soru>` | Konuşmayı bozmadan hızlı soru sor |
| `/rapor pdf` | Güvenlik taraması PDF raporu |
| `/cron ekle <isim> <süre> <prompt>` | Periyodik görev ekle (`1m/1h/1d`) |
| `/hook [liste\|örnek]` | Hook sistemi yönetimi |
| `/görevler` | Arka plan görevlerini listele |
| `/cd <dizin>` | Çalışma dizinini değiştir |
| `/pwd` | Mevcut dizini göster |
| `/cikis` | Uygulamadan çık |

### CTF & Siber Güvenlik

| Komut | Açıklama |
|-------|----------|
| `/ctf --dosya <dosya>` | CTF analiz motorunu başlat (ctf_auto) |
| `/ctf --kategori <web\|crypto\|pwn\|forensics\|rev\|stego\|osint\|jwt\|mobile>` | Kategori belirt |
| `/güvenlik pentest` | Pentest profilini etkinleştir |

CTF Canavarı doğrudan tool çağrılarıyla da kullanılabilir; AI bunları sistem promptundan tanır:
```
ctf_classify "<challenge metni>"           # kategori tahmini + tool zinciri
ctf_auto <dosya path>                      # otomatik dispatch
ctf_rsa action=auto n=... e=... c=...      # Wiener/Fermat/factordb zinciri
ctf_jwt action=brute token=eyJ...          # HMAC secret brute-force
ctf_pwn action=checksec path=./binary      # NX/PIE/RELRO/Canary
pwn_session action=connect host=... port=...  # Remote PWN socket
```

### Kısayollar

| Kısayol | Açıklama |
|---------|----------|
| `Ctrl+C` | İşlemi iptal et / modeli durdur |
| `Esc` | AI yanıtını anında durdur |
| `Ctrl+R` | Geçmişte fuzzy arama |
| `Ctrl+D` | Çıkış |
| `\` | Çok satırlı girdi modu |

---

## Yapılandırma

### Ortam Değişkenleri

```bash
export ANTHROPIC_API_KEY=sk-ant-xxxxx
export OPENAI_API_KEY=sk-xxxxx
export GEMINI_API_KEY=AIzaxxxxx
export GROQ_API_KEY=gsk_xxxxx
export DEEPSEEK_API_KEY=sk-xxxxx
export MISTRAL_API_KEY=xxxxx
export XAI_API_KEY=xai-xxxxx
export OPENROUTER_API_KEY=sk-or-xxxxx
# Ollama ve LM Studio için API anahtarı gerekmez
```

### `~/.fetih/settings.json`

```json
{
  "defaultProvider": "ollama",
  "defaultModel": "qwen2.5-coder:7b",
  "providers": {
    "ollama":   { "baseUrl": "http://localhost:11434", "model": "qwen2.5-coder:7b" },
    "groq":     { "apiKey": "gsk_xxx", "model": "llama-3.3-70b-versatile" },
    "deepseek": { "apiKey": "sk-xxx",  "model": "deepseek-v4-flash" },
    "claude":   { "apiKey": "sk-ant-xxx", "model": "claude-sonnet-4-20250514" }
  }
}
```

### Proje Talimatları (Otomatik Yükleme)

Çalışma dizininde aşağıdaki dosyalar varsa sistem istemine otomatik eklenir:

| Dosya | Açıklama |
|-------|----------|
| `FETİH.md` | FETİH'e özel proje talimatları |
| `CLAUDE.md` | Claude uyum katmanı |
| `AGENTS.md` | Ajan direktifleri |
| `.fetih/instructions.md` | Gizli proje talimatları |

---

## Özellikler

### Kalıcı Bellek

FETİH iki katmanlı bellek sistemi kullanır:

**Manuel Bellek** (`~/.fetih/memory/`):
```bash
/hafıza ekle user    "Kıdemli TypeScript geliştiricisiyim"
/hafıza ekle project "Bu proje Next.js + Prisma + PostgreSQL kullanıyor"
/hafıza ekle feedback "Commit mesajları Conventional Commits formatında olsun"
```

**Otomatik Bellek** (`~/.fetih/auto-memory/`):
Konuşma sonunda AI önemli bilgileri otomatik kaydeder. Bir sonraki oturumda proje tercihleri, teknik kararlar ve bulgular hazır olur.

### Skill Sistemi

`~/.fetih/skills/` klasörüne Markdown dosyaları ekleyerek özel iş akışları oluştur:

```markdown
---
name: güvenlik-tarama
description: Projeyi güvenlik açıkları için tara
---

Aşağıdaki projeyi güvenlik açıkları için analiz et:
{{params}}

Kontrol listesi:
- SQL injection noktaları
- Kimlik doğrulama zafiyetleri
- Hassas veri ifşası
```

```bash
/skill güvenlik-tarama src/api/
```

Yerleşik skill'ler: `review` · `refactor` · `explain`

### Multi-Agent Koordinatör

Büyük görevleri paralel alt ajanlara böl:

```bash
/koordinator "projenin tüm API endpoint'lerini test et, güvenlik açıklarını bul ve rapor oluştur"
```

Koordinatör görevi 2-5 bağımsız alt göreve böler, hepsini eş zamanlı çalıştırır ve sonuçları birleştirir.

### Güvenlik Profilleri

```bash
/güvenlik safe       # Sadece okuma işlemleri
/güvenlik standard   # Varsayılan — kritik işlemler onay ister
/güvenlik pentest    # Tam araç seti: nmap, sqlmap, nuclei, ffuf...
```

İzin seviyeleri:
```bash
/yetki full    # Onaysız çalışır
/yetki normal  # Kritik işlemler onay ister (varsayılan)
/yetki dar     # Her işlem onay ister
```

### Vim Modu

```bash
/vim  # INSERT/NORMAL mod geçişi
```

NORMAL modda: `h/j/k/l` · `w/b/e` · `0/$` · `dd/dw` · `cc/cw` · `.` (dot-repeat)

### Hook Sistemi

`~/.fetih/hooks.json`:

```json
[
  { "event": "PreToolUse",  "tool": "file_write", "command": "git add -A" },
  { "event": "PostToolUse", "tool": "shell",       "command": "notify-send 'Tamamlandı'", "async": true },
  { "event": "OnResponse",                         "command": "espeak 'hazır'", "async": true }
]
```

### Cron / Periyodik Görevler

```bash
/cron ekle günlük-özet  1d  "bugünkü değişiklikleri özetle ve commit öner"
/cron ekle saatlik-test 1h  "testleri çalıştır, hataları raporla"
/cron liste
/cron sil <id>
```

### Vision (Görsel Analiz)

`image_analyze` ile herhangi bir görseli aktif provider'ın vision modeline yollar. Anthropic (claude-opus-4-7, claude-sonnet-4-6), OpenAI (gpt-4o), Google (gemini-2.5-pro) hepsi destekleniyor. JPEG/PNG/GIF/WebP, max 8 MB.

```bash
sen: "captcha.png'deki yazıyı oku"
# image_analyze → VLM yanıtı → "X9K7AP"

sen: "fotoğraftaki QR kodu çöz"
# ctf_ocr action=qr → zbarimg veya VLM fallback
```

CTF kullanımı: spektogram okuma (`ctf_audio_analyzer` otomatik çağırır), captcha çözümü, fotoğraftaki kod/QR/yazı, gizli/silik metin tespiti.

---

## Araçlar

### Dosya & Kod
`file_read` · `file_write` · `file_edit` · `batch_read` · `glob` · `list_directory` · `search`

### Git
`git_status` · `git_diff` · `git_log` · `git_worktree` · `repo_ozet`

### Web & Ağ
`web_fetch` · `web_search` · `browser_automation` (Puppeteer)

### Ajan & Bellek
`agent_spawn` · `ask_user` · `memory_read` · `memory_write` · `mcp_arac` · `lsp_diagnostics`

### Siber Güvenlik
`nmap` · `sqlmap` · `nikto` · `gobuster` · `ffuf` · `nuclei` · `masscan` · `subfinder` · `wpscan` · `whois` · `dig` · `whatweb` · `shodan` · `john` · `hashcat`

### Fetih Engine (150 Araç)
`nmap_scan` · `nuclei_scan` · `sqlmap_scan` · `metasploit_run` · `hydra_attack` · `john_crack` · `hashcat_crack` · `ghidra_analysis` · `gdb_analyze` · `radare2_analyze` · `volatility_analyze` · `binwalk_analyze` · `dalfox_xss_scan` · `jwt_analyzer` · `graphql_scanner` · `api_fuzzer` · `gobuster_scan` · `ffuf_scan` · `wpscan_analyze` · `nikto_scan` · `masscan_high_speed` · `rustscan_fast_scan` · `subfinder_scan` · `amass_scan` · `prowler_scan` · `trivy_scan` · `kube_hunter_scan` · `kube_bench_cis` · `checkov_iac_scan` · `autorecon_comprehensive` · `intelligent_smart_scan` · `ai_generate_payload` · `ai_vulnerability_assessment` · `bugbounty_comprehensive_assessment` · `browser_agent_inspect` · `threat_hunting_assistant` · `vulnerability_intelligence_dashboard` · `responder_credential_harvest` · `pacu_exploitation` · `msfvenom_generate` · `cloudmapper_analysis` · `docker_bench_security_scan` · `steghide_analysis` · `exiftool_extract` · `foremost_carving` · `http_intruder` · `http_repeater` · `dnsenum_scan` · `netexec_scan` · `one_gadget_search` · `libc_database_lookup` · `pwntools_exploit` · `angr_symbolic_execution` · `advanced_payload_generation` · `comprehensive_api_audit` · `create_attack_chain_ai` · `monitor_cve_feeds`

### CTF Canavarı (24 araç)
**Yönlendirme:** `ctf_auto` · `ctf_classify`
**Kripto:** `ctf_solver` · `ctf_rsa` · `ctf_aes_helper` · `ctf_hash` · `ctf_jwt`
**Stego & Medya:** `ctf_stego` · `ctf_audio_analyzer` · `ctf_ocr` · `image_analyze`
**Dosya & Forensics:** `ctf_file_analyzer` · `ctf_forensics`
**Binary & PWN:** `ctf_binary_analyzer` · `ctf_pwn` · `pwn_session` · `interactive_session`
**Web & Network:** `ctf_web_analyzer` · `ctf_network_analyzer`
**Mobile:** `ctf_mobile`

---

## Model Benchmark

`/maliyet` ve `/provider-test` komutlarıyla gerçek zamanlı ölçüm yapabilirsin.

| Provider | Model | Hız (tok/s) | Input | Output | Özellik |
|----------|-------|:-----------:|-------|--------|---------|
| **Groq** | llama-3.3-70b | **~900** | $0.059/M | $0.079/M | En hızlı çıkarım |
| **Gemini** | gemini-2.0-flash | ~250 | $0.10/M | $0.40/M | 2M token bağlam |
| **DeepSeek** | deepseek-v4-flash | ~150 | $0.14/M | $0.28/M | Thinking mode, 1M ctx |
| **DeepSeek** | deepseek-v4-pro | ~80 | $0.435/M | $0.87/M | Max reasoning, 1.6T param |
| **Mistral** | mistral-large | ~90 | $2/M | $6/M | Avrupa gizliliği |
| **Claude** | sonnet-4 | ~80 | $3/M | $15/M | Kod odaklı |
| **OpenAI** | gpt-4o | ~80 | $5/M | $15/M | Genel amaç |
| **xAI** | grok-3 | ~70 | $3/M | $15/M | Gerçek zamanlı web |
| **Ollama / LM Studio** | (donanıma göre) | ~20–150 | **Ücretsiz** | **Ücretsiz** | Tam gizlilik |

> Hız değerleri tipik koşullar altında ölçülmüştür, ağ gecikmesi ve yük durumuna göre değişebilir.

---

## Kullanım Senaryoları

### CTF Çözümü (Çoklu Kategori)

```bash
fetih --provider claude        # Vision için Anthropic/OpenAI/Google önerilir
/güvenlik pentest

# 1. Stego (PNG LSB):
sen: "challenge.png'de gizli flag var, bul"
# ctf_auto → file_image → ctf_stego LSB-R kanalı → flag{lsb_red}

# 2. Audio (WAV LSB + DTMF):
sen: "phone_call.wav'i analiz et"
# ctf_audio_analyzer → DTMF Goertzel → "0258#" decode → flag

# 3. RSA challenge:
sen: "n=..., e=..., c=... — flag\'i çöz"
# ctf_rsa action=auto → factordb → Fermat → Wiener zincir → flag

# 4. JWT crack:
sen: "şu token'ın secret'ını kır: eyJ..."
# ctf_jwt action=brute → HS256 brute-force → "secret" eşleşti → forge admin

# 5. Binary RE:
sen: "./pwn1 binary'sini incele, vuln bul"
# ctf_binary_analyzer → strings + readelf + objdump → gets() detected → format string

# 6. Remote PWN:
sen: "challenge.tld:1337'ye bağlan, buffer overflow exploit et"
# pwn_session connect → ctf_pwn cyclic → offset → ctf_pwn shellcode → exploit

# 7. Forensics (memory dump):
sen: "memory.dmp içinde komut satırı geçmişini ara"
# ctf_forensics action=volatility plugin=windows.cmdline.CmdLine → flag

# 8. Captcha:
sen: "captcha.png'deki kodu oku"
# ctf_ocr action=ocr → tesseract (saniyede) → "X9K7AP"
```

---

### Sınav Modu (6 Paralel Terminal)

Sınav günü 6 farklı terminal aç, her birinde farklı klasör:

```bash
# Terminal 1: Crypto challenge'lar
cd /sınav/crypto && fetih --auto -p "bu klasördeki tüm challenge\'ları çöz, flag\'leri ./flags.txt\'e yaz"

# Terminal 2: Web challenges
cd /sınav/web && fetih --auto -p "her klasördeki URL\'i ctf_web_analyzer ile tara, flag bul"

# Terminal 3: Forensics
cd /sınav/forensics && fetih --auto -p "her .pcap, .dmp, .raw dosyasını çöz"

# ... her terminal bağımsız, paralel çalışır
```

---

### Güvenlik Taraması

```bash
fetih

/güvenlik pentest
/koordinator "hedef.com alan adını tüm açılardan tara: subdomain, port, web zafiyeti, SSL"

# FETİH paralel çalışır:
#  [Ajan 1] subfinder → 47 subdomain bulundu
#  [Ajan 2] nmap → 3 açık port, 1 eski servis
#  [Ajan 3] nuclei → 2 orta, 1 kritik zafiyet
#  Koordinatör sonuçları birleştirir

/rapor pdf                    # Profesyonel PDF raporu oluştur
```

---

### Kod Review & Refactor

```bash
fetih

/incele --staged              # Staged değişiklikleri AI ile incele

# ya da belirli bir dosya:
/skill review src/auth/middleware.ts

# PR incelemesi:
/pr-incele 142                # GitHub PR #142'yi çek ve analiz et
```

---

### Büyük Proje Analizi

```bash
fetih --provider gemini        # 2M token bağlamla devasa repo analizi

sen: "bu projenin mimarisini anla, teknik borçları listele ve öncelikli iyileştirme önerisi sun"

# FETİH sırayla yapar:
#  glob ile tüm dosya yapısını tarar
#  import/export grafiğini çıkarır
#  git log ile değişim sıklığını analiz eder
#  Yapılandırılmış rapor sunar
```

---

### Otomatik Test Yazımı

```bash
# Tek seferlik headless mod:
fetih --auto -p "src/utils/ klasöründeki tüm fonksiyonlar için vitest unit testleri yaz, çalıştır ve hataları düzelt"

# FETİH durdurmadan çalışır:
#  Fonksiyonları okur → test dosyaları yazar → vitest çalıştırır → hataları düzeltir → tekrar çalıştırır
```

---

### Günlük Geliştirme Akışı

```bash
# Sabah: dünü özetle
/repo_özet

# Yeni özellik:
sen: "kullanıcı profil sayfası ekle, mevcut auth sistemini kullan"

# Değişiklikleri incele:
/incele --staged

# Oturumu kaydet:
/checkpoint oturum-2025-04-23

# Akşam: maliyet kontrolü:
/maliyet
```

---

## Mimari

```
src/
├── cli.ts                  # CLI giriş noktası
├── repl.ts                 # Etkileşimli terminal (vim modu, keybindings, context bar)
├── headless.ts             # Headless mod (-p flag)
├── commands.ts             # 90+ slash komutu
├── vim-mode.ts             # INSERT/NORMAL vim state machine
├── keybindings.ts          # ~/.fetih/keybindings.json yapılandırması
├── skills.ts               # Skill sistemi (built-in + kullanıcı)
├── rolling-summary.ts      # Otomatik bağlam sıkıştırma
├── permission-classifier.ts# Araç izin sınıflandırıcı
├── agent/
│   ├── loop.ts             # Ajan döngüsü (streaming, araç yürütme, fallback)
│   └── coordinator.ts      # Multi-agent koordinatör
├── providers/              # Claude, Gemini, OpenAI, Ollama, Groq, DeepSeek,
│                           # Mistral, xAI, LM Studio, LiteLLM, OpenRouter, Copilot
│                           # — Anthropic/OpenAI/Google'da multimodal (image) desteği
├── tools/                  # 60+ yerleşik araç
│   ├── image-analyze.ts    # Vision LLM çağrısı (VLM wrapper)
│   └── ctf/                # CTF Canavarı (24 araç)
│       ├── ctf-auto.ts             # Otomatik yönlendirici
│       ├── ctf-classify.ts         # Challenge metni kategori tahmini
│       ├── ctf-solver.ts           # Encoding/klasik kripto (recursive)
│       ├── ctf-rsa.ts              # Wiener/Fermat/factordb/common modulus
│       ├── ctf-aes-helper.ts       # ECB pattern, padding oracle template
│       ├── ctf-hash.ts             # Format auto-detect + rockyou crack
│       ├── ctf-jwt.ts              # Decode/alg:none/HMAC brute/forge
│       ├── ctf-stego.ts            # PNG LSB, alpha, kanal ayrıştırma
│       ├── ctf-audio-analyzer.ts   # WAV LSB, DTMF, Morse, spektogram+VLM
│       ├── ctf-ocr.ts              # tesseract + zbarimg (VLM fallback)
│       ├── ctf-file-analyzer.ts    # Magic, derin EXIF, file carving
│       ├── ctf-forensics.ts        # Binary PCAP, volatility, strings sweep
│       ├── ctf-binary-analyzer.ts  # ELF/PE: strings/objdump/readelf/nm
│       ├── ctf-pwn.ts              # Cyclic, fmt string, shellcode, ROP
│       ├── pwn-session.ts          # Remote socket (pwntools.remote)
│       ├── interactive-session.ts  # gdb/msfconsole/nc child_process yöneticisi
│       ├── ctf-mobile.ts           # APK/IPA ZIP analiz, apktool/jadx
│       ├── ctf-web-analyzer.ts     # SQLi/XSS/LFI/IDOR
│       └── ctf-network-analyzer.ts # PCAP text, Basic Auth, DNS TXT
├── fetih-engine/            # Fetih Engine (150 tool, 54 sınıf, MCP server)
│   ├── fetih_engine_server.py
│   ├── fetih_engine_mcp.py
│   ├── bridge.ts           # FETİH lifecycle entegrasyonu
│   └── registry.ts         # Tool keşfi ve kaydı
├── auto-memory.ts          # Otomatik bellek çıkarma ve sıkıştırma
├── cron.ts                 # Periyodik görev sistemi
├── model-cost.ts           # Gerçek model fiyat tablosu
└── storage/                # Oturum, geçmiş, bellek, araç metrikleri

tests/
├── ctf-integration.test.ts # 49 CTF entegrasyon testi (gerçek fixture'larla)
└── ...                     # Toplam 149 test, hepsi yeşil
```

---

## Gereksinimler

- **Node.js** ≥ 20
- **Python 3.8+** (Fetih Engine için)
- Python paketleri: `pip install flask requests aiohttp beautifulsoup4 selenium mitmproxy psutil mcp`
- En az bir AI sağlayıcısı (Ollama ücretsiz ve yerel)
- **İsteğe bağlı:** `ripgrep` — hızlı arama
- **İsteğe bağlı:** `nmap`, `sqlmap`, `nikto`, `nuclei` — güvenlik araçları
- **İsteğe bağlı:** `pdflatex` — PDF rapor üretimi
- **İsteğe bağlı:** `xclip` / `wl-paste` — pano desteği (Linux)

---

## Lisans

**GNU Affero General Public License v3.0 (AGPL-3.0)**

- Kişisel ve eğitim amaçlı kullanım serbesttir
- Kaynak kodu inceleyebilir ve değiştirebilirsin
- Değiştirip dağıtırsan kaynak kodunu açık kaynak yapmak zorundasın
- Ağ üzerinden servis olarak sunarsan kaynak kodunu paylaşmak zorundasın
- Ticari kullanım veya özel lisans için iletişime geç
