up2rshare - закачка файлов на RapidShare в пакетном режиме

Автор: Илья Евсеев, фирма «Реквизит».

Лицензия: GNU GPL.

English documentation

Скачать up2rshare (версия от 20.12.2005)

Репозитарий исходных текстов

Обсуждение на Linux.Org.Ru

Зачем это нужно?

В большинстве организаций существуют данные, утеря которых равносильна катастрофе: финансовая отчётность, базы торговых сделок и т.д. Для предотвращения подобных катастроф с данных снимают резервные копии. В большинстве случаев процесс создания резервных копий полностью автоматизирован и не требует вмешательства человека.

Наибольшая надёжность достигается тогда, когда копии хранятся не на том же самом компьютере, что и исходные данные, а на соседнем компьютере, на мобильном носителе или даже (разумеется, в зашифрованном виде) за пределами офиса. Многие хостинг-провайдеры (например, Agava) предоставляют дисковое пространство специально для этих целей, с доступом через SSH и FTP.

Существует также специальное программное обеспечение - такое как AMANDA, организующая файлообменную сеть внутри офиса или через Интернет для автоматического перемещения резервных копий с каждого из компьютеров-участников на остальные.

Оба эти варианта имеют два общих недостатка: во-первых, чтобы ими воспользоваться, надо иметь договорённость с кем-то за пределами офиса. А в случае с хостинг-провайдером надо ещё и заплатить. Во-вторых, хотя это и не слишком существенно, в случае с Windows они требуют установки дополнительного программного обеспечения, диссонирующего с интерактивным характером этой системы :-)

Что такое RapidShare?

RapidShare является мега-популярным средством анонимного бесплатного распространения файлов. В отличие от файлообменных сетей (EDonkey, Shareaza, Kazaa и т.д.), пользователи выкладывают свои данные на сервер, а не отдают непосредственно со своих компьютеров. Такая схема имеет всем известные недостатки (перегрузка сервера и каналов, отсутствие рейтингов и т.д.), но оказалась успешной благодаря тому, что и для публикации, и для скачивания используется протокол HTTP и Веб-интерфейс, то есть для работы достаточно обычного Веб-браузера. Кроме того, от публикующего данные пользователя не требуется держать свой компьютер включённым некоторое время, чтобы (как в случае с файлообменниками) нашлись желающие их скачать и данные "утекли" в сеть.

Естественно, RapidShare является не единственным подобным ресурсом, но опережает конкурентов практически по всем параметрам. Например, по сравнению с сервером SaveFile, предоставляющим такие же услуги (имеется в виду только их бесплатная часть), RapidShare выигрывает и по допустимому размеру файлов (100 мегабайт против 60), и по сроку хранения (30 суток при отсутствии скачиваний против 10-14), и по простоте закачки (SaveFile требует вводить число с картинки, то есть не может быть использован в пакетном режиме, если только не прибегать к трюкам с распознаванием изображений через gocr или его аналоги).

Что делает up2rshare?

up2rshare принимает в командной строке имя файла и закачивает этот файл на RapidShare. Затем на экран выводится URL, назначенный этому файлу на сервере.

Как следует им распорядиться? Поскольку без знания URL получить доступ к данным невозможно (возможностей поиска файлов по другим критериям на RapidShare нет), нелепо просто сохранять его на локальной машине (например, записав в файл), поскольку при этом доступ к резервным копиям ставится в зависимость от проблем на компьютере, для преодоления которых они и отсылаются за его пределы.

Следовательно, URL тоже следует сохранить где-нибудь в Сети, желательно - на самом RapidShare. Для этой цели идеально подходит существующий на RapidShare механизм папок (folders):

Если up2rshare запускается с ключом «-F» (см.ниже), возвращённый на первом шаге URL добавляется в указанную папку.

Как устроена up2rshare?

up2rshare представляет из себя сценарий на языке интерпретатора команд bash. Для получения, заполнения и отправки Веб-форм в автоматическом режиме он использует утилиту cURL (фактически являясь тонкой обёрткой над этим замечательным инструментом). Для синтаксического разбора используется grep и встроенные возможности bash (в первых версиях для этого вызывался пакетный редактор sed, а синтаксис сценария был расчитан на базовый интерпретатор sh - к сожалению, неодинаково реализованный в разных системах). Разумеется, чтобы сформировать правильные запросы для cURL и обработать их результаты, предварительно потребовалось пройти всю последовательность действий вручную и просмотреть присылаемый сервером HTML-код.

Если вам требуется запустить перечисленные программы под Windows, воспользуйтесь их вариантами из проекта CygWin. Для начала работы достаточно просто скачать и запустить инсталлятор.

Как вызывается up2rshare?

Ключ "-a" передаёт дополнительные параметры в команды вызова cURL. Например, при работе через Веб-прокси, авторизующий пользователей в домене сети Microsoft, этот ключ может использоваться следующим образом:

up2rshare -a "--proxy IPАдресПрокси:3128 -U Домен\\Пользователь:Пароль" ИмяФайла
Обратите внимание на двойной обратный слэш! (одинарный будет интерпретирован как управляющий символ.)

Ключ "-F" задаёт папку на RapidShare, в которую должна быть добавлена гиперссылка на файл, после того, как он будет размещён на сервере. Пример:

up2rshare -F ИмяПапки:Пароль ИмяФайла
Как правило, имя папки RapidShare формирует из пяти произвольных заглавных букв и цифр, например, 2YLKJ.

Ключи "-q" («quiet», «молчаливый») и "-v" («verbose», «многословный») управляют подробностью вывода. При желании их можно использовать одновременно, так как они отвечают за разные сообщения. Во время первоначальной наладки рекомендуется использовать "-v". После её завершения включите "-q" и уберите "-v".

Изменения в документе

22 декабря 2005 -- первая версия
1 января 2005 -- добавлены ссылки на LOR и gocr.

Хостинг от uCoz