Как мы качали Линукс Академию или «Угнать за 60 секунд»
|Многие наверное знают, что такое Линукс Академия, да и вообще понимают, зачем нужны видео курсы. У Линукс Академии довольно большая библиотека курсов, посмотреть и изучить хочется все и сразу, но с учетом того, что времени на все за одну подписку или триальный 7-и дневный доступ успеть не получится, то остается вариант — выкачать все к себе локально и уже потом смотреть не торопясь, вдумчимо и если надо, всегда что-то можно будет пересмотреть и лучше понять.
После изучения того, как сгруппированы курсы, какие на них ведут ссылки и их количество, а так же наличие аутентификации для скачивания был составлен краткий план действий и подобран софт для того, чтобы это все дело относительно оперативно перенести из «облака» академии на свое локальное хранилище с последующей возможностью неспешного изучения.
Задачи которые нужно будет выполнять, требуют скорости и определенного функционала. Пасить ссылки нам надо как можно в большее количество потоков, а чтобы скачать видео — нужна программа, которая может выполнить аутентификацию, да еще и скушать большой объем ссылок, чтобы потом к ней не возвращаться, а все выполнялось в фоне.
Что нам нужно:
- Доступ к Линукс Академии по платной или триальной подписке
- BurpSuite Pro
- BigaSoft Video Downloader Pro
- Регулярные выражения или скрипт
- Хороший канал для интернета
На Linux Academy переодически появляются разные акции с бесплатными подписками на недлительный период, такой мы и воспользовались:
На следующем этапе мы запускаем наш BurpSuite и настраиваем браузер работать через прокси бурпа:
Включая прокси BurpSuite, заходим на сайт Линукс Академии и сразу перемещаемся в раздел с видео категориями. Выбираем интересующий курс, тут разницы нет какой, нам главное понять принцип формирования ссылки на страничку с видео. Программе BigaSoft Video Downloader Pro не нужна ссылка на само видео, а только ссылка на страницу. Дело в том, что видео у линукс академии хранятся кусочками и объеденяются одним головным файлом, сидеть и руками это все собирать после выпаршивания, либо писать тулу для этого дела — будет долго, соотвественно оперируем готовыми решениями из свободного доступа.
Ну вот, мы зашли на страничку с видео и получили ссылку в BurpSuite, весь запрос из проксика мы отправляем в Intruder и далее переходим к настройке нашего Payload:
Лучше всего выпаршивать большими кусками в несколько заходов, на первом этапе у нас получается около 30.000 запросов на потенциальные ссылки для скачивания.
В пейлоаде нам надо выделить динамические параметры, которые мы собираемся перебирать, таковых у нас будет 3 (на картинке 2):
- course/*
- lesson/*
- module/*
Выставляем наши пейлоады и переходим на следующий шаг, где будем настраивать метод перебора, с чего начинать, до какого числового параметра перебирать и что сохранять, чтоб не аггрегировать огромное количество мусора.
В обоих пейлоадах (по существу вспоминаем, что их реально 3, в примере используется 2) выставляем перебор числовой, указываем стартовое число и конечное, указываем шаг, по итогу получается у нас порядка 30,000 комбинаций. В один поток бесплатной версии бурпсьюта мы будем это перебирать наверное с неделю (условно), соответственно, нам надо далее будет указать количество потоков, а так же что мы собираемся парсить.
На последнем этапе настройки нам нужно указать лишь, какой элемент кода страницы нас интересует в плане парсинга, чтоб потом было легко достать почти готовые ссылки.
Вот такая у нас получается конфигурация, ну и на последнем этапе остается лишь это все запустить.
Через какое-то время у нас появится огромный список ссылок, нам нужно будет скрыть ненужные поля в untruder’е, выделить столбец наших ссылок и CTRL+C , а далее CTRL+V в редакторе.
На следующем этапе надо почистить ссылки от неправильно спаршенных, где-то возможно попало что-то не то случайно и т.д., с этим легко можно справиться при помощи того же Sublimetext и регулярных выражений. На выходе должен получится красивый список ссылок.
Теперь нам остается лишь запустить наш даунлоадер и выкачать весь этот список, по тихоньку, не спеша…
Использовать мы будем уже готовое решение, лишь напишем для него небольшой костыль, т.к. качали мы Pro версию, а если она не активированная, то есть определенные ограничения. В случае с BigaSoft Downloader Pro — это ограничение на количество скачиваний, их будет доступно всего 5, а данные о том, что наши лимиты исчерпаны она записывает в реестр, соответственно поводов заниматься крекингом софта не возникает, проблема решается простым батником и экспортом реестра.
Сразу после установки программы, необходимо зайти в реестр, найти ее и сделать экспорт в файл формата .reg , в последствии мы будем его использовать для отката ограничений на количество скачиваний.
Параметр который отвечает за ограничение количества скачиваний:
Для экспорта реестра открываем «regedit» и находим там BigaSoft:
Выбираем «Settings» в Downloader Pro, выделяем, жмем в шапке «File» -> «Export» и сохраняем.
Далее, нам остается лишь написать простенький батник, который в цикле будет крутить наш экспортированный файл реестра, к примеру обзовем его «test.reg», файл реестра положим рядом с батником на рабочем столе, запустим это все дело от имени администратора и пожалуй можно будет начинать закачку видео уроков.
Код батника:
@echo off :a REGEDIT.EXE /S "C:\Users\%username%\Desktop\test.reg" timeout 5 goto a
Копируем код в текстовый файл, сохраняем с расширением .bat на рабочий стол и готово. Таймаут можно менять по желанию, это задержка между импортом файла реестра.
Я конечно не уверен, что «угнать линукс академию за 60 секунд» получится у всех, но, можете постараться. Удачного вам парсинга и изучения линуксов.
Может быть интересно: