Skip to content

контент фильтр расширение для браузера, версия WORKSPACE

Notifications You must be signed in to change notification settings

denis-ermolaev/content-filter-browser-extension

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Текущая Разработка

!!! Не переносим background.js на TypeScript, это позволит писать к нему модули как на JS, так и на TS

  1. Установить node js, зайти консолью в папку проекта
  2. npm i - установить зависимости проекта (один раз)
  3. npm run build - сборка (после изменений и до подгрузки расширения)
  4. Подгружаем расширение из папки dict

Определитель языка - https://github.com/nitotm/efficient-language-detector-js?tab=readme-ov-file

  • Проверить
  • Измерить скорость и решить какую модель мы используем, большую /среднюю /маленькую

content-filter-browser-extension

Расширение создано для блокировки "время пожирающих сайтов", чтобы сохранять внимание и продуктивность

В сфере продуктивности есть два взгляда на решение проблемы с вниманием, (1) - это убирать "шумы", всякие уведомления, время пожирающие ресурсы и т.п, (2) - усиленная концентрация, прокачивать навык концентрироватся и тому подобное

"современная наука пришла к окончательному выводу, что мозг способен меняться всю жизнь, а следовательно, обучение — это естественное и перманентное его состояние. Потому и заставлять никого не надо — нужно только создать такие условия, в которых мозг будет учиться тому, чему хотите научиться вы сами (иначе он усвоит что-нибудь бесполезное вроде очередной дурной привычки)."

Статья на тему - https://knife.media/neuroplasticity/

Идеи

Механизм слов-веса не идеален, но он прост и дешёв. Возможно потом по мере развития Data science части мы перейдём на что-то лучшие, но пока для нас сложно даже создать слова-веса, хотя механизм уже есть и мы можем это делать Будет куча ложноположительных, ложноотрицательных блокировок - надо найти оптиум в том числе и для пользователя

Нужно найти нишу, что конкретно мы будем закрывать. Для меня когда-то это расширение было дополнение к решению от SkyDNS, т.к у них очень большой и классные белые и чёрные списки, но если перебрать 10 сайтов с аниме найти рабочие можно. Cold Turkey идеален для разбора url адресов, поэтому это не наша ниша

Думаю нам нужно сконцентрироватся на таком типо инструменте для фокуса, например на неделю у тебя заблокированы книги, музыка,видео и т.п. А вот блокировку "не подходящего для работы контента" мы наверное полностью забьём. Или надо ? Потому что это позволит занять нишу родительского контроля. Но детям возможно хватает уже существующих решений

Там есть целый бизнес контент фильров для дитей, школ, библиотек, компаний, хотя тема не то, чтобы очень популярна. Пока что все предпочитают смотреть тик ток, чем делать что-то другое

История создания

Основано на другом расширении, которое блокирует не подходящий для работы контент, но оно было полностью переписано на манифест 3 и из-за этого кода от изначального расширения уже нету. Осталась только сама архитектура и логика приложения, Были добавлены новые ф-и и закрыты баги Хотя изначальное расширение тоже "позаимствовало" сами слова-веса из какого-то другого решения, там что-то связанное с работой и контент фильтраницей(никто не хочет чтобы сотрудники смотрели ютуб на работе ?)

Версии

1.1.0.4 - версия имеет механизмы:

  1. Блокировки сайтов по механизму слов-веса, если на сайте найдены слова из списка(настроек), и их веса в сумме превышают лимит, сайт блокируется
  2. Сайты до проверки скрываются от пользователя(Сделано, чтобы они не показывались, если процессор нагружен и проверка останавливается)
  3. Если сайт на не ru или en языке, то он блокируется
  4. Блокируется воспроизведение видео на сайтах не из белого списка
  5. Также версия WORKSPACE, а значит в ней пока что не реализованы ручные настройки, т.к пользователь легко бы мог их изменить

TODO: 1.2

  1. Всё из версии 1.1.0.4 + исправление багов
  2. Настройки для пользователей
  3. Хороший, поддерживаемый код
  4. Красивый дизайн

Работа расширения

Основной файл инициализации расширения - manifest.json, там в json формате написано, какие скрипты где должны запускаться, какие разрешения есть у расширения(доступ к истории, хранилищу, настройкам прокси и т.д)

Директория assets - содержит иконки, шрифты

Директория contentScripts - контентные скрипты(Запуск на начале загрузки страницы, в конце)

  • contentStart.js - применение стилей для сокрытия страницы
  • contentVideo.js - запуск в начале загрузки DOM и на всех фреймах. Блокирует загрузку видео
  • contentEnd.js - получает текст страницы и раскрывает её после сканирования и решения о блокировки

Директория pages - страницы расширения(Могут быть настройками, pop up'ами и т.д)

  • BlockPage - страница блокировки (на неё идёт перенаправление заблокированных страниц)
  • Options - страница настроек для пользователя

Директория - utils - preset.json - пресет настроек

tsconfig.json - настройки сборщика TypeScript`а

webpack.config.js - файл настройки webpack

package.json - пакеты зависимостей, а также указание на то, что будет использоваться для сборки

About

контент фильтр расширение для браузера, версия WORKSPACE

Resources

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •