Блог :. Загрузчик файлов на depositfiles.com на bash

Загрузчик файлов на depositfiles.com на bash

29 Июл, 2015

Нашел тут завалявшийся скрипт на 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 = '\([^']*\)'"`";