Skip to content

ilhancvndr/ThorScraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔍 Thor Scraper

Tor üzerinden web sitelerini tarayan, HTML içeriklerini ve ekran görüntülerini kaydeden profesyonel bir CTI (Cyber Threat Intelligence) aracı.

📋 Özellikler

  • Tor Üzerinden Güvenli Tarama: Tüm istekler Tor proxy üzerinden yapılır
  • IP Sızıntısı Koruması: DNS leak ve WebRTC sızıntıları önlenir
  • HTML İndirme: Tarama yapılan sitelerin HTML içerikleri kaydedilir
  • Ekran Görüntüsü Alma: Tam sayfa (full page) ekran görüntüleri alınır
  • Detaylı Loglama: Tüm işlemler log dosyasına kaydedilir
  • Toplu Tarama: Birden fazla hedefi tek seferde tarama
  • Durum Kategorilendirme: OK / WARN / DEAD durumları ile sonuçlar sınıflandırılır

Gereksinimler

  • Go 1.25.5 veya üzeri
  • Tor Browser veya Tor Service (Port: 9150)
  • Google Chrome veya Chromium (Ekran görüntüsü için)

Kurulum

1. Projeyi İndirin

git clone https://github.com/ilhancvndr/ThorScraper.git
cd Thor-Scraper

2. Bağımlılıkları Yükleyin

go mod download

3. Tor Servisini Başlatın

Tor Browser kullanıyorsanız, Tor Browser'ı açın ve SOCKS proxy'nin 127.0.0.1:9150 portunda çalıştığından emin olun.

Alternatif olarak, Tor servisini sistem servisi olarak çalıştırabilirsiniz.

4. Projeyi Çalıştırın

Seçenek 1: Direkt Çalıştırma (Derlemeden)

go run main.go

Seçenek 2: Derleyip Çalıştırma

go build -o thor-scraper.exe
./thor-scraper.exe

Kullanım

Hedef Listesi Hazırlama

targets.yaml dosyasını düzenleyerek taranacak hedefleri ekleyin:

- ad : "Tor Check"
  url : https://check.torproject.org/

- ad : "Onion Site"
  url : http://example.onion/

- ad : "Test Site"
  url : https://example.com

Not:

  • ad alanı boş bırakılabilir (otomatik olarak "İSİMSİZ" olarak işaretlenir)
  • url alanında şema (http:// veya https://) yoksa otomatik olarak http:// eklenir
  • Yorum satırları için # kullanılabilir

Programı Çalıştırma

./thor-scraper.exe

veya Windows'ta:

thor-scraper.exe

Menü Seçenekleri

Program başladığında:

  1. Hedef Listesi: Taranacak hedefler numaralandırılmış olarak gösterilir
  2. Hepsini Tara: Tüm hedefleri sırayla tarar
  3. Tek Hedef: Belirli bir hedefi seçerek tarar
  4. Çıkış: Programı sonlandırır

Örnek Kullanım

======= HEDEFLER =======

[1] Tor Check
[2] Google
[3] torhiddenwiki
[4] Hepsini tara
[0] Çıkış

Seçimin (0-4): 1

Çıktı Dosyaları

Program çalıştığında aşağıdaki klasör yapısı oluşturulur:

targets.yaml                 # Taranacak hedeflerin listesi
│ 
outputs/
├── html/                    # HTML içerikleri
│   ├── example.com_abc123.html
│   └── example.onion_def456.html
├── screenshots/             # Ekran görüntüleri
│   ├── example_com_abc123.png
│   └── example_onion_def456.png
└── scan_report.log          # Detaylı log dosyası

Dosya İsimlendirme

  • HTML Dosyaları: host_hash.html formatında
  • Screenshot Dosyaları: hedef_adi_hash.png formatında
  • Her dosya adı, URL'nin SHA1 hash'i ile benzersiz hale getirilir

🔒 Güvenlik Özellikleri

Tor Entegrasyonu

  • Tüm HTTP istekleri Tor SOCKS5 proxy üzerinden yönlendirilir
  • Chrome ekran görüntüsü alma işlemi de Tor üzerinden çalışır

IP Sızıntısı Önleme

  • DNS istekleri Tor üzerinden yapılır
  • WebRTC devre dışı bırakılır
  • QUIC protokolü kapatılır
  • DNS over HTTPS devre dışı bırakılır

Güvenlik Ayarları

  • Gerçek tarayıcı gibi görünmek için User-Agent ayarlanır
  • HTTP/2 kullanılmaz (Tor için daha uygun)
  • Bağlantı timeout'ları optimize edilmiştir

Durum Kodları

Tarama sonuçları üç kategoriye ayrılır:

  • ACTIVE_OK: HTTP 200-299 arası başarılı yanıtlar
  • ACTIVE_WARN: HTTP 300-599 arası uyarı yanıtları (403, 404, 500 vb.)
  • DEAD: Bağlantı hatası, timeout veya erişilemeyen siteler

📝 Log Dosyası

Tüm işlemler outputs/scan_report.log dosyasına kaydedilir:

  • Tarama başlangıç/bitiş zamanları
  • HTTP durum kodları
  • Hata mesajları ve kategorileri
  • Dosya kaydetme işlemleri
  • Ekran görüntüsü alma sonuçları

⚙️ Yapılandırma

Tor Proxy Adresi

Tor proxy adresini değiştirmek için main.go dosyasındaki sabiti düzenleyin:

const torAdres = "127.0.0.1:9150"  // Varsayılan Tor Browser portu

Timeout Süreleri

  • HTTP İstekleri: 35 saniye (varsayılan)
  • Ekran Görüntüsü: 60 saniye (varsayılan)
  • TLS Handshake: 12 saniye
  • Response Header: 20 saniye

Sorun Giderme

Tor Bağlantı Hatası

[FATAL] Tor HTTP Client Oluşturulamadı

Çözüm:

  • Tor Browser'ın çalıştığından emin olun
  • Port 9150'in açık olduğunu kontrol edin
  • Firewall ayarlarını kontrol edin

Ekran Görüntüsü Alınamıyor

[ERR] Screenshot alınamadı

Çözüm:

  • Chrome veya Chromium'un yüklü olduğundan emin olun
  • Tor proxy'nin çalıştığını kontrol edin
  • Timeout süresini artırmayı deneyin

Hedef Listesi Okunamıyor

[FATAL] Hedefler okunamadı

Çözüm:

  • targets.yaml dosyasının mevcut olduğundan emin olun
  • YAML formatının doğru olduğunu kontrol edin
  • Dosya izinlerini kontrol edin

📄 Lisans

Bu proje CTI (Cyber Threat Intelligence) çalışmaları için geliştirilmiştir.

⚠️ Uyarı

Bu araç yalnızca yasal ve etik amaçlarla kullanılmalıdır. Kullanıcı, araçla yapılan tüm işlemlerden sorumludur.

🤝 Katkıda Bulunma

Hata bildirimi veya özellik önerileri için issue açabilirsiniz.


Not: Bu araç, güvenlik araştırmaları, tehdit istihbaratı toplama ve eğitim amaçlı geliştirilmiştir. Kullanım sırasında yerel yasalar ve düzenlemelere uygun hareket edilmelidir.

About

Go-based Cyber Threat Intelligence (CTI) scraper designed for anonymous network discovery and data extraction over the Tor network.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages