Хочу представить вашему вниманию программу для скачивания и распространения книг. Работает по принципу P2P, никаких трекеров для работы не требует, каждый клиент может являться также и сервером.
Состоит из 2-х частей — демона и графической оболочки. Оболочка выглядит так:
img-fotki.yandex.ru
Думаю из скриншота принцип действия понятен. Ищем, скачиваем желаемое.
Где брать.
Исходники, версия готовая для установки. (После распаковки скопируйте каталог usr в /)
dl.dropbox.com
Исходники, portbale версия, работает из того каталога, в который распакована:
dl.dropbox.com
До кучи rpm пакет для mandriva
dl.dropbox.com
Для успешного запуска в системе должны быть установлены следующие пакеты:
perl-base
perl(Data::Dumper)
perl(DBI)
perl(DBD::SQLite)
perl(Digest::SHA)
perl(Encode)
perl(Exception::Class::TryCatch)
perl(File::Basename)
perl(File::Find)
perl(File::HomeDir)
perl(File::Path)
perl(IO::Select)
perl(IO::Socket)
perl(IO::Uncompress::Unzip)
perl(JSON)
perl(PDF::API2)
perl(Term::ANSIColor)
perl(Wx)
Да-да, программа написана на perl.
Перед запуском создайте также каталоги ~/lib и ~/lib/in — в первом вы будете хранить свою библиотеку (именно оттуда будут раздаваться книги), во второй программа будет скачивать книги. Путь эти не жёсткие, их можно изменить. При первом запуске программа создаст конфиг ~/.config/sharebook/config в котором можно будет поменять настройки.
После того, как каталоги созданы и настроены закиньте туда книги (fb2, fb2.zip или pdf), а затем запустите программу с ключом -u, она пересканирует библиотеку и создаст базу данных.
sharebookd -u
Это может занять довольно длительное время.
Сейчас, в тестовом варианте сервер запущен по адресу shura.de.nologin.ru, за него и надо цепляться. Там стоит лимит на 50 подключений, после превышения которого среди клиентов выбирается еще один сервер и новые клиенты будут перенаправляться уже на него. Таким дополнительным сервером может стать любой клиент, у которого нет NAT или у которого проброшен на роутере порт (по умолчанию 9222) до компьютера с запущенной программой.
Справка по ключам sharebookd
Usage sharebookd [-d <destination port>][-s <source port>][-D <directory>][-m][-g][-u] <host>
-d <destination port> — порт, на который подключаться (по умолчанию 9222)
-s <source port> — порт, на котором принимать подключения (по умолчанию 9222)
-g запустить сервер GUI (по умолчанию запущен, на порту 9992)
-D <directory> — каталог с книгами. (по умолчанию ~/lib)
-DT <directory> — каталог, в который будут скачиваться книги (по умолчанию ~/lib/in)
-u — пересканировать книги, обновить базу
-m — указывает, что клиент может стать мастером и принимать подключения
-v — выводит версию программы (сейчас 0.25)
Большинство из значений хранятся в конфиге ~/.config/sharebook/config, можно поправить их там и запускать демон вообще без параметров.
Итак, запуск демона будет выглядеть так:
sharebookd -m shura.de.nologin.ru
Сейчас на самом сервере около 4 Гб книг, плюс книги пользователей, так что для успешного старта проекта необходимо набрать как можно пользователей.
!!! Пожалуйста, если вам самим проект не интересен, то отрекомендуйте пост, возможно среди ваших читателей найдутся заинтересованные!
Плюс к этому не откажусь от помощи программистов, тянуть такой проект одному довольно сложно.