В современном мире интернет стал неотъемлемой частью нашей жизни. Мы используем его для работы, общения, развлечений и многого другого. Но вместе с полезной информацией к нам попадает и масса ненужного контента: реклама, всплывающие окна, навязчивые предложения. Решить эту проблему можно с помощью умных технологий.
Один из таких инструментов — OpenWRT, операционная система для роутеров. Она позволяет настроить фильтрацию контента, блокировать рекламу и повысить безопасность сети. Настроить OpenWRT несложно,если у вас есть профессиональный консультант высочайшей категории.
Предисловие
У языковой модели ChatGPT есть особенность о которой не принято говорить - это глупый ребенок с огромным багажом знаний. На получение ответов и выуживания информации уходит больше времени, чем поиск в Google. Он не умеет строить красивые связанные монологи более 200 слов (4 версия) и требует повышенных навыков использователя. Продукт сырой и подходит для решения небольших заданий. С четкой целью и формулировкой. Вариант "принеси — подай, уйди — не мешай" наилучшим образом описывает его возможности. Но есть у чат-бота сильная сторона - это программирование на Python и все что связано с темой IT, настройки, оптимизации. Тут стоит понимать: познания среднестатистического человека в мироустройстве на три порядка больше, чем у ИИ, но в сфере информационных технологий он ушел далеко вперед.
Есть специалисты в настройке локальных сетей. Есть специалисты в написании кода. В анализе данных. В тестировании. В администрировании Windows или Linux. Но это все разные люди. А еще есть специалисты по железу. Читатели Overclockers.ru отлично разбираются в продукции Intel, AMD, nVidia. Но если взять сотни этих специалистов и задать вопрос о смежных отраслях, то Золушка моментально превращается в тыкву. Железнячник не сможет рассказать вам, как скомпилировать код из готовых исходников. Специалист по выявлению ошибок в коде не сможет собрать оптимальный системный блок за вменяемые деньги под свои задачи. Информация слишком объемная для обычного смертного.
Месяц назад уже писал о будущей проблеме всех языковых моделей:
Тёмная сторона нейросети - может ли ChatGPT разрушить человеческую цивилизацию
Сам ИИ слишком глуп. Но он может выступить трамплином для аборигенов и прокачать их познания в отдельных областях. Объяснит и подаст необходимую информацию на тарелочке с голубой каёмочкой. Вам нужно создать ядерную хлопушку? Легко! Держи пошаговую инструкцию. Если есть вопросы - уточни, и он разжует все необходимое.
Предыстория
Много лет назад в мой дом провели оптоволокно и провайдер выделил неплохой роутер-модем. Мой Linksys EA6350 v3 оказался ненужным и отправился на антресоль. Пару лет назад обновил телевизор на 4к с умной начинкой. Я и раньше мог смотреть YouTube и пиратские онлайн кинотеатры, но все тормозило и агрегат "не вывозил". Телевизор редко использовался для просмотра интернет контента. В новом устройстве все поменялось. Встроенный браузер вытягивает любые тяжеловесные сайты. Но появилась новая проблема. Браузеры на персональных компьютерах и в телефонах удаляют самые жесткие баннеры и оставляют легкие рекламные предложения, но на телевизоре... Весь экран заляпан вставками казино и неприличных предложений. Голые сиськи на пол экрана. Нулевая фильтрация. Всплывающие сообщения. Люди не чураются ни чем ради заработка. Нарушаются любые рамки приличия.
Мной было принято волевое решение - искоренить! Сжечь! Вырубить под корень! Следуя советам из умных источников, установил на "бесполезный" роутер OpenWRT и добавил сервер Adblock. Жизнь заиграла новыми красками. Время шло, аппетиты росли. В стоковую прошивку нужно было добавить поддержку USB, общий доступ к файлам, медиа сервер, торрент-качалку, продвинутый фаервол, приоритизация трафика... и после очередного надругательства он перестал включаться. Через год воскресил это недоразумение и остановился на стоковом варианте. Но время шло...
Цели и пути решения
Изучить все возможные варианты фильтрации контента и выбрать оптимальный с минимальными вложениями. Мои познания по данному вопросу поверхностны и работа многих механизмов не понятна. Все найденные варианты разделил на две большие группы:
- Платные
- Нерабочие
Выбор пал на фильтрацию "трафика" по IP адресам. Реклама откуда-то загружается. Если адрес загрузки добавить в фильтр, то загрузка не произойдет. Самый простой и примитивный вариант, но отсеивает не более 30%. Подобные фильтры есть у провайдеров и создаются автоматически. Они прописываются в DNS-серверах. Тех самых, что мы вписываем в настройки роутера 8.8.8.8 /8.8.4.4. Быстрые и качественные стоят денег. Перепробовал несколько от именитых представителей. Бесплатный лимит выедается за пару дней. А эффект не самый большой. плОтить денежку за подобное неинтересно.
Есть альтернативный вариант. Создать свой сервер и ручками добавлять списки для фильтрации. Существует более 30 сторонних продуктов, что помогут вам в данном вопросе. И тут на сцену выходит помощник в лице ИИ. Ему не составит труда предоставить подобный список.
Adblock, Simple Adblock, DNSCrypt-Proxy, Unbound with Adblock, SmartAdBlock, Privoxy, Pi-hole, Blokada, uBlock Origin, AdGuard Home, NextDNS, DNS-over-HTTPS (DoH) with Cloudflare, Hosts-based Ad Blocking, OpenDNS FamilyShield, Quad9, CleanBrowsing, NoTrack, StevenBlack's Hosts, pfBlockerNG, EBlocker, Pixelserv-tls, Skynet, Diversion, Adaway, AB-Solution, EasyList, Yoyo AdServers, uBlock filters, Malware Domains, Fanboy's Annoyance List.
Проблемы с OpenWRT
Это операционная система для маломощных устройств. Ее основная проблема - это доступные ресурсы RAM и ROM. Чтобы уложится в 64/256 мегабайта, нужно очень постараться. Никакого графического интерфейса. Только хардкор и командная строка. Но приключения на этом не заканчиваются.
ath10k-board-qca4019 ath10k-firmware-qca4019-ct base-files busybox ca-bundle dnsmasq firewall4 fstools kmod-ath10k-ct kmod-gpio-button-hotplug kmod-leds-gpio kmod-nft-offload kmod-usb-dwc3 kmod-usb-dwc3-qcom kmod-usb3 libc libgcc libustream-mbedtls logd luci mtd netifd nftables opkg ppp ppp-mod-pppoe procd uboot-envtools uci uclient-fetch urandom-seed urngd wpad-basic samba4-server luci-app-samba4 kmod-usb-storage kmod-fs-vfat kmod-fs-ntfs kmod-fs-ext4 block-mount luci-app-sqm luci-app-upnp luci-app-ddns openssh-server coreutils luci-app-commands luci-app-minidlna minidlna luci-app-openvpn openvpn-openssl vsftpd dropbear luci-app-firewall luci-app-adblock adblock luci-compat wget libustream-mbedtls ca-certificates uclient-fetch
Это все пакеты файлов, что сейчас установлены в моем роутере. Если для вас какие-то из аббревиатур о чем-то говорят - вы большой молодец. Это не просто абракадабра на варварском языке - это четко структурированные и подобранные модули для определенных целей. Например, для установки USB, ее монтированию, определению в системе, управлению нужно около 10 пакетов, о которых вам не напишут на профильном ресурсе. Информация по каждому модулю разбросана по всему интернету на десятках различных языках. А теперь добавьте к этому необходимость в познании PuTTy, SCP и других ругательствах. И эти ругательства не заработают, если на устройстве не установлен соответствующий модуль.
И вот, вы нашли правильный набор пакетов под ваши нужды и можете с легкостью вздохнуть. Но не тут то было. Есть два варианта развития ситуации:
- Вы ставите базовую прошивку и через командную строку добавляете новые пакеты;
- Вы собираете кастомную сборку, где все установлено из коробки;
А в чем разница, спросите вы? В первом варианте вам понадобится около 196 мегабайт памяти для функционирования устройства, во втором 112 мегабайт. С учетом того, что доступно только 244, а вам еще необходимо место для различных кэшей, правил и файлов обновлений, то первый вариант является мертворожденным либо его необходимо обрезать.
Кастомная сборка
Вы знаете, как собирать ядро OpenWRT и где брать исходники? Вот и я про тоже. Но я знаю, кто хорошо осведомлен в данном вопросе. У гугла с этим проблемы.
Перехожу на указанный ресурс. Ввожу свое устройство и получаю рабочий инструмент. В раскрывающемся окошке указаны все установленные модули для данной сборки. Это базовый вариант, который можно скачать с официального сайта проекта. Именно базовую версию поставил себе некоторое время назад, чтобы оживать устройство. Все проверено и без конфликтов.
Не вы одни там видите бессмысленную белиберду из букв, цифр и знаков.
Зато есть тот, кто разбирается в этом вопросе на все 114% и расскажет подробности
После получения справки, начал чистку списка от всякого ненужного для высвобождения жизненного пространства. Так как сборка универсальная, то в ней есть модули по мониторингу трафика, какие-то отчеты и подобное. Мелочи, что мне не нужны. Актуальный вопрос, так как свободного места ВСЕГДА не хватает. И пара лишних килобайт играет существенную роль.
Далее заменил два модуля на аналоги с большей функциональностью. Просто, что бы было. Инструмент позволяет. И на данный вопрос потрачено всего 2 минуты.
А дальше начинается самое интересное. Я далек от технического языка. Мне неизвестны многие понятия. Есть только цель, что описываю на своем корявом языке. Мне необходимо добавить работоспособный модуль для USB. Отдаленно понимаю, что и как устанавливается. Несколько лет назад изучил тысячи сайтов и форумов, но из головы большинство информации уже выветрилось.
Получил подробную инструкцию с кодом для командной строки. Какие модули и в каком порядке устанавливать. Подобным образом проговорил несколько нужных мне функций.
Это промежуточный этап, где ChatGPT создал для меня список всех необходимых пакетов под мои потребности.
На самом деле за день создал более 20 вариантов прошивки. Без чтения форумов и прочего. Попробовал несколько разных модулей. Удалял одни, добавлял другие. Менял и оптимизировал. То, что в прошлый раз у меня заняло 3 недели чтения, сегодня прогнал за пару часов. Прямо сейчас играю с различными серверами для фильтрации трафика. Удаляю одни пакеты и добавляю другие. Через установку-удаления, как и говорил ранее - есть проблемы с занимаемым местом. Плюс, у меня проблемы с "обновлением через Веб-интерфейс", а PuTTy не моя сильная сторона.
Это базовый вариант с пустотой внутри.
Это с расширенной функциональностью, где добавлены средства контрацепции, медиа сервер, фильтры, управление и приоритет трафика от разных устройств, расшаривание и общий доступ к USB, инструменты для диагностики, командная строка в браузере, куча мелочёвка. И все это ценой 18 мегабайт.
Мои познания в данной области можно было бы оценить в 2-3 балла из 10. Но с ChatGPT все сделал за пару часов и продолжаю экспериментировать.
Послесловие
Создание домашней сети с использованием OpenWRT может показаться сложной задачей для новичков, но она открывает перед вами множество возможностей для улучшения качества интернет-соединения и защиты от нежелательной рекламы. Вы сможете настраивать фильтрацию контента, управлять приоритетом трафика и добавлять новые функции, такие как медиа-сервер или общий доступ к файлам. Это похоже на обновление вашего дома: сначала сложно и непонятно, но со временем и с помощью подробных инструкций все становится на свои места. Настроив Adblock и другие полезные инструменты, вы сделаете интернет-серфинг более комфортным и безопасным для всей семьи. Не бойтесь пробовать и экспериментировать, ведь результаты стоят затраченных усилий.