Загрузчик файлов на depositfiles.com на bash
Нашел тут завалявшийся скрипт на bash, позволяющий автоматически загружать файлы в свой аккаунт на DepositFiles.com. Зачем это нужно? Ну к примеру этот сервис дает 5 баксов за 1000 скачиваний, а там можно прикрутить что угодно под этим соусом, ибо ручками грузить крайне неудобно.
Обидно, что сам сервис не придумал никакого внятного api для загрузки файлов. Работоспособность проверялась в июле 2015 года, если верстка сайта поменяется - допиливайте сами :) На выходе скрипт отдает ссылку на залитый файл, чуть позже он появляется в списке в вашем аккаунте.
В скрипте используется какой-то рандомный прокси из России, дабы не кидало с домена dfiles.ru на depositfiles.eu, если вдруг вы планируете запускать скрипт где-то не в России.
#!/bin/bash cookieFile="depositcookies.txt" login="login"; pass="passwd"; proxy="109.197.92.60:8080"; if [ $# -eq 0 ]; then echo "File for upload parameter missed!" 1>&2; exit 1; else file="$1"; fi data=`curl -sb $cookieFile http://dfiles.ru/`; if ! echo "$data" | grep "$login" > /dev/null ; then curl -sc $cookieFile "http://dfiles.ru/login.php?return=%2F" > /dev/null curl -sc $cookieFile "http://dfiles.ru/api/user/login" -S \ -F "login=$login" \ -F "password=$pass" \ > /dev/null data=`curl -x "$proxy" -sb "$cookieFile" "http://dfiles.ru/"`; if ! echo "$data" | grep "$login" > /dev/null; then echo "$data"; echo "ne ok"; exit 2; fi fi action=`expr match "$data" ".*action=\"\([^\"]*\)\""`; uploadIdentifier=`expr match "$data" ".*UPLOAD_IDENTIFIER\" value=\"\([^\"]*\)\""`; data=`curl -sb "$cookieFile" "$action" -S \ -F "MAX_FILE_SIZE=2097152000" \ -F "UPLOAD_IDENTIFIER=$uploadIdentifier" \ -F "go=1" \ -F "agree=1" \ -F "files=@$file"` echo "`expr match "$data" ".*parent.ud_download_url = '\([^']*\)'"`";