Как превратить медленные ссылки облачных дисков в прямые линки для скачивания

08 фев 2026
3,220
271
14
1 месяц

Знакомая ситуация: вам прислали ссылку на файл в каком-нибудь экзотическом облачном сервисе, а он требует регистрации, установки приложения или ограничивает скорость скачивания до черепашьей? А если вам нужно скачать этот файл прямо на сервер через wget или curl? В такие моменты начинаешь мечтать о волшебной кнопке «получить прямую ссылку».

Проект netdisk-fast-download (или просто NFD) — это как раз та самая «волшебная кнопка». Это мощный сервис для парсинга ссылок с десятков популярных облачных хранилищ, который превращает обычные страницы «поделиться файлом» в прямые линки (Direct Links).

Просмотр проекта

Зачем это нужно разработчику?

Представьте, что вы пишете скрипт автоматизации, которому нужно подтянуть свежие ассеты или базу данных из облака. Или вы делаете медиа-плеер, который должен стримить контент из личного хранилища пользователя. Вместо того чтобы вручную разбираться с API каждого сервиса (которые часто закрыты или сложны), вы просто разворачиваете NFD и используете единый API.

Что умеет NFD?

  1. Универсальность: Поддерживает более 30 сервисов. В списке есть как гиганты вроде Google Drive, OneDrive и Dropbox, так и специфические китайские сервисы (Lanzou, 123Pan, CowTransfer), которые часто славятся своими ограничениями.
  2. Работа с паролями: Если файл защищен паролем, NFD умеет прокидывать его в запросе.
  3. Поддержка папок: Сервис умеет парсить не только одиночные файлы, но и целые структуры каталогов (актуально для Lanzou и 123Pan).
  4. Автоматизация через CLI: Вы можете скачивать файлы одной командой прямо в терминале.

Например, вот так выглядит скачивание через curl:

Реклама
curl -LOJ "https://your-nfd-instance.com/parser?url=ССЫЛКА_НА_ОБЛАКО&pwd=ПАРОЛЬ"

Техническая начинка

Проект написан на Java 17 с использованием фреймворка Vert.x 4. Выбор Vert.x здесь очень оправдан: это реактивный тулкит, который идеально подходит для высоконагруженных сетевых сервисов. Он позволяет обрабатывать тысячи запросов на парсинг с минимальным потреблением ресурсов.

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

Как это работает на практике

Сервис предоставляет несколько типов эндпоинтов:

  • 302 Redirect: Вы просто переходите по ссылке, и сервер мгновенно перенаправляет вас на прямой файл. Удобно для браузеров.
  • JSON API: Возвращает подробную информацию о файле: прямую ссылку, статус кэша и время жизни линка.

Пример ответа API:

{
  "code": 200,
  "msg": "success",
  "data": {
    "shareKey": "lz:xxx",
    "directLink": "https://direct-download-link.com/file.zip", 
    "cacheHit": true,
    "expires": "2024-09-18 01:48:02"
  }
}

Кстати, в проекте реализовано кэширование. Если кто-то уже запрашивал эту же ссылку недавно, NFD отдаст результат мгновенно, не нагружая лишний раз облачный сервис.

Нюансы и ограничения

Важно понимать, что некоторые облачные диски (например, Quark или UC) требуют авторизации через Cookie для получения ссылки. В последних версиях NFD (v0.2.1+) появилась поддержка передачи зашифрованных auth параметров. Это позволяет безопасно передавать свои токены авторизации серверу для парсинга «тяжелых» файлов.

Также стоит помнить о «защите от дурака»: если вы решите сделать публичный сервис на базе NFD, ваш IP могут быстро забанить облачные провайдеры. Для таких случаев в проекте предусмотрена поддержка прокси (HTTP/Socks4/Socks5), которую можно гибко настроить в app-dev.yml.

Как развернуть у себя?

Самый простой способ — через Docker. Это избавит вас от необходимости настраивать окружение Java.

docker pull ghcr.io/qaiu/netdisk-fast-download:latest
docker run -d -p 6401:6401 --name nfd qaiu/netdisk-fast-download:latest

После запуска встроенный веб-интерфейс будет доступен на порту 6401. Там можно вставить ссылку и сразу получить результат.

Итог: стоит ли пробовать?

Если ваша работа или хобби связаны с частым скачиванием файлов из разных источников или вы строите систему, где облачные диски используются как бэкенд для хранения, netdisk-fast-download станет незаменимым инструментом.

Это отличный пример того, как открытое ПО решает повседневную «боль» разработчиков, объединяя разрозненные и закрытые системы в один удобный интерфейс.

Полезные ссылки:

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

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.