Иногда по-прежнему требуется скачать какой-то файл с файлообменника (никогда особо не понимал их популярности, если только не вспоминать про заработок на файлообменниках). А они имеют мерзкое свойство всячески ограничивать закачку – по времени, по скорости, по количеству подключений и ещё по чему угодно (с приходом Яндекс.Диска в массы надеюсь больше файлов станут выкладывать через него хотя бы). В моём случае дело осложняется тем, что файловый хостинг 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/.*