Русский · English
vkgrab — расширение для Chrome, которое скачивает видео с vk.com и vkvideo.ru в исходном качестве. Открываете видео, нажимаете на значок, выбираете качество, и файл сохраняется в «Загрузки». Никаких сторонних сайтов, рекламы и серверов-посредников: расширение работает через вашу собственную сессию VK, поэтому скачиваются и приватные видео, и видео «только для авторизованных».
- Все качества, которые отдаёт VK: 144p–1080p и выше (1440p/4K, если они есть у ролика), с размером файла у каждого варианта.
- Приватные и закрытые видео: запросы идут от имени вашего аккаунта, как у самого плеера VK.
- Работает везде на VK: страница видео, клипы, видео в ленте, на стене, в сообществе, в модальном окне
?z=video…, ссылки с ключом доступа?list=…. - Список всех видео на странице: если в ленте их несколько, выберите нужное в разделе «Другие видео на странице».
- Запасной путь через HLS: если у ролика нет готового MP4 (так бывает с длинными видео и записями трансляций), расширение скачивает сегменты потока прямо во вкладке и склеивает их в
.ts, а прогресс показывает в углу страницы. - Понятные имена файлов:
Название ролика [-12345_67890] 1080p.mp4, безопасные для Windows, macOS и Linux. - Запоминает любимое качество, поддерживает светлую и тёмную тему, интерфейс на русском и английском.
- Ноль зависимостей: около 25 КБ чистого JavaScript, без сборщика, код можно прочитать за 10 минут.
Расширения пока нет в Chrome Web Store, оно ставится вручную за минуту:
- Скачайте
vkgrab-x.y.z.zipсо страницы релизов и распакуйте его в любую папку. - Откройте
chrome://extensionsи включите «Режим разработчика» в правом верхнем углу. - Нажмите «Загрузить распакованное расширение» и выберите распакованную папку (в ней лежит
manifest.json). - Закрепите значок vkgrab на панели через меню-пазл 🧩.
Из исходников:
git clone https://github.com/web3daemon/vkgrab.gitЗатем выберите папку vkgrab/extension на шаге 3. Подходит любой браузер на Chromium версии 110 и новее: Chrome, Edge, Яндекс Браузер, Brave, Opera, Vivaldi.
- Откройте видео на vk.com или vkvideo.ru и войдите в аккаунт, если видео закрытое.
- Нажмите на значок vkgrab.
- Выберите качество. Лучшее подсвечено, а после первой загрузки подсвечивается то, которое вы выбирали.
MP4 скачивается встроенным менеджером загрузок Chrome, поэтому видны прогресс, пауза и возобновление. HLS качается во вкладке: пока идёт загрузка, вкладку VK не закрывайте.
вкладка VK (content script) popup
─────────────────────────── ─────
POST /al_video.php?act=show ◄── ваша сессия ── «какие видео на странице?»
└─ параметры плеера: url144…url2160, hls «покажи качества»
│
MP4 ─────────────────────────────────────► chrome.downloads.download()
HLS: master.m3u8 → сегменты → Blob → .ts (прогресс в углу страницы)
Расширение делает ровно то же, что плеер VK при нажатии Play: запрашивает параметры плеера у al_video.php из контекста страницы, с вашими cookies. В ответе есть прямые ссылки на MP4 для каждого качества. Эти ссылки подписаны и привязаны к вашему IP и браузеру, поэтому скачивать нужно с того же компьютера, и Chrome делает это напрямую. Если MP4 нет, берётся HLS-плейлист, и сегменты скачиваются по четыре параллельно с повторами при ошибках.
vkgrab ничего никуда не отправляет: нет аналитики, телеметрии и своих серверов. Все запросы идут только к VK и его CDN, как при обычном просмотре. Подробности в PRIVACY.md.
| Разрешение | Зачем |
|---|---|
vk.com, vk.ru, vkvideo.ru |
найти видео на странице и спросить у VK ссылки от имени вашей сессии |
downloads |
сохранить MP4 через менеджер загрузок Chrome |
scripting |
подключиться к вкладкам, открытым до установки расширения |
storage |
запомнить выбранное качество, локально |
-
Прямые трансляции не поддерживаются, дождитесь записи.
-
Мобильная версия
m.vk.comне поддерживается, откройте видео наvk.comилиvkvideo.ru. -
Видео с DRM (некоторые фильмы и сериалы по подписке) скачать нельзя, расширение об этом сообщит.
-
HLS сохраняется как
.ts. Его открывают VLC и большинство плееров, а переупаковать в MP4 без потери качества можно так:ffmpeg -i "video.ts" -c copy "video.mp4"
-
vkgrab опирается на внутренний API VK. Если VK его поменяет, создайте issue, и расширение поправится.
extension/
├── manifest.json MV3, без фонового service worker
├── lib/vk.js чистые функции: разбор URL, ответа VK, HLS, имён файлов
├── content.js работает во вкладке VK: поиск видео, запрос к VK, HLS-загрузчик
├── popup/ интерфейс (HTML/CSS/JS без фреймворков)
├── _locales/{en,ru}/ переводы
└── icons/
scripts/
├── check.mjs статическая проверка манифеста и локалей
├── pack.mjs сборка dist/vkgrab-<версия>.zip без зависимостей
├── smoke.py живой прогон в Chromium: MP4 + HLS на реальном видео
├── screenshot.py скриншоты popup для README на демо-данных
└── gen_icons.py иконки и баннер
tests/vk.test.js юнит-тесты (node:test)
npm test # юнит-тесты, нужен Node 20+
npm run check # манифест, файлы, ключи локалей
npm run pack # dist/vkgrab-<версия>.zip
python scripts/smoke.py https://vkvideo.ru/video-XXXX_YYYY # нужен playwrightПосле правок нажмите ⟳ у расширения на chrome://extensions и обновите вкладку VK.
vkgrab предназначен для личного использования: сохранить своё видео, посмотреть офлайн, сделать архив. Уважайте авторские права и правила VK и не распространяйте чужой контент без разрешения автора. Проект не связан с VK и не одобрен компанией VK.
MIT © web3daemon

