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.com: %82 (engelleyicisiz %6) | adblock-tester.com: 100/100 |
![]() |
![]() |
| YouTube: reklamsız, kesintisiz oynatma | TRT 1 canlı: anti-adblock duvarı atlatıldı, yayın akıyor |
| MSBlock | uBlock Origin Lite | AdBlock Plus | DNS engelleyici (Pi-hole vb.) | |
|---|---|---|---|---|
| Chrome MV3'te tam çalışır | ✅ | ✅ | ✅ | — |
| Ağ kuralı sayısı | 212.085 | ~50-100k (varsayılan az) | daha az | listeye bağlı |
| Kozmetik filtreleme (boş kutu kalmaz) | ✅ 22.9k seçici | kısıtlı | ✅ | ❌ yapamaz |
| Scriptlet / anti-adblock savunması | ✅ 2.026 alan | kısıtlı | ❌ | ❌ |
| Öğe seçici (tıkla-gizle) | ✅ | ❌ | ✅ | ❌ |
| Kendi filtrelerini yazma | ✅ ağ + kozmetik | ❌ | ✅ | alan bazlı |
| YouTube reklam engelleme | ✅ 3 katman | kısmi | kısmi | ❌ (video kırar!) |
| Anti-adblock duvarı atlatma | ✅ 3 katman (mock SDK + scriptlet + duvar sökücü) | ❌ | ❌ | ❌ |
| Video oynatma garantisi | ✅ derleyici seviyesinde | — | — | ❌ googlevideo riski |
| "Kabul edilebilir reklam" istisnası | ❌ yok | yok | yok | |
| Veri toplama / telemetri | ❌ sıfır | sıfır | sıfır | |
| Türkçe reklam listesi + arayüz | ✅ dahili | ❌ | ❌ | manuel |
| Zararlı yazılım koruması (URLHaus) | ✅ | ❌ | ❌ | listeye bağlı |
Fark yaratan iki tasarım kararı:
- Video asla kırılmaz. DNS/hosts tabanlı çözümler
googlevideo.comsunucuları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. - 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.
- 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:
- 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.
- Scriptlet motoru —
abort-current-inline-script,set-constant,override-property-read,no-setTimeout-if,no-setInterval-if,prevent-eval-if,nowebrtcscriptlet'leri; 10.000+ alanda anti-adblock tespit betiklerini etkisizleştirir - 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
USERorigin 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
- Ağ katmanı: yalnızca reklam uçları (
/api/stats/ads,/pagead/…) engellenir —googlevideo.comvideo sunucularına asla dokunulmaz - Veri katmanı:
JSON.parse/Response.jsonkancaları oynatıcı yanıtındanadPlacements,adSlots,playerAdsalanlarını temizler - 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
- Ağ katmanı: yalnızca reklam uçları (
- Öğ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+Bkı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-fixeslistesi (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
- Tarayıcıda
chrome://extensions(Brave:brave://extensions, Edge:edge://extensions, Opera:opera://extensions) aç - Sağ üstten Geliştirici modunu aç
- Paketlenmemiş öğe yükle → bu klasörü (
MSBlock) seç
Firefox notu: Firefox MV3'te arka plan "event page" kullanır.
manifest.jsoniçindekibackgroundbölümüne"scripts": ["src/background.js"]ekleyipbrowser_specific_settings.gecko.idtanımlamak gerekir; DNR kural setleri Firefox 113+ ile uyumludur.
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)
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.
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.
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- İzinler asgari:
declarativeNetRequest,storage,scripting,tabs,alarms evalyok, uzak kod yok, WebAssembly yok; scriptlet'ler paketli ve beyaz listeli- Kozmetik seçiciler enjeksiyondan önce sözdizimsel olarak doğrulanır (
{ } ; \veurl()reddedilir) - Kullanıcı filtreleri ve quick-fixes içeriği yalnızca veri olarak ayrıştırılır;
redirect,cspgibi 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 | Engelleyicisiz | MSBlock |
|---|---|---|
| superadblocktest.com | %6 | %82 |
| obfusgated.com ad-block-test | %14 | %85 |
| adblock-tester.com | 43/100 | 100/100 |
| canyoublockit.com extreme | reklamlar yüklendi | tüm bölmeler boş |
| YouTube (monetize video) | reklam yedi, video gecikti | reklamsı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/.



