Створив open-source розширення, що блюрить ворожий текст на сайтах та перенавчає алгоритми YouTube Shorts. Шукаю фідбек
Вітаю , DOU спільното!
Хочу поділитися своїм open-source пет-проєктом, який переріс у серйозний інструмент цифрової гігієни. Нещодавно ми випустили велике оновлення версії 2.0, і мені дуже цікавий фідбек колег по цеху.
Проєкт називається Antirus-Control. Це повністю безкоштовне розширення для браузерів на базі Chromium, мета якого — повністю очистити ваш особистий інтернет-простір від російського контенту.
Глобальний веб-фільтр: Блюр на всіх сторінках
Робота розширення починається з тотального очищення тексту в мережі. Воно аналізує DOM-структуру веб-сторінок у реальному часі й автоматично застосовує ефект розмиття (blur) до будь-яких виявлених руснячих елементів.
Фільтр працює на сайтах новин (укрнет та інші), Ютубі, Ютуб-Шортсах (на форумах, блогах та соцмережах потрібно тестувати). Він приховує:
- Назви та заголовки статей
- Описи та текстові блоки
- Коментарі (якщо під хорошим українським чи іноземним відео з’являється ворожа мова, розширення заблюрить або приховає тільки її, не чіпаючи саме відео)
- Теги та метадані
- Іноді навіть графічні логотипи та елементи інтерфейсу, що містять токсичні маркери.
Ви просто не бачите інформаційне сміття, і вам не потрібно витрачати увагу на його читання чи аналіз.
Нова фішка v2.0: Розумний скіп та перенавчання YouTube Shorts
Оскільки алгоритми YouTube Shorts побудовані так, щоб максимально утримувати увагу користувача, випадковий перегляд ворожого ролика миттєво забиває цим стрічку рекомендацій.
У версії 2.0 ми реалізували функцію Smart Skip на рівні фронтенду. Розширення сканує Shorts під час прокрутки. Щойно виявляється збіг за текстовими маркерами — скрипт автоматично перемикає ролик далі за долі секунди. Користувач бачить лише легке блимання екрана, а український та міжнародний контент залишаються повністю доступними.
Але найголовніше — це ламає рекомендаційну систему YouTube! На початку тестування алгоритм видавав у середньому ~60 російських Shorts на годину. Після тижня активного використання Smart Skip ця цифра впала до ~5 Shorts на годину (тобто у 12 разів менше!).
Оскільки розширення прогортає ворожий ролик миттєво, YouTube отримує потужний сигнал: «Утримання (retention) нульове, користувач не затримав погляд ні на секунду». Алгоритм розуміє, що цей контент неефективний, і просто припиняє його пропонувати.
Безпека та архітектура
Для мене як розробника принциповим питанням була безпека:
- Весь аналіз та обробка коду відбуваються 100% локально у вашому браузері.
- Жодних зовнішніх серверів чи баз даних.
- Жодного збору аналітики, особистих даних чи телеметрії.
- Проєкт повністю некомерційний, без реклами чи прихованої монетизації.
Оскільки розширення поки що на стадії ручного встановлення (готуємося до публікації в Chrome Web Store), ми оформили детальний реліз та інструкцію зі встановлення ZIP-архіву прямо на GitHub. Буду дуже вдячний за конструктивну критику коду, ідеї щодо покращення регулярних виразів та, звісно, за зірочки на GitHub! ⭐
Посилання на репозиторій та завантаження v2.0: github.com/...uskontrol/antirus-control
Зв’язок з розробником (Email): [email protected]
Давайте позбавимо їх нашої уваги, переглядів та перекриємо монетизацію разом! 🚫💰



40 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівсьгодні додали два невеликих але наочних відео наших тестів
antiruskontrol.github.io/antirus-control
(для тих коиу цікаво)
( що там тролі, набрались сил!?)
Я вважаю, що ці рішення потребують текстового опису!
Відео для домогосподарок!
нарешті щось конструктивне, дякую, подумаю щоб не тільки господаркам заходило, аі домогосподарям!
Логіка роботи рішень максимально проста, оскільки розширення повністю локальне:
1. Аналіз тексту: Після завантаження DOM-дерева скрипт перевіряє текстові вузли за regex-словником. При знаходженні маркерів до елемента застосовується CSS-стиль filter: blur().
2. Контроль Shorts: Скрипт зчитує назву та опис поточного відео з метаданих сторінки YouTube. При збігу з базою тригерів імітується натискання клавіші ArrowDown або клік по кнопці навігації плеєра для переходу на наступний ролик, паралельно глушиться звук на час перемикання.
Спеціально для поглиблення розуміння архітектурних рішень та деконструкції міфів про «контент для домогосподарок», додаю детерміновану специфікацію функціональних модулів ядра UAFilter:
1. Підсистема лінгвістичного аналізу та динамічної обфускації контенту
Обробка текстових масивів не є поверхневою; вона базується на асинхронному перехопленні подій життєвого циклу DOM-дерева (DOMContentLoaded / MutationObserver). Після повної побудови та кожної наступної динамічної мутації вузлів документа, ядро розширення ініціює потокове сканування текстових сутностей за допомогою компільованих регулярних виразів (High-Performance RegEx Engines). У разі детекції лексичних маркерів із заздалегідь визначеної бази тригерів, розширення виконує пряму інжекцію інлайнових стилів у рантаймі, застосовуючи апаратно-прискорюваний фільтр розмиття (JS-driven CSS filter: blur()). Це переводить цільовий об’єкт у нечитабельний стан без деструкції оригінальної структури даних. За умов валідації зміни мовного коду на суверенну локаль, обфускація миттєво анігілюється.
2. Модуль автоматизованого перехоплення та кінематичного скіпінгу YouTube Shorts
Алгоритм контролю короткоформатного медіаконтенту оперує низькорівневим парсингом метаданих об’єкта window.ytInitialPlayerResponse. Скрипт асинхронно зчитує стрімінгові дескриптори, аналізуючи стрингові змінні назви відео, текстового блоку опису та унікального ідентифікатора каналу-дистриб’ютора. При виявленні збігів у лінгвістичній матриці, система активує кастомний обробник подій, який імітує віртуальне переривання введення користувача на рівні ОС через генерацію синтетичної події KeyboardEvent (код клавіші ArrowDown) або через прямий виклик методу .click() на елементі навігаційного інтерфейсу плеєра. Для нівелювання акустичного дискомфорту під час транзиту між роликами, ядро тимчасово демпфує аудіопотік через API плеєра до моменту повної стабілізації наступного контент-провайдера.
Сподіваюсь, дана експлікація архітектурних паттернів остаточно зніме питання щодо інженерної складності продукту. Приємного чаювання! 😉
додані три кнопки (в сучасних умова сьогодення просто необхідні), а як вважаєте ви?...
вітаю, спільното! а ось і довгоочікуваний опис (для гурманів!) підтягнувся, заварюйте собі чай, та насолоджуйтесь....
АРХІТЕКТУРНИЙ АУДИТ ТА СЕМАНТИЧНО-СТРУКТУРНИЙ АНАЛІЗ МОДЕРНІЗАЦІЇ ВЕБ-ДОКУМЕНТА UAFILTER / ANTIRUS-CONTROL (v2.1.9 — v2.1.10)
1. Оптимізація семантичного дерева (DOM) та інкапсуляція контенту
Рефакторинг структури документа спрямований на забезпечення валідності за специфікацією HTML5, ліквідацію надлишкового вкладеного коду (DOM pollution) та покращення доступності для пошукових роботів (SEO crawling).
• Санація та деструктуризація «сміттєвих» блоків: У версії v2.1.10 повністю ліквідовано критичну архітектурну аномалію — наявність ізольованих рекурсивних конструкцій html/head/body всередині інформаційного контейнера «Готово!». Документ приведено до лінійної ієрархічної структури.
• Впровадження семантичних контейнерів верхнього рівня: Інтегровано тег <main> для ізоляції основного контенту веб-сторінки, що підвищує індекс логічної доступності (Accessibility Mapping). Структуровано блоки FAQ та додано ідентифікатор позиціонування id="install".
• Нормалізація медіа-компонентів та атрибутів: Усім растровим та векторним асетам примусово визначено дескриптори геометричних розмірів (width/height) для запобігання зсуву макета під час завантаження сторінки (Cumulative Layout Shift — CLS). Додано валідовані текстові еквіваленти (alt). Для вузла компресованих дистрибутивів (ZIP-кнопка) інтегровано атрибут безпеки контекстного виклику rel="noopener" спільно з директивою download.
2. Рефакторинг мультимедійного конвеєра та оптимізація рендерингу відеопотоків
Еволюція обробки відеоматеріалів (демо-блоків) демонструє перехід від агресивного неконтрольованого завантаження до інтелектуального керування ресурсами клієнта.
• Придушення фонового декодування (v2.1.10): Для мінімізації споживання пам’яті (RAM) та зниження навантаження на центральний процесор (CPU), з демо-відео повністю усунено деструктивний атрибут autoplay. Додано інструкцію preload="none", яка блокує ініціалізацію завантаження медіа-фрагментів до моменту взаємодії.
• Впровадження патерну Intersection Observer (маркери DEMO_*): Рендеринг та відтворення відеоблоків детермінується їхнім перебуванням у поточному вікні перегляду (Viewport). Код оперує низькорівневими тригерами: запуск декодування та виклик .play() виконується лише тоді, коли елемент досягає цільової зони видимості, а при виходу з неї — миттєво викликається .pause().
• Низькочастотний фоновий рендеринг футера (v2.1.9): Анімоване тло підвалу (media/flag.mp4) оптимізовано за допомогою штучного уповільнення частоти кадрів у 3 рази (framerate downsampling). Реалізовано плавний градієнтний перехід маски альфа-каналу від верхньої межі відеоблоку у статичний колір колірної схеми сайту (#0d1117).
3. Стилістична специфікація та мікроінтерфейсна анімація модальних вікон
Утилізація CSS-параметрів для компонента changelogModal (#dynamicChangelogModal) відображає концепцію агресивного неонового дизайну із диференціацією візуальної ієрархії.
• Ізоляція та апаратне прискорення діалогів: Видалено дублюючий статичний DOM-вузол вікна логу змін та синтаксичні помилки в CSS-селекторах. Модальне вікно переведено в режим фіксованого позиціонування (position: fixed) строго по центру геометричних осей (top: 50%; left: 50%; transform: translate(-50%, −50%)). Анімація появи fadeInDialog тривалістю 350 мс використовує кубічну криву Безьє cubic-bezier(0.25, 1, 0.5, 1) для згладжування інтерполяції кадрів (hardware-accelerated scale/opacity transformation).
• Глибоке розмиття фонового шару: Псевдоелемент ::backdrop отримав комбінований фільтр непрозорості та розмиття матриці (background: rgba(0, 0, 0, 0.85); backdrop-filter: blur(7px)), що ізолює фоновий контекст сторінки.
• Рівнева деградація хроматичного неон-випромінювання (Управління світінням):
• Рівень 1 (Поточний мажорний стейт v2.0): Максимальна яскравість. Заголовки h3 та h4 використовують насичені неонові відтінки (#ffcc00, #ff6600) із багатошаровим розмиттям тіней text-shadow (радіус до 20px). Елементи списку ul масштабовані за розміром шрифту на +75% (до 19px) з високою контрастністю лінії line-height: 1.7.
• Рівень 2 (Ретроспективний стейт v1.0): Ефект затухання в темряві. Для маркування застарілих версій колірні координати зміщено в тьмяну низькоконтрастну гаму (#aa6600, #8a7043). Функцію світіння text-shadow повністю деактивовано, розмір шрифту зменшено до базових 16px.
4. SEO-оптимізація та семантична мікророзмітка даних
Для забезпечення високої релевантності в пошукових системах і коректної інтерпретації роботами Googlebot архітектура сторінки v2.1.10 містить повний стек мета-даних:
• Канонізація та інструкції індексації: Тег <link rel="canonical"> жорстко фіксує єдине дзеркало сторінки розширення на GitHub Pages, ліквідуючи ризик появи дублікатів контенту. Мета-тег robots з директивою max-image-preview:large дозволяє пошуковим системам генерувати розширені сніпети.
• Протоколювання Open Graph та X (Twitter) Cards: Впроваджено блоки властивостей og:type, og:locale="uk_UA«, а також параметризовані картки для соціальних платформ із явним посиланням на растровий логотип розширення (iconhtml.png) та його описовий альт-текст.
• Об’єктно-орієнтована мікророзмітка JSON-LD (Schema.org): Впроваджено структурований скрипт типу SoftwareApplication. Алгоритми пошукових систем отримують валідовані машиночитані дані про сутність: категорія програми (BrowserApplication), сумісність з операційними системами (рушії Chromium), поточна версія розширення (2.0), нульова вартість ліцензії в національній валюті (priceCurrency: «UAH») та інформація про розробника.
5. Телеметрія консолі клієнта
Усі інтерфейсні операції, стани модальних діалогів та події життєвого циклу плагіна маркуються в потоці стандартного виведення console.log унікальними рядковими тегами-ідентифікаторами [UAFilter-UI], що спрощує моніторинг помилок і дебаг інтерфейсу в реальному часі.
(...сподіваюсь стало зрозуміліше!?
це вже точно не для домогосподарок, чи як ви вважаєте?...)
antiruskontrol.github.io/antirus-control
тепер розширення має сайт з прямим посиланням на завантаження архіву з гітхабу
дякую коментаторам за мотиваційну підтримку!
Але мені особисто приємно спостерігати як тролі «вимушено» коментують українською!!! так працює лагідна українізація!!!
Тролі зазвичай анонімні, як ви.
У мене відсутня довіра до вашого розширення й до вас, пишу це прямо.
А українською мовою спілкуюся давно й українські бізнеси присоромлював за порушення закону ще у 2021 році, ось.
людина не зобов’язана спілкуватися виключно українською мовою — а лише в рамках офіційного обслуговування!
тож, привертає ще більше уваги!
оля палякова вам аплодує!!!
а в мене до вас відсутня цікавість! (стільки енергії витрачати на хейт-це мабуть робота!!?)
цеж треба цілий день вони як чорти під святою водою тут навалюють,ні дружини їх не цікавлять не інші цікаві недільні справи, ( тільки нестримана ментальна маструбація в коментах! дуже цікава група джентельменів тут виникла (цікаво що їм потрібно??!)
ви самі собі суперечите) з самого початку)))) :D
подивився ваші коментарі на цьому сайті збагнув, ви професійний коментатор!!! тому дякую за ці та наступні коментарі!
не збагну, про що це ви?
чергове КГАМ
Інтернет має бути вільним — у авторі бачу жертву аборту співробітника СБУ...
у Рашці — це КДБ, у США — це ФСБ та ЦРУ
Усі хочуть засунути вам труси і змусити не говорити те, що ви насправді думаєте — не дай Боже, неправильний допис у соцмережах — ось де зараз мама Єлесеєвича? Під арештом за репости та лайки в соцмережах — ось такий ККД СБУ!
менталіст? а... а, схоже це іхній керівник групи ( тролів?) , так авторитерно заявляє,мабуть з свого досвіду знає про що базікає...
психіатрична лікарня переповнена... зазвичай це до весни
тут уже нічого розмусолювати — усе очевидно. Коли система працює на паперові звіти та залякування, штампуючи кримінальні справи проти літніх родичів за репости в інтернеті, жодної логіки чи справедливості в цьому немає. Це чисте свавілля та імітація роботи, яка просто нищить довіру людей.
дивись як розійшовся! це весь потенціал, чи ще женю болта розминаєте??
я вгадав це досвідчений спеціаліст
Досить публікувати на DOU платні інструменти, пов’язані з персональною інформацією, або ж розширення для браузерів від анонімних порожніх DOU-акаунтів типу /users/antiruskontrol/.
В мене особисто відсутня довіра до таких інструментів: не зрозуміло, хто за них відповідає, яку шкоду вони можуть завдати, якщо це якесь ІПСО.
Як є. Створюю власні інструменти від власного реального імені.
Ви точно розробник і уважно читали реліз? Розширення не комерційне! А якщо ви в сучасному світі нездатні перевірити розширення на шкідливість , то, будь ласка, не витрачайте мій час!
На відміну від вас, про мене легко знайти інформацію: хто я, яка в мене професія, який у мене досвід, які проєкти я роблю.
Хто ви — невідомо.
У поточних умовах через російсько-українську війну в мене відсутня довіра до розширень, створених анонімами для українців. Це здорова цифрова гігієна. Хто думає інакше — ідіот.
Я не хочу з вами знайомитись! Я не розробник я хлібний тренер (вчу людей випікати хліб) це мій другий досвід в концептуальному програмуванні( це моє нове хоббі) тому мені потрібен фідбек від тих хто в темі, в не токсиків з повагою: Розробник: Афтіпа Марко Оцтович
// [email protected]
Ви точно розробник і уважно читали реліз? Розширення не комерційне! А якщо ви в сучасному світі нездатні перевірити розширення на шкідливість , то, будь ласка, не витрачайте мій час!
бачу в вас потужна підтримка!(колеги?), Дивно що женя болт ( з коментаря трохи нижче), ще вас не підтримав ( судячи з всього він теж з вашого інтелектуального клубу), може спить ще...(...втомився...)
"
"
згоден на 100% бачу хлопці ви чудова команда ( тролів?), бачу імена в вас славні, не "ононімні«,і гігієна О-ГО-ГО!!! (щось тіыки женя болт ваш ще спить, мабуть всю ніч «коментував» в нього теж схожа з вашою гігієна!)
Взагалі в ютубі для кожного відео є кнопочка : not interested. Велосипеди не потрібні
Кнопка корисна, згоден. Проте «велосипеди» часто створюються з конкретною метою: для навчання, оптимізації під дуже вузькі завдання або коли готові рішення мають завеликий оверхед. Цей матеріал якраз для тих, кому цікава саме ця специфіка.
Але в мене, мабуть, мозолі на пальцях та очах були ,якщоб я скористався вашою порадою при перегляді шортсів!
Господи! Столько усилий на какую-то херню!
Автор, и другие борцы за мову! Вы бы лучше воевать пошли в ЗСУ может? А то еще «выгорание» наступит от усердия!
Все ти бачиш, ухилянт!
ти правий! женя болт!
Вимкнув фільтр, прочитав цей коментар, здивувався, що на доу теж є «совкодрочери» (мені 64 роки, я їх гарно бачу!)
так у них и так нет монетизации =\
На щастя цей алгоритм блюрить коментар (руснячою!і даже на dou, так що я їх просто не бачу, але дякую що прокоментували!