Мягкая open-source альтернатива жестким блокировщикам, сфокусированная на осознанных YouTube-паузах и снижении залипания в Shorts/Reels.
A gentle open-source alternative to strict blockers, focused on mindful YouTube breaks and fewer Shorts/Reels traps.
Домашняя страница / Homepage · Русский · English · PurrBreak Companion
PurrBreak is a gentle open-source macOS menu-bar app for mindful YouTube breaks. It tracks active YouTube time, gives Shorts a separate limit, and interrupts long sessions with a cozy animated cat break instead of a harsh block.
The optional PurrBreak Companion browser extension hides sticky YouTube hooks like Shorts, recommendations, comments, end walls, and autoplay. Instagram/Reels cleanup is available as an experimental extra.
- Project homepage: https://omiusgm.github.io/PurrBreak/
- Companion extension: https://omiusgm.github.io/PurrBreak/companion/
- Releases: https://github.com/omiusgm/PurrBreak/releases
Маленькое macOS-приложение, которое считает время активного просмотра YouTube и запускает обязательную паузу с большим анимированным котом и мурчанием. Дополнительно в репозитории есть PurrBreak Companion - браузерное расширение, которое убирает Shorts, рекомендации и экспериментально помогает с Instagram Reels.
В отличие от строгих блокировщиков, PurrBreak не пытается наказать или запереть пользователя. Его задача проще: заметить момент залипания, мягко перекрыть экран на несколько минут и дать шанс вернуться в нормальное состояние.
- Открой GitHub Releases.
- Скачай
PurrBreak-*-macOS.zip. - Распакуй архив.
- Перетащи
PurrBreak.appв/Applications. - На первом запуске нажми правой кнопкой по приложению и выбери
Open.
Приложение пока подписано ad-hoc, без Apple Developer notarization. Поэтому macOS может предупредить, что приложение скачано из интернета. Это нормально для раннего open-source релиза.
PurrBreak читает URL активной вкладки браузера через macOS Automation, чтобы считать только YouTube, а не все время за компьютером.
При первом запуске PurrBreak покажет окно проверки браузера. Ничего заранее подключать не нужно: открой YouTube в браузере, которым пользуешься. Когда macOS попросит доступ Automation, его нужно разрешить.
Если запрос не появился или был отклонен:
- Открой
System Settings. - Перейди в
Privacy & Security->Automation. - Разреши
PurrBreakуправлять нужным браузером.
Окно Проверка браузеров показывает, получилось ли прочитать активную вкладку. Если галочка уже есть, делать ничего не нужно. Кнопка системных разрешений нужна только если запрос не появился, был отклонен или статус стал красным.
- Приложение живет в меню-баре и раз в секунду проверяет активное приложение.
- Если активен поддерживаемый браузер, PurrBreak спрашивает у него URL активной вкладки через AppleScript/Automation.
- Если URL относится к
youtube.comилиyoutu.be, счетчик просмотра увеличивается. - Для
youtube.com/shortsиспользуется отдельный, более короткий лимит. - Когда счетчик достигает лимита, показывается полноэкранная пауза с выбранной заставкой и мурчанием.
- После завершения паузы счетчик сбрасывается, а PurrBreak показывает маленькую развилку: вернуться к YouTube, взять еще 2 минуты или закрыть окно и вернуться к делам.
- PurrBreak не читает историю браузера, пароли, содержимое страниц и не отправляет данные наружу.
Текущий способ специально простой и локальный: приложение видит только активный браузер и URL активной вкладки. Более точный будущий вариант для браузеров вроде Firefox - отдельное расширение, которое сможет понимать не только адрес страницы, но и факт воспроизведения видео.
- Счетчик времени идет только когда на переднем плане Safari, Chrome, Yandex Browser, Brave, Edge, Arc, Chromium, Vivaldi или Opera с адресом
youtube.com/youtu.be. - В отдельном окне показывается проверка браузеров: подключен, нужен доступ Automation или пока не поддерживается.
- Firefox отображается в списке, но пока не поддерживается текущим AppleScript-механизмом чтения активной вкладки.
- По умолчанию после 20 минут YouTube начинается 3-минутная пауза.
- Для YouTube Shorts по умолчанию используется отдельный лимит 5 минут.
- На главном экране есть дневная статистика: время YouTube, количество пауз и сколько времени паузы вернули.
- Пауза ставит активное YouTube-видео на паузу и перекрывает все экраны поверх рабочих столов.
- После паузы появляется окно выбора следующего шага.
- В меню-баре показывается обратный отсчет до заставки. Формат можно выбрать:
Purr 12:43,12:43,13мили варианты с иконкой. - В настройках можно включить автозапуск при входе в macOS.
- Во время паузы играет синтезированное мягкое мурчание.
- Есть 4 заставки:
Рыжий сон,Лунная дрема,Дождливое окно,Космический сон. - Интерфейс можно переключить между русским и английским языком.
- В окне и меню-баре можно выбрать заставку, запустить тест без блокировки кликов, включить ручную блокировку и сбросить счетчик.
- На главном экране есть кнопка PurrBreak Companion: расширение убирает Shorts, рекомендации, комментарии, autoplay и экспериментально помогает с Instagram Reels.
Если YouTube используется как фоновый музыкальный плеер во время работы, PurrBreak будет считать это временем YouTube. Текущая версия не умеет надежно отличать музыку от просмотра видео. Для такого сценария лучше заранее скачать плейлист или использовать отдельное музыкальное приложение.
PurrBreak Companion - экспериментальное браузерное расширение для Chrome, Yandex Browser, Arc, Brave, Edge, Opera, Vivaldi и Chromium. Оно не заменяет паузы PurrBreak, а убирает липкие элементы внутри сайтов. Сейчас главный фокус PurrBreak остается на YouTube, а Instagram/Reels - дополнительная опция.
Лендинг расширения: docs/companion.
YouTube MVP:
- Hide Shorts.
- Hide homepage.
- Hide sidebar / recommendations.
- Hide comments.
- Hide end wall.
- Disable autoplay.
- Focus mode.
Instagram MVP, пока экспериментально:
- Hide Reels.
- Hide Explore.
- Hide suggested accounts.
Локальная установка из исходников:
- Открой
chrome://extensions. - Включи developer mode.
- Нажми
Load unpacked. - Выбери папку
extensions/purrbreak-companion.
Safari и iPhone потребуют отдельную Safari Web Extension-обертку позже.
Идеи, которые мы обсуждаем, но не обязательно сразу добавляем в приложение, лежат в docs/idea-chest.md.
Практическая памятка для продолжения разработки на новом Mac: docs/project-handoff.md. Сжатая история продуктовых решений из чата: docs/chat-summary.md.
Ручной чеклист перед публикацией лежит в docs/manual-test-checklist.md.
Кнопка Тест заставки показывает полноэкранный оверлей примерно на 20 секунд, но не перехватывает мышь. Это удобно, чтобы посмотреть анимацию и продолжать нажимать кнопки. Закрыть тест можно клавишей Esc, кнопкой Остановить тест или из меню-бара.
Кнопка Блокировка сейчас запускает настоящую паузу и перекрывает экран как обычное срабатывание лимита.
./scripts/build-app.sh
open .build/PurrBreak.app./scripts/install-app.shСкрипт попробует положить приложение сюда, чтобы оно появилось в Launchpad и Spotlight:
/Applications/PurrBreak.app
Если у пользователя нет прав на /Applications, скрипт установит приложение сюда:
~/Applications/PurrBreak.app
И создаст ярлык на рабочем столе:
~/Desktop/PurrBreak.app
После этого приложение можно запускать из Finder, Spotlight или закрепить в Dock.
Если ярлык на рабочем столе не нужен:
./scripts/install-app.sh --no-desktopЕсли нужно принудительно установить только в пользовательскую папку:
./scripts/install-app.sh --user./scripts/package-release.shВерсия берется из файла VERSION. Архив появится в dist/PurrBreak-<version>-macOS.zip.
- Создай пустой публичный репозиторий
PurrBreakна GitHub. - Скопируй SSH или HTTPS URL репозитория.
- Запусти:
./scripts/publish-github.sh git@github.com:USERNAME/PurrBreak.gitили:
./scripts/publish-github.sh https://github.com/USERNAME/PurrBreak.gitСкрипт отправит main и тег из файла VERSION. После push тега GitHub Actions соберет PurrBreak-<version>-macOS.zip, PurrBreak-Companion-<version>.zip и создаст GitHub Release.
Домашняя страница проекта и лендинг Companion публикуются через GitHub Actions из папки docs.
Если GitHub Pages еще не включен:
- Открой настройки репозитория на GitHub.
- Перейди в
Pages. - В
Build and deploymentвыбериGitHub Actions. - Запусти workflow
Pagesили сделай push вmain.
После публикации главная страница будет доступна по адресу https://omiusgm.github.io/PurrBreak/, а Companion - по адресу https://omiusgm.github.io/PurrBreak/companion/.
Для поля About на GitHub можно поставить:
- Website:
https://omiusgm.github.io/PurrBreak/ - Description:
Gentle macOS YouTube breaks with an animated cat + Companion extension for Shorts/Reels
swift build
swift run PurrBreak