Закачка файлов с depositfiles из консоли

Иногда по-прежнему требуется скачать какой-то файл с файлообменника (никогда особо не понимал их популярности, если только не вспоминать про заработок на файлообменниках). А они имеют мерзкое свойство всячески ограничивать закачку — по времени, по скорости, по количеству подключений и ещё по чему угодно (с приходом Яндекс.Диска в массы надеюсь больше файлов станут выкладывать через него хотя бы). В моём случае дело осложняется тем, что файловый хостинг depositfiles (не самый плохой из них на мой вкус) постоянно обрубает мне возможность загрузки из-за большого количества подключений — это связано с тем, что локалка находится за NAT и внешних IP не слишком много.

Неплохой выход — скачивать файлы с файлохостинга к себе на сервер, имеющий выделенный IP, а затем уже оттуда загружать на локальную машину. Но на сервре доступна только консоль, значит нужен способ качать при помощи консольных утилит. Такой способ есть — простой комбайн из консольных команд, выполненный в виде функции для bash, опубликован на Хабре (да и много где ещё наверное). Вот эта функция:

down_deposit(){
wget -O- -q --post-data 'gateway_result=1' "http://depositfiles.com/ru/files/$(basename ${1})" |
sed -n -r -e 's/.*<form action=\"([a-z0-9A-Z\/\.:_\-]+)\" method=\"get\" onSubmit=\"download_started.*/wget -c \"\1\"/gp; s/\t+([0-9]{1,3}) минут\(ы\)\./echo Спим \1 минут/gp' |
sh
}

Пользоваться просто:

  • передать при вызове ссылку на страницу закачки с файлового хостинга depositfiles;
  • функция переходит на страницу и выбирает бесплатный вариант загрузки;
  • ждёт появления ссылки на загрузку в коде страницы, как только ссылка появилась — стартует загрузка;


Category Рубрики: Информаторий | Tag Метки: | Comments Комментариев нет »

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