Как я устал от поломанного интернета и написал свой браузер с рабочей кнопкой для YouTube
Привет, DTF! Меня зовут Fortaki. Я обычный инди-разработчик, и в последнее время у меня, как и у многих из вас, знатно подгорало. Сетевая реальность превратилась в полосу препятствий. Браузеры раздулись, жрут гигабайты ОЗУ, шпионят и пичкают рекламой. А финальной каплей стало то, что мой вечерний YouTube превратился в бесконечно крутящееся колесико загрузки на черном фоне.В какой-то момент я понял, что трачу больше времени на настройку стороннего софта, ковыряние в консолях и поиск рабочих конфигов, чем на сам просмотр видео.
И тогда в голове щелкнуло: «Я же программист. Почему бы не написать свой браузер, где всё это будет работать по одному клику?»Так начался мой личный мини-хакатон длиной в несколько недель.
Рождение «комбайна»За основу я взял связку Python и PyQt6. Для отображения страниц использовал встроенный движок Chromium (WebEngine), а интерфейс и внутреннюю логику решил завязать на локальный бэкенд на Flask. Главное правило, которое я себе поставил — полная приватность. Никаких внешних серверов, никакой телеметрии. Все профили, пароли и настройки хранятся исключительно в папке %APPDATA% на компьютере пользователя.
Браузер рос, обрастал фичами: я добавил плавающий видеоплеер для многозадачности, мониторинг страниц, встроенный переводчик. Но главная битва была впереди.Битва за YouTube и великий тумблерКогда я в очередной раз наткнулся на утилиту ByeDPI (которая нативно расщепляет TCP-пакеты и обходит ограничения провайдеров на уровне SNI), я понял — это оно. Но запускать её отдельно через черное окно cmd неудобно. Её нужно вшить внутрь.И тут я собрал все грабли, которые только мог:
- Сначала я пытался упаковать всё в один .exe файл через PyInstaller. Итог — встроенный Chromium терял пути к медиакодекам (ffmpeg.dll), видео ломалось, а Windows Defender считал запуск ByeDPI из временной папки вирусной атакой.
- Интерфейс намертво зависал, если запускать процесс синхронно.
После кучи бессонных ночей решение было найдено. Я отказался от идеи одного файла, переписал логику на асингу и упаковал проект через профессиональный инсталлятор Inno Setup.Теперь в интерфейсе красуется один простой тумблер:
- Щёлкаешь «Вкл» — браузер тихо поднимает процесс ByeDPI в памяти, перехватывает сетевой стек Chromium и пускает трафик через локальный SOCKS5. YouTube мгновенно оживает, 1080p и 4K летят на максимальной скорости.
- Щёлкаешь «Выкл» — процесс полностью убивается в диспетчере задач, а сеть возвращается в исходный режим.
Чтобы не ломались Госуслуги, Telegram Web и банки, я сразу прописал их в белый список (no_proxy), так что они идут в обход утилиты по прямой линии.Всё открыто и честноЯ делал этот проект для себя, но понял, что он может помочь многим. Код полностью открыт, проект open-source. Вы можете зайти на мой GitHub, изучить каждую строчку в main.py, скачать готовый установщик и лично прогнать его через VirusTotal — там чистый зеленый ноль.
называется Free Search. Он получился легким, быстрым и решает мою главную боль каждый день. Буду рад, если вы протестируете его и поделитесь фидбеком в комментариях! Если у кого-то на определенном провайдере YouTube всё равно лагает — пишите, добавим в настройки выбор других флагов запуска утилиты.