Как мы качали Линукс Академию или «Угнать за 60 секунд»

sm0k3.net

Многие наверное знают, что такое Линукс Академия, да и вообще понимают, зачем нужны видео курсы. У Линукс Академии довольно большая библиотека курсов, посмотреть и изучить хочется все и сразу, но с учетом того, что времени на все за одну подписку или триальный 7-и дневный доступ успеть не получится, то остается вариант — выкачать все к себе локально и уже потом смотреть не торопясь, вдумчимо и если надо, всегда что-то можно будет пересмотреть и лучше понять.

После изучения того, как сгруппированы курсы, какие на них ведут ссылки и их количество, а так же наличие аутентификации для скачивания был составлен краткий план действий и подобран софт для того, чтобы это все дело относительно оперативно перенести из «облака» академии на свое локальное хранилище с последующей возможностью неспешного изучения.

Задачи которые нужно будет выполнять, требуют скорости и определенного функционала. Пасить ссылки нам надо как можно в большее количество потоков, а чтобы скачать видео — нужна программа, которая может выполнить аутентификацию, да еще и скушать большой объем ссылок, чтобы потом к ней не возвращаться, а все выполнялось в фоне.

Что нам нужно:

  1. Доступ к Линукс Академии по платной или триальной подписке
  2. BurpSuite Pro
  3. BigaSoft Video Downloader Pro
  4. Регулярные выражения или скрипт
  5. Хороший канал для интернета

На Linux Academy переодически появляются разные акции с бесплатными подписками на недлительный период, такой мы и воспользовались:

linux_academ

 

На следующем этапе мы запускаем наш BurpSuite и настраиваем браузер работать через прокси бурпа:

browser_proxy_config

 

Включая прокси BurpSuite, заходим на сайт Линукс Академии и сразу перемещаемся в раздел с видео категориями. Выбираем интересующий курс, тут разницы нет какой, нам главное понять принцип формирования ссылки на страничку с видео. Программе BigaSoft Video Downloader Pro не нужна ссылка на само видео, а только ссылка на страницу. Дело в том, что видео у линукс академии хранятся кусочками и объеденяются одним головным файлом, сидеть и руками это все собирать после выпаршивания, либо писать тулу для этого дела — будет долго, соотвественно оперируем готовыми решениями из свободного доступа.

Смотрите так же   Как в Debian поставить текстовый редактор по умолчанию

Ну вот, мы зашли на страничку с видео и получили ссылку в BurpSuite, весь запрос из проксика мы отправляем в Intruder и далее переходим к настройке нашего Payload:

payload_position

Лучше всего выпаршивать большими кусками в несколько заходов, на первом этапе у нас получается около 30.000 запросов на потенциальные ссылки для скачивания.

В пейлоаде нам надо выделить динамические параметры, которые мы собираемся перебирать, таковых у нас будет 3 (на картинке 2):

  1. course/*
  2. lesson/*
  3. module/*

Выставляем наши пейлоады и переходим на следующий шаг, где будем настраивать метод перебора, с чего начинать, до какого числового параметра перебирать и что сохранять, чтоб не аггрегировать огромное количество мусора.

payload_config

payload_config2

В обоих пейлоадах (по существу вспоминаем, что их реально 3, в примере используется 2) выставляем перебор числовой, указываем стартовое число и конечное, указываем шаг, по итогу получается у нас порядка 30,000 комбинаций. В один поток бесплатной версии бурпсьюта мы будем это перебирать наверное с неделю (условно), соответственно, нам надо далее будет указать количество потоков, а так же что мы собираемся парсить.

payload_threads

На последнем этапе настройки нам нужно указать лишь, какой элемент кода страницы нас интересует в плане парсинга, чтоб потом было легко достать почти готовые ссылки.

payload_grep

payload_grep1

Вот такая у нас получается конфигурация, ну и на последнем этапе остается лишь это все запустить.

Через какое-то время у нас появится огромный список ссылок, нам нужно будет скрыть ненужные поля в untruder’е, выделить столбец наших ссылок и CTRL+C , а далее CTRL+V в редакторе.

payload_results

На следующем этапе надо почистить ссылки от неправильно спаршенных, где-то возможно попало что-то не то случайно и т.д., с этим легко можно справиться при помощи того же Sublimetext и регулярных выражений. На выходе должен получится красивый список ссылок.

Смотрите так же   Как правильно и безопасно хранить пароли

academy_links

Теперь нам остается лишь запустить наш даунлоадер и выкачать весь этот список, по тихоньку, не спеша…

Использовать мы будем уже готовое решение, лишь напишем для него небольшой костыль, т.к. качали мы Pro версию, а если она не активированная, то есть определенные ограничения. В случае с BigaSoft Downloader Pro — это ограничение на количество скачиваний, их будет доступно всего 5, а данные о том, что наши лимиты исчерпаны она записывает в реестр, соответственно поводов заниматься крекингом софта не возникает, проблема решается простым батником и экспортом реестра.

biga_soft_1

Сразу после установки программы, необходимо зайти в реестр, найти ее и сделать экспорт в файл формата .reg , в последствии мы будем его использовать для отката ограничений на количество скачиваний.

biga_soft_2

Параметр который отвечает за ограничение количества скачиваний:

biga_soft_3 biga_soft_4

Для экспорта реестра открываем «regedit» и находим там BigaSoft:

bigasoft_reestr

Выбираем «Settings» в Downloader Pro, выделяем, жмем в шапке «File» -> «Export» и сохраняем.

Далее, нам остается лишь написать простенький батник, который в цикле будет крутить наш экспортированный файл реестра, к примеру обзовем его «test.reg», файл реестра положим рядом с батником на рабочем столе, запустим это все дело от имени администратора и пожалуй можно будет начинать закачку видео уроков.

batnik

Код батника:

@echo off
:a
REGEDIT.EXE /S "C:\Users\%username%\Desktop\test.reg"
timeout 5
goto a

Копируем код в текстовый файл, сохраняем с расширением .bat на рабочий стол и готово. Таймаут можно менять по желанию, это задержка между импортом файла реестра.

Я конечно не уверен, что «угнать линукс академию за 60 секунд» получится у всех, но, можете постараться. Удачного вам парсинга и изучения линуксов.

 

Может быть интересно:

Добавьте комментарий