Pull to refresh

Comments 40

PinnedPinned comments

В firefox не запустился, но информация полезная. Смотрим в консоли значение window.mvcur.player.vars.url720p, кликаем в ссылку, сохраняем файл.

Спасибо за информацию. Сегодня погляжу что не так в Firefox.

Хм, оказывается в Firefox всё иначе. Неподписанные расширения просто не работают в релизной версии браузера. Честно говоря — не хочу заморачиваться с этим. ВК я в любом случае пользуюсь в Chrome.

Но если кто-то захочет собрать и подписать расширение под Firefox — пожалуйста. Лицензия позволяет. Можете даже в каталоге аддонов опубликовать.

Я пользуюсь Developer Edition, и свои расширения не подписываю.

Спасибо, что рассказали, скоро админы вк прикроют и эту лазейку.

Да там в любом случае постоянно всё меняется. Ещё в феврале эти же переменные хранились в поле mvPlayerVars (или что-то подобное). Выпущу патч да и всё. Делов то.

А что плохого в скачивании видео, зачем прикрывать?

Я все равно скачиваю программой Internet Download Manager, она встраивается в браузеры и также имеет клиентскую десктопную часть. Но конечно чисто браузерное расширение удобнее.

Ну как же. Люди не смотрят видео напрямую на платформе. Следовательно люди не смотрят рекламу. Следовательно метрики проседают. Хотя бы за этим :)

Было бы хорошо дать или инструкцию по установке, или выложить готовое для установки расширение с указанием для каких версий браузеров оно.

  • Переходите в репозиторий на GitHub

  • Жмёте Code, распаковываете скачанный архив

  • В разделе расширений в браузере выбираете Загрузить распакованное / Load unpacked или что-то похожее и выбираете папку с расширением

Что касается поддержки браузеров и различных их версий: никакой экзотики в коде не используется, поэтому должно работать на большинстве относительно современных браузеров. Chromium-based и Firefox - уж точно.

Выше написали что эта версия на Firefox не работает, почти на 100% уверен что это связано с инъекцией. Сегодня починю. Выпущу патч.

С FF не устанавливается. Я скачал код, сжал в zip содержимое без главной папки, переименовал в xpi и "это дополнение не может быть установлено, т.к., по-видимому, оно повреждено".

На FF неподписанные расширения можно ставить только в версии браузера "Developer Edition". У меня и в Developer такая же ошибка.

@staffel@qw1

Хм, оказывается в Firefox всё иначе. Неподписанные расширения просто не работают в релизной версии браузера. Честно говоря — не хочу заморачиваться с этим. VK я в любом случае пользуюсь в Chrome.

Но если кто-то захочет собрать и подписать расширение под Firefox — пожалуйста. Лицензия позволяет. Можете даже в каталоге аддонов опубликовать.

P. S. Почему-то мне казалось что тестировал первую версию расширения в Firefox и тогда всё работало. Оказывается нет. Совсем заработался что-то. Нужно побольше спать.

Потому у комментатора выше и возник вопрос насчёт TamperMonkey. Функциональность юзер-скриптов примерно равна функциональности аддонов, после того, как Mozilla сломала старые мощные API, а заморочки с подписями не требуются.

Для vK есть и нормально работает vkOPT, что в виде плагина, что скриптом для TamperMonkey.
А вот такая же штука для дзена и рутуба была бы исключительно полезна

На днях в свободное время гляну что там с Дзеном и Рутюбом. Может и реализую такую же штуку.

было бы хорошо. Пинганите, пожалуйста

Да, конечно, пингану если что-нибудь сделаю

С Дзена недавно захотел скачать смешное видео про котов.
Нашёл в исходном коде страницы кусок json-а

... {"id":"https://cdn.dzen.ru/vod/.../master.m3u8..." 

HTTP-ссылку в формате m3u принимает ffmpeg:

ffmpeg -i https://../master.m3u8 -c:a copy -c:v copy downloaded_file.mp4

как-то так.

Спасибо! Опубликовал ваш скрипт с автоматическим обновлением в том числе README.md напрямую из вашего репозитория в Greasyfork. Дело в том, что даже при ссылке на raw-версию юзерскрипта Tampermonkey "не цепляет" его вот никак. Видимо, ожидает имя файла наподобие script.user.js или типа того.

ЛС'ните/ПМ'ните/PM/DM мне, если у вас есть акк на Greasyfork, передам права.

P. S. За MutationObserver() в исходниках от меня плюс, так как я до сих пор на setInterval() рендерю свои элементы в DOM.

Почему-то все создатели подобных расширений делают возможность "скачать" без "посмотреть". Почему не сразу оба?
Пример с ютубом и VLC плеером на смартфоне. Нажал, и видео сразу улетело в VLC плеер без закачки.



тоже самое и на компе https://m.youtube.com/watch?v=b-6MczEoa6I


Второй момент. Почему на каком-нибудь сайте после нажатия по ссылке вк или другого обязательно нужно переходить на медленную страницу вк? Неплохо придумано у savefromnet. Можно впереди ссылки дописать sfrom.net, с помощью расширения Redirector сделать это дописывание автоматически. И после нажатия по ссылке сразу получить готовый результат в виде облегчённой страницы с возможностью скачать или посмотреть


Везде приходится подстраиваться/допиливать самому.

А вот для скачивания трансляций (например, собственных, сохраненных) так не работает. И никак не работает, судя по всему, там как-то иначе устроена передача видео. Ну либо лыжи у меня не едут.

В случае если трансляция закончилась — наверняка её можно скачать, просто я даже не подумал их потестить. Думаю там просто вёрстка и/или url отличаются от страниц обычных видео. Вот расширение и не отрабатывает.

Спасибо за репорт. Сегодня гляну и постараюсь выпустить патч.

Большое "спасибо" тебе. Я годами пользовался тем, что качал видео вручную с мобильной версии. Теперь, внезапно, после выхода данных статей, лавочку прикрыли, да и расширение твое не работает.

Всё замечательно работает. Тестил вчера как нативное расширение для Chrome, так и скрипты для Tampermonkey/Greasemonkey/Violentmonkey.

Что касается мобильной версии ВК - её просто проапгрейдили впервые за долгие годы (давно было пора) и это совпало с публикацией мной расширения. Изменилось немногое, ссылки на видео всё также спокойно вытаскиваются, только теперь не из HTML, а из JS-объектов на странице.

Собственно поэтому моё расширение всё также работает без нареканий после небольшого патча. Просто скачайте последнюю версию на GitHub или, если не хотите ничего устанавливать, можете поглядеть из какого именно JS-объекта я получаю ссылки и делать всё "руками".

P.S. Если у вас всё же что-то не работает - буду признателен за относительно подробный баг-репорт.

Забавно. Если открыть прямую ссылку на видео, скопированную ранее, либо открыть видео по средней кнопке мыши (либо через пкм->открыть ссылку в новой вкладке), то расширение не срабатывает. А вот если открыть видео в каталоге через ЛКМ - работает. Попробуй воспроизвести, если не получится - сделаю баг репорт с видео. Браузер:

Chromium Версия 115.0.5759.0

З.Ы. Внешний вид они поменяли с месяц назад уже, а вот ссылки пофиксили буквально на прошлой неделе...

Видео-репорт, думается, не нужен. Спасибо за информацию. Погляжу на днях.

Пофиксил в 1.1.6. Проблема была в том, что существуют 2 типа прямых ссылок на видео. Скрипт стартовал лишь на одном из них.

Благодарю за отзыв :) Да, периодически чекаю чтобы оставалось актуальным. Пару правок уже вносил, так как ВК меняется.

Привет из 2024! Расширение всё ещё работает, но специфически: после первых нескольких секунд скорость скачивания падает до 150КБ/с. Скачать можно - но долго. Есть ли идеи или рекомендации как скачивать быстро?

Бывает что падает, бывает что не падает. Не скажу в чём проблема. Может быть что-то с CDN, может VK каким-то образом ограничивает.

Спасибо! У Firefox действительно есть странное ограничение - или подписывай, или расширение будет работать до перезапуска браузера, но TamperMonkey помог решить эту проблему.

А возможно ли скачивание без открытия самого поста с видео? Т.е. чтобы эти ссылки были прямо в ленте. Или именно загрузка поста приводит к генерации ссылок, а пока пост не загружен ссылок не существует?

И еще - возможно ли аналогичное расширение для фото? Тоже чтобы скачивать фотки максимального размера из ленты без загрузки поста. Фотки вроде как не скрываются, их и через API можно получить, но тем ни менее для каждого размера vk генерирует какой-то ключ, который вставляется в URL. И фотка без ключа или с неверным ключом не открывается.

Изначально хотел сделать ссылки в ленте, под миниатюрами в диалогах и в других удобных местах. Не вышло. Вроде да, ссылки на mp4 появляются в JS объектах только при открытии видео. Эти данные нужны лишь плееру, поэтому лишь при его запуске и подтягиваются.

Касательно фото, даже не глядел как это в VK устроено. Единственное что помню - фото Паши Дурова лежало на каждом серваке ещё когда-то давно. Гляну на досуге. Возможно превращу VK-Video-Downloader в VK-Media-Downloader :)

Честно сказать не удалось юзерскриптом ни на мобильной ни на обычной версии сайта через тэмперманки увидеть ни в хромиуме 105 через распакованное расширение, ни в firefox 115esr через юзерскрипт. Эх.. придётся снова с сэйвтюбом страдать(

Хотя.. в тэмперманки через гост юзерскриптом ссылки увидел, но скорость ужасно низкая. Но работает! Спасибо!

Можно проще без манифестов:

let pg0 = document.documentElement.innerHTML ;
let videoid = pg0.split('<meta property="og:url" content="https://vk.com/video')[1].split('"')[0];
console.log(videoid);

$.get('https://vk.com/al_video.php?act=show&al=1&video='+videoid, function(data){
  console.log(data["payload"][1][4]["player"]["params"][0]["url1080"]);
});

отличный рабочий продукт!

Sign up to leave a comment.

Articles