Как я написал свой легковесный браузер на Python и Qt для локального использования

Как я написал свой легковесный браузер на Python и Qt для локального использования

Привет, VC! Хочу показать проект, который пилю в свободное время. Это Free-Search — компактный десктопный браузер-хаб, заточенный под приватность, полную кастомизацию и удобную работу с медиа.Проект полностью некоммерческий, код открыт под лицензией GPL-3.

Почему не Electron?

Вместо использования тяжелого и прожорливого Electron я выбрал связку Python и native UI:

  • Локальный бэкенд на Python (Flask) управляет профилями, кэшем и настройками.
  • Оболочка на Qt обеспечивает нативную скорость интерфейса.
  • За отображение страниц отвечает проверенный движок Chromium.

Сейчас кодовая база разделена примерно поровну между Python и фронтендом на HTML/JS. Приложение чувствует себя как дома на Windows, Linux и Android.

Что умеет Free-Search (и зачем он нужен):

  1. Абсолютная приватность. Никакой удаленной телеметрии, трекеров и отправки логов. Все пароли, настройки и история лежат строго на вашем компьютере (в папке ~/.config или APPDATA).
  2. Мониторинг страниц. Моя любимая фича. Фоновый процесс на Python может опрашивать выбранные сайты и присылать уведомления, если на странице что-то изменилось. Полезно, чтобы следить за курсами валют, ценами в магазинах или новостями без открытия сотни вкладок.
  3. Плавающий плеер и Rutube без рекламы. Удобный режим «картинка-в-картинке» для видео, который можно таскать по экрану. А для Rutube я встроил кастомный JavaScript-скрипт, который вырезает рекламные блоки на лету — видео стартуют сразу.
  4. Умные профили и переводчик. Встроен приватный поиск через DuckDuckGo и переводчик. Система профилей изолирована друг от друга и адаптирована под удобную работу с русским, английским и киргизским языками.

Что дальше?

Сейчас активно тестирую режим «3D Кинотеатра» — это полноэкранный просмотр видео с эффектом динамической подсветки интерфейса в тон картинке (как Ambilight в телевизорах).Посмотреть исходный код, скачать готовую сборку или оставить свой отзыв можно в моем репозитории на GitHub

Буду рад конструктивной критике, советам по оптимизации Python-части и вашим идеям! Каких фич вам не хватает в стандартных браузерах?