Bu proje, özellikle yaşlı kullanıcılar için tasarlanmış bir tarayıcı eklentisidir. Eklenti, ziyaret edilen web sitelerindeki sahte haberleri ve dolandırıcılık girişimlerini tespit ederek kullanıcıları görsel ve işitsel olarak uyarır. Amaç, savunmasız kullanıcıları çevrimiçi tehditlerden korumak ve daha güvenli bir internet deneyimi sunmaktır.
- Gerçek Zamanlı Analiz: Ziyaret edilen web sayfalarının içeriğini gerçek zamanlı olarak analiz ederek sahte haber ve dolandırıcılık belirtilerini tespit etme.
- Görsel Uyarılar: Şüpheli içerik tespit edildiğinde kullanıcıyı uyaran belirgin görsel uyarılar.
- İşitsel Uyarılar: Görsel uyarılara ek olarak, kullanıcının dikkatini çekmek için işitsel uyarılar.
- Güvenilirlik Derecelendirmesi: Web sitelerine ve haber kaynaklarına güvenilirlik derecelendirmesi atama ve gösterme.
- Kullanıcı Tarafından Bildirme: Kullanıcıların şüpheli içerikleri manuel olarak bildirmesi.
- Özelleştirilebilir Ayarlar: Uyarı hassasiyeti, görsel ve işitsel uyarı tercihleri gibi kullanıcı tarafından özelleştirilebilir ayarlar.
- Veritabanı Güncellemesi: Sahte haber ve dolandırıcılık örneklerini içeren veritabanını düzenli olarak güncelleme.
- Gizlilik Odaklı Tasarım: Kullanıcı verilerinin gizliliğini koruma ve minimum veri toplama.
- Chrome Extension (Manifest v3):
background.js(service worker),content.js(overlay),popup.html/js(ayarlar) - OpenRouter Chat API: Model tabanlı analiz (dinamik model listesi, birincil + yedek model)
- Web (opsiyonel geliştirme ortamı): Next.js + Turbopack, React 19, TypeScript, TailwindCSS
- Lint/Format: ESLint (Flat Config) + Prettier
content.js– Sayfaya enjekte edilen overlay. Minimal Glass arayüzü, risk rozetleri, Detay/JSON görünümü, kopyalama, manuel mod, konum/tema, minimize ve geçici “Model seç” override.background.js– OpenRouter API çağrıları, birincil→yedek fallback, model listesi (OPENROUTER_MODELS) ve son kullanılan model (LAST_MODEL) yönetimi.popup.html/js– Ayarlar paneli. API anahtarı, birincil/yedek model, dinamik model listesi (arama, “yalnız free” filtresi), favoriler, hassasiyet, alan adı filtresi ve cache, panel/tema davranışı.
- Basit ve sezgisel arayüz; büyük ve okunabilir yazı tipleri.
- Net ve eyleme dönük uyarılar.
- Erişilebilirlik (renk körlüğü vb. için uygun kontrast ve ARIA).
- Performans: Hızlı ve düşük kaynak tüketimi.
- Gizlilik odaklı tasarım, minimum veri toplama.
- Toplanan verilerin güvenli saklanması ve yetkisiz erişime karşı korunması.
- Gereksinimler: docs/requirements.md
- Tasarım: docs/design.md
- Görevler/Yol Haritası: docs/tasks.md
Çalışır bir MV3 eklenti prototipi mevcuttur. Overlay, manuel mod ve alan adı/önbellek politikaları uygulanmış; OpenRouter entegrasyonu dinamik model listesi, favoriler ve tek-seferlik model override ile zenginleştirilmiştir. Ayrıntılar için docs/tasks.md.
- Web uygulaması dizini:
web/ - Temel komutlar (web/ klasöründe):
npm run dev– Next.js geliştirme sunucusunpm run lint– ESLint kontrolünpm run typecheck– TypeScript tür kontrolünpm run format:check/npm run format– Prettier kontrolü / düzeltme
- Eklenti dosyaları:
web/extension/ - İçerik script’i (
content.js) Minimal Glass bir overlay oluşturur, risk/özet/gerekçe gösterir. - Overlay özellikleri: Detay/JSON görünümü, kopyalama, Esc ile kapatma, konum/tema/minimize, manuel analiz modu, tek-seferlik “Model seç” override.
- Alan adı filtresi (NEWS_ONLY + izinli liste) ve oturum önbelleği (CACHE_TTL) ile gereksiz çağrılar azaltılır.
- Chrome’da
chrome://extensionssayfasını açın. - Sağ üstten “Geliştirici modu”nu açın.
- “Paketlenmemiş öğe yükle” >
web/extension/klasörünü seçin. - Her değişiklikten sonra sayfadan “Yenile” butonu ile eklentiyi yenileyin.
web/klasöründe:npm run build:ext—extensioniçeriğiniweb/dist/extension/altına kopyalar.
web/src/lib/debug.tsiçindeDEBUGbayrağı vedlog(...)fonksiyonu bulunur.- Geçici olarak tarayıcıda:
window.APP_DEBUG = trueyaparak etkinleştirebilirsiniz.
- Varsayılan:
openai/gpt-oss-120b:free(birincil) vegoogle/gemini-2.5-flash-lite(yedek). Hata halinde otomatik fallback. - Popup,
OPENROUTER_MODELSile dinamik model listesini çeker; arama ve “yalnız free” filtresi vardır. - Favoriler:
FAVORITE_MODELSolarak saklanır; “Son kullanılan model”LAST_MODELile hatırlanır ve varsayılanda önceliklenir. - Overlay’deki “Model seç” menüsü yalnız ilgili analiz çağrısını geçici olarak seçilen modelle yapar (kalıcı ayarı etkilemez).
- API anahtarınız
chrome.storage.local’da saklanır; analiz sonuçlarıchrome.storage.sessionüzerinde TTL (varsayılan 300 sn) ile önbelleğe alınır.
- Eklentiyi yükledikten sonra popup’ı açın.
- “OpenRouter Ayarları” bölümünde:
- “API Key” alanına OpenRouter anahtarınızı girin (ör.
sk-or-...). - “Birincil Model” ve “Yedek Model” alanlarını dinamik listeden seçin; arama ve “yalnız free” filtresini kullanabilirsiniz. Favori kutularıyla favorilere ekleyin.
- “Kaydet”e basın.
- “API Key” alanına OpenRouter anahtarınızı girin (ör.
- “Test” butonuyla bir deneme çağrısı yapabilirsiniz. Çıktı aşağıdaki
outpanelinde listelenir.
Notlar:
- background service worker, birincil modelde hata oluşursa otomatik olarak fallback modele yeniden dener ve kullanılan modeli
LAST_MODELolarak kaydeder. - content script, sayfa metnini 8000 karaktere kadar kırpar; alan adı filtresi ve oturum önbelleği (CACHE_TTL) uygular.
- Manuel mod açıkken analiz yalnızca “Analiz et” ile başlatılır; panel konumu/tema ve minimize davranışı ayarlardan yönetilir.