Зачем это всё?

Официальный сервис цифровой дистрибуции с международной локализацией — впечатляющий шаг для японской компании! Впечатляет даже сейчас. Однако никогда не знаешь, сколь долго что-то далёкое останется доступным, особенно какой-то централизованный сервис. Всегда хочется иметь под рукой возможность получить чистую, свободную от DRM локальную копию в оригинальном качестве. А то мало ли. Процесс немного нетривиальный, так что пусть всё будет записано в подробностях. И никакой записи с экрана!

Нам понадобится:

  • любой современный браузер;
  • действующий email (для регистрации);
  • утилита hlsdl;
  • VPN (если ваш провайдер принуждён вмешиваться в трафик до R18.com);
  • MKVToolNix (для упаковки в MKV)

Стадии

Регистрация

Для начала необходимо зарегистрироваться на R18.com. Всем зарегистрировавшимся выдаётся на аккаунт один бесплатный фильм — чтобы проверить, всё ли хорошо открывается и воспроизводится. Этим мы и займёмся в дальнейшем. А пока что:

  • Заходим на R18.com. Адрес вы и так знаете!

  • Выбираем “Sign Up”

    Главная

  • Вводим свой email (два раза), придумываем и вводим пароль (один раз). Email вводим действующий, а не как на скриншоте, на него придёт письмо с подтверждением! Принимаем политику приватности (а что поделать?) Разгадываем гуглокапчу, если она появится.

    Регистрация

Отлично, аккаунт создан! Самое время проверить его содержимое.

Библиотека

  • Логинимся, выбираем в выпадающем меню “My Library”.

    К библиотеке

  • Видим свой первый фильм! Первый, и вероятно не последний. Фильм случайный, но скорее всего из какого-то заранее определённого ограниченного списка. Не пытайтесь получить доступ ко всему каталогу через кучу аккаунтов!

    Библиотека и первый фильм

  • Выбираем “Streaming”, нажимаем “Watch”. НЕ нажимаем “Download”, “Download” это DRM!

    Правильный выбор

  • Переходим в фирменный онлайн-плеер от R18.

Ну ладно, не такой уж и фирменный. Внутре у него неонк протокол HLS, благодаря которому нам не придётся иметь дело с большим и злобным DRM, который у R18.com тоже есть. А разработала его компания Apple для своих айфонов. Что ж, с паршивой овцы… Но мы отвлеклись. Реализован он в R18 слегка по-особенному, и все привычные инструменты с поддержкой HLS терпят неудачу: и youtube-dl, и VLC, и FFmpeg… Справляется одна лишь небольшая утилита hlsdl. О её сборке — в отдельном материале. Вы её уже собрали? Отлично! Теперь приступим к добыванию ссылки.

Ссылка

  • В плеере смотрим список разрешений, в которых доступен фильм. Запоминаем, но пока ничего с ним не делаем.

    Форматы

  • Открываем веб-консоль и переходим в сетевой монитор. В Firefox это сразу можно сделать сочетанием Ctrl+Shift+E. Перезагружаем страницу, чтобы видеть все запросы с самого начала.

  • Ищем все запросы к файлам с расширением “m3u8”. Из них выбираем первый запрос к домену r18.com. Копируем URL этого запроса. Очень-очень длинный!

    HLS-ссылка

Теперь у нас есть нужная ссылка — осталось только её скачать!

Скачивание

  • Открываем консоль и однократно запускаем hlsdl без параметров, чтобы увидеть краткую справку по использованию. Выглядеть она будет примерно вот так:

    -b ... Automatically choose the best quality.
    -W ... Choose largest width lower or equal than this.
    -H ... Choose largest height lower or equal than this.
    -v ... Verbose more information.
    -o ... Choose name of output file ("-" alias for stdout).
    -u ... Set custom HTTP User-Agent header.
    -h ... Set custom HTTP header.
    -p ... Set proxy uri.
    -k ... Allow to replace part of AES key uri - old.
    -n ... Allow to replace part of AES key uri - new.
    -f ... Force overwriting the output file.
    -F ... Force ignore detection of DRM.
    -K ... Force AES key value (hexstring)
    -q ... Print less to the console.
    -d ... Print the openssl decryption command.
    -t ... Print the links to the .ts files.
    -s ... Set live start offset in seconds.
    -e ... Set refresh delay in seconds.
    -r ... Set max retries at open.
    -w ... Set max download segment retries.
    -a ... Set additional url to the audio media playlist.
    -c ... Treat HTTP code 206 as 200 even if request was made without range header.
    -C ... the file name of file holding cookie data in the old Netscape / Mozilla cookie data format.
    
  • Убедитесь, что ваш провайдер не портит трафик до r18.com. В противном случае вам потребуется вспомогательные инструменты вроде прокси или VPN. Hlsdl содержит в себе встроенную возможность скачивать поток через http-прокси при помощи ключа -p. О настройке локального прокси в связке с VPN — в отдельном материале.

  • Передаём полученную на прошлом шаге ссылку в hlsdl. Для удобства указываем имя выходного файла через ключ -o, например -o ABC-123.ts. Если этого не сделать, скачанный файл будет назван невнятным стандартным названием.

    1 — hlsdl, 2 — ссылка, 3 — имя файла, 4 — адрес HTTP-прокси (если нужен)

  • Дальше hlsdl спросит нас о выборе предпочитаемого качества видеопотока. Если он выдал именно это, значит всё идёт правильно! Дополнительной информации о разрешении R18 не передаёт, так что вспоминаем варианты из онлайн-плеера и сопоставляем. Расположены они в том же порядке, от высокого разрешения к низкому. Вводим номер желаемого варианта, ну или просто заранее передаём ключ -b для выбора наилучшего доступного качества.

    Выбор формата

  • И теперь ждём! Не забывайте наблюдать за процессом. Hlsdl не поддерживает докачку, так что в случае ошибки вам придётся начинать заново. Да-да, заново! Частично скачанный файл можно будет сразу же воспроизводить в более или менее любом современном плеере (например mpv) не дожидаясь конца закачки.

    Ожидайте...

Ну вот, дождались! На выходе получаем файл в контейнере MPEG-TS, оптимизированном для потокового вещания. Смотреть уже можно, но не слишком удобно, лучше бы обернуть его во что-то более подходящее.

Например в MKV

  • Устанавливаем MKVToolNix. В большинстве популярных дистрибутивов он уже присутствует, обратитесь к вашему пакетному менеджеру. Если вдруг нет, то смотрите альтернативные варианты на официальном сайте.
  • Передаём в MKVToolNix только что скачанный файл. Для пущей красоты выбираем язык аудиодорожки (японский, конечно же) и вводим название фильма на вкладке “Вывод”.
  • Выбираем место назначения итогового файла и нажимаем “Выполнить слияние”.
  • В готовый MKV можете добавить главы с отметками сцен фильма. Необязательно, но очень удобно.

Готово! Вы великолепны.

О вариантах покупки

Помимо покупки за полную стоимость, R18 предоставляет ещё пару интересных возможностей: недельную аренду и месячную подписку на один из каналов. И обе они прекрасно сочетаются с этим способом! Иными словами, покупать фильм за полную стоимость необязательно, достаточно лишь аренды или подписки. Но будьте внимательны: не все тайтлы доступны через подписку, и не все варианты качества доступны через недельную аренду. Не забудьте проверить доступные варианты!