Skip to content

Repository files navigation

MSBlock — Tam Kapsamlı Reklam Engelleyici

Full-featured MV3 ad blocker for Chrome/Brave/Edge/Opera. Blocks YouTube ads without ever breaking video playback. 212k+ network rules, cosmetic filtering, scriptlets, element picker. Zero telemetry, zero remote code. English docs: see code comments; UI is Turkish.

Chrome, Brave, Edge ve Opera'da çalışan; YouTube reklamlarını video oynatmayı bozmadan engelleyen; internetteki reklamları, izleyicileri ve zararlı alan adlarını kaynağından kesen Manifest V3 tarayıcı eklentisi.

Tüm işlem cihazınızda gerçekleşir. MSBlock hiçbir veri toplamaz, hiçbir sunucuya bilgi göndermez, uzaktan kod çalıştırmaz.

superadblocktest %82adblock-tester 100/100
superadblocktest.com: %82 (engelleyicisiz %6)adblock-tester.com: 100/100
YouTube reklamsızTRT canlı reklamsız
YouTube: reklamsız, kesintisiz oynatmaTRT 1 canlı: anti-adblock duvarı atlatıldı, yayın akıyor

Neden MSBlock?

MSBlockuBlock Origin LiteAdBlock PlusDNS engelleyici (Pi-hole vb.)
Chrome MV3'te tam çalışır
Ağ kuralı sayısı212.085~50-100k (varsayılan az)daha azlisteye bağlı
Kozmetik filtreleme (boş kutu kalmaz)✅ 22.9k seçicikısıtlı❌ yapamaz
Scriptlet / anti-adblock savunması✅ 2.026 alankısıtlı
Öğe seçici (tıkla-gizle)
Kendi filtrelerini yazma✅ ağ + kozmetikalan bazlı
YouTube reklam engelleme✅ 3 katmankısmikısmi❌ (video kırar!)
Anti-adblock duvarı atlatma✅ 3 katman (mock SDK + scriptlet + duvar sökücü)
Video oynatma garantisiderleyici seviyesinde❌ googlevideo riski
"Kabul edilebilir reklam" istisnası❌ yokyok⚠️ varsayılan AÇIKyok
Veri toplama / telemetri❌ sıfırsıfır⚠️sıfır
Türkçe reklam listesi + arayüz✅ dahilimanuel
Zararlı yazılım koruması (URLHaus)listeye bağlı

Fark yaratan iki tasarım kararı:

  1. Video asla kırılmaz. DNS/hosts tabanlı çözümler googlevideo.com sunucularını engelleyip videoların kendisini bozar. MSBlock derleyicisi bu sınıf kuralları derleme anında reddeder ve test paketi her derlemede "hiçbir kural video URL'siyle eşleşemez" garantisini doğrular.
  2. Skor için site kırılmaz. Çerez onay platformları, A/B test araçları gibi "engellenirse site bozulur" alanlar bilinçli olarak engellenmez — uBlock Origin felsefesi: reklamı engelle, web'i kırma.

Özellikler

  • 216.000+ ağ kuralı — EasyList, EasyPrivacy, uBlock Origin filtreleri (ads + privacy + badware + unbreak + quick-fixes), AdGuard DNS filtresi, anti-adblock circumvention listeleri (abp-filters-anti-cv + AdGuard antiadblock), Peter Lowe, URLHaus zararlı yazılım listesi ve Türk reklam listesinden derlenir
  • Anti-adblock atlatma (3 katman) — "reklam engelleyici tespit edildi" duvarları yüzünden açılmayan video ve siteler açılır:
    1. Sahte IMA/GPT SDK yönlendirmesi — Google IMA/GPT reklam SDK'ları engellenmek yerine zararsız taklitlerine yönlendirilir; oynatıcı SDK'yı "yüklendi" görür, reklam ister, "reklam yok" yanıtı alır, içeriği oynatır. tabii.com ve TRT canlı yayın bu yöntemle sorunsuz açılır.
    2. Scriptlet motoruabort-current-inline-script, set-constant, override-property-read, no-setTimeout-if, no-setInterval-if, prevent-eval-if, nowebrtc scriptlet'leri; 10.000+ alanda anti-adblock tespit betiklerini etkisizleştirir
    3. Genel duvar sökücü — listede olmayan siteler için: tüm ekranı kaplayan "reklam engelleyici" uyarı katmanını kaldırır, kaydırmayı geri açar, duraklatılan videoyu devam ettirir (yalnızca gerçek adblock duvarlarında; giriş/çerez/paywall modallarına dokunmaz)
  • Kozmetik filtreleme — 13.700+ genel seçici ve 9.200+ alana özel seçici; sayfaya USER origin CSS ile enjekte edilir, sayfa bunu ne görebilir ne kaldırabilir
  • Scriptlet motoru — uBlock Origin scriptlet'lerinin derlenmiş alt kümesi (set-constant, json-prune, abort-on-property-read/write); 2.000+ alanda anti-adblock savunması. Tamamı paketle gelir, uzaktan kod yok
  • YouTube: üç katmanlı koruma
    1. Ağ katmanı: yalnızca reklam uçları (/api/stats/ads, /pagead/ …) engellenir — googlevideo.com video sunucularına asla dokunulmaz
    2. Veri katmanı: JSON.parse / Response.json kancaları oynatıcı yanıtından adPlacements, adSlots, playerAds alanlarını temizler
    3. Oynatıcı katmanı: yine de sızan reklam (ör. sunucu taraflı eklenen) anında atlanır (sustur → 16x hızlandır → sona sar → "Atla"ya bas); anti-adblock uyarı pencereleri otomatik kapatılır
  • Öğe seçici — sayfadaki herhangi bir öğeyi tıklayıp kalıcı olarak gizle (kendi filtrelerine yazılır)
  • Site bazlı izin listesi — tek tuşla bu sitede engellemeyi kapat (Alt+Şift+B kısayolu)
  • Kendi filtrelerin — ABP/uBO söz dizimiyle ağ ve kozmetik filtre yaz
  • Rozet sayacı — sekmede engellenen istek sayısı
  • Hızlı düzeltmeler — uBO quick-fixes listesi (yalnızca resmî adresten, isteğe bağlı, günlük) dinamik kurallara işlenir; içerik yalnızca veri olarak ayrıştırılır

Kurulum (geliştirici modu)

  1. Tarayıcıda chrome://extensions (Brave: brave://extensions, Edge: edge://extensions, Opera: opera://extensions) aç
  2. Sağ üstten Geliştirici modunu aç
  3. Paketlenmemiş öğe yükle → bu klasörü (MSBlock) seç

Firefox notu: Firefox MV3'te arka plan "event page" kullanır. manifest.json içindeki background bölümüne "scripts": ["src/background.js"] ekleyip browser_specific_settings.gecko.id tanımlamak gerekir; DNR kural setleri Firefox 113+ ile uyumludur.

Mimari

build/fetch-lists.mjs → listeleri resmî kaynaklardan indirir (SHA-256 kayıtlı)
build/compile.mjs → ABP söz dizimi → DNR JSON + kozmetik indeks + scriptlet config
src/lib/abp-parser.mjs → paylaşılan ayrıştırıcı (derleyici + kullanıcı filtreleri)
src/background.js → kozmetik enjeksiyon, izin listesi, dinamik kurallar, mesajlaşma
src/content/cosmetic.js → her karede kozmetik CSS talebi (document_start)
src/content/yt-main.js → YouTube MAIN-world JSON temizliği
src/content/youtube.js → oynatıcı bekçisi: reklam atlama + anti-adblock kapatma
src/content/scriptlets-main.js → scriptlet motoru (yalnızca paketli config)
src/content/antiadblock.js → genel anti-adblock duvar sökücü (emniyet katmanı)
src/redirect/google-ima.js → sahte Google IMA SDK (reklam duvarlarını atlatır)
src/redirect/gpt.js → sahte Google Publisher Tag
rulesets/ → derlenmiş kural setleri (9 DNR + kozmetik + scriptlet)

Anti-adblock atlatma nasıl çalışır?

tabii.com / TRT canlı yayın gibi siteler Google IMA reklam SDK'sının (imasdk.googleapis.com/.../ima3.js) yüklenip yüklenmediğini kontrol eder; engellenirse "reklam engelleyici tespit edildi" der ve videoyu duraklatır. MSBlock bu SDK'yı engellemek yerine zararsız bir taklidine yönlendirir (web_accessible_resources + DNR redirect). Oynatıcı SDK'yı yüklenmiş görür → reklam ister → taklit "reklam yok / hata" der → oynatıcı içeriğe geçer. Video dağıtımına (m3u8 manifest, CDN) hiç dokunulmaz, sadece reklam mantığı devre dışı kalır. Liste tabanlı scriptlet'ler ve genel duvar sökücü, IMA kullanmayan diğer siteleri kapsar.

Neden videolar kırılmıyor?

YouTube, reklamları da videoları da aynı CDN'den (googlevideo.com) dağıtır. Hosts tabanlı listeler bazen r3---sn-*.googlevideo.com gibi sunucuları engeller — sonuç: reklam değil, videonun kendisi kırılır. MSBlock derleyicisi bu tür kuralları derleme anında reddeder (isPlaybackBreaking), test paketi de hiçbir derlenmiş kuralın googlevideo/videoplayback ile eşleşemeyeceğini her derlemede doğrular. Reklamlar ağ yerine veri ve oynatıcı katmanında kesilir.

Yeniden derleme

npm run build # listeleri indir + derle
npm test# birim + kapsam testleri (30 test)
node test/e2e/run.mjs --runs 5 # gerçek tarayıcıda uçtan uca test

Güvenlik

  • İzinler asgari: declarativeNetRequest, storage, scripting, tabs, alarms
  • eval yok, uzak kod yok, WebAssembly yok; scriptlet'ler paketli ve beyaz listeli
  • Kozmetik seçiciler enjeksiyondan önce sözdizimsel olarak doğrulanır ({ } ; \ ve url() reddedilir)
  • Kullanıcı filtreleri ve quick-fixes içeriği yalnızca veri olarak ayrıştırılır; redirect, csp gibi kod-etkili seçenekler dinamik kurallarda reddedilir
  • Mesajlaşmada alan adı, içerikten değil sender.url'den alınır (sahte mesaj koruması)
  • Hiçbir telemetri, hiçbir dış istek (yalnızca isteğe bağlı quick-fixes güncellemesi, sabit HTTPS adres)

Test sonuçları (gerçek tarayıcı, 5 tur)

TestEngelleyicisizMSBlock
superadblocktest.com%6%82
obfusgated.com ad-block-test%14%85
adblock-tester.com43/100100/100
canyoublockit.com extremereklamlar yüklenditüm bölmeler boş
YouTube (monetize video)reklam yedi, video geciktireklamsız, kesintisiz
TRT 1 canlı / tabii.com"reklam engelleyici tespit edildi" duvarıduvar yok, yayın akıyor

Ayrıntı, tur-tur tutarlılık tablosu ve "kalan %15 neden bilinçli engellenmiyor" analizi: TEST-RESULTS.md. Ham JSON + ekran görüntüleri: test/e2e/results/.

About

Tam kapsamlı MV3 reklam engelleyici — YouTube reklamlarını video oynatmayı bozmadan engeller. Full-featured MV3 ad blocker, YouTube-safe by design. 212k+ rules, cosmetic filtering, scriptlets, zero telemetry.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages