# RedGifs Video Downloader ![RedGifs Video Downloader preview](docs/release-preview.png) Локальное расширение Chromium для сохранения разрешённых пользователю видео с RedGIFs. Расширение добавляет кнопку загрузки непосредственно на карточки, показывает ход выполнения и собирает HLS-потоки на устройстве пользователя. > [!IMPORTANT] > Это неофициальный проект, не связанный с RedGIFS, Google или GitHub. Он предназначен только для совершеннолетних пользователей и только для материалов, которые пользователь создал сам либо получил явное разрешение сохранить. Условия RedGIFS могут ограничивать скачивание контента; ответственность за соблюдение условий сайта и прав авторов несёт пользователь. ## Возможности - кнопка загрузки на обнаруженных карточках, в ленте и полноэкранном просмотре; - автоматический выбор HD MP4 с резервными вариантами; - локальная обработка MP4, GIF и HLS без стороннего сервера; - наглядное уведомление с ходом загрузки и пятисекундным обратным отсчётом; - отметка уже скачанных роликов по стабильному RedGIFS ID; - повторная загрузка через оранжевую кнопку при наведении на зелёную галочку; - понятные имена файлов из метаданных ролика; - пользовательская подпапка внутри `Загрузок`; - необязательная группировка по имени профиля; - резервный сканер видимых роликов в popup; - диагностический журнал с удалением токенов, cookie и других секретов; - без регистрации, платного счётчика, аналитики и телеметрии. ## Установка ### Из Gitea Release 1. Скачайте архив `RedGifs-Video-Downloader-v0.6.23.zip` из последнего Release. 2. Распакуйте архив в постоянную папку. Не удаляйте её после установки. 3. Откройте `chrome://extensions` в Chrome, Chromium, Brave или другом совместимом браузере. 4. Включите **Режим разработчика**. 5. Нажмите **Загрузить распакованное расширение**. 6. Выберите распакованную папку, внутри которой находится `manifest.json`. Расширение распространяется вручную: его публикация в Chrome Web Store не планируется из-за правил магазина для расширений, основная функция которых относится к сайтам с контентом для взрослых. ## Использование 1. Откройте страницу ролика, профиль, нишу или ленту RedGIFS. 2. На распознанной видеокарточке появится круглая розовая кнопка загрузки. 3. Нажмите её и дождитесь завершения. Страница покажет текущий этап и ход загрузки. 4. После успешного сохранения кнопка станет зелёной. При наведении появится действие повторной загрузки. Если кнопка не появилась, откройте popup расширения и запустите резервное сканирование видимых роликов. При бесконечной ленте новые карточки обрабатываются по мере прокрутки. ## Настройки Настройки находятся под шестерёнкой в popup и по умолчанию свёрнуты. - **Подпапка внутри Загрузок** — относительный путь, например `Видео/RedGifs`. - **Группировать по профилям** — добавляет к пути имя профиля из URL или метаданных карточки. - **Всегда спрашивать место сохранения** — включает системный диалог браузера. Пример итогового пути: ```text Загрузки/RedGifs/example-profile/Название ролика.mp4 ``` Фактическая корневая папка определяется настройками загрузок браузера. Расширения Chromium не могут произвольно сохранять файлы за пределами разрешённого браузером каталога. ## Приватность и безопасность - видео обрабатывается локально в браузере; - сторонние серверы проекта отсутствуют; - аккаунт и email не требуются; - аналитика и телеметрия отсутствуют; - сетевой доступ ограничен `redgifs.com` и его поддоменами; - настройки и история скачанных ID хранятся в локальном хранилище расширения; - диагностический журнал создаётся только по команде пользователя; - чувствительные заголовки, токены, cookie, query-параметры и hash удаляются или заменяются на `[redacted]`. Подробнее: [PRIVACY.md](PRIVACY.md). ## Разрешения браузера | Разрешение | Назначение | | --- | --- | | `activeTab`, `scripting` | обнаружение роликов и отображение интерфейса на открытой вкладке RedGIFS | | `downloads` | передача готового файла менеджеру загрузок браузера | | `offscreen` | локальная сборка Blob/HLS вне жизненного цикла popup | | `storage` | настройки, история скачанных ID и временная диагностика | | `tabs` | связь popup и service worker с открытой вкладкой | | `https://redgifs.com/*`, `https://*.redgifs.com/*` | получение разрешённых медиа и метаданных только с RedGIFS | ## Поддерживаемые форматы - прямой MP4; - GIF; - HLS с выбором потока наибольшего доступного разрешения; - AES-128 HLS. SAMPLE-AES и DRM не поддерживаются и не обходятся. Очень большие HLS-ролики могут потребовать заметный объём оперативной памяти, поскольку сегменты собираются локально. ## Диагностика Диагностика по умолчанию выключена. Для поиска проблемы откройте настройки popup, включите переключатель **Включить диагностику**, воспроизведите проблему и нажмите **Скачать диагностический лог**. После отключения накопленные диагностические события и история позиционирования очищаются. Журнал не содержит тело видео и намеренно очищается от известных секретов. Перед публикацией диагностического файла всё равно рекомендуется просмотреть его вручную. ## Правовой статус Исходный код и релизные сборки предоставляются по проприетарной лицензии **All Rights Reserved**. Разрешена только установка и запуск неизменённого официального релиза для личного некоммерческого использования. Копирование, изменение, форки, публикация зеркал, перераспространение, продажа и создание производных работ запрещены без предварительного письменного разрешения правообладателя. Полный текст: [LICENSE](LICENSE). Публичная доступность файлов в Gitea сама по себе не предоставляет дополнительных прав. Технически Gitea позволяет создать fork любого публичного репозитория, однако такой fork или иное копирование может нарушать условия этой лицензии. ## Версия Текущая версия: **0.6.23**. История релиза: [RELEASE_NOTES.md](RELEASE_NOTES.md). ## Отказ от гарантий Программа предоставляется «как есть», без гарантий работоспособности, доступности RedGIFS, соответствия сторонним условиям или сохранности данных. Структура сайта и API могут измениться без предупреждения. ## Сайт проекта [Сайт расширения](https://git.lonarpgproxy.space/extention/redgifs/).