
Установка XBT Tracker из портов на FreeBSD
XBT Tracker является BitTorrent трекер написан на С + +. Он создан, чтобы давать очень высокую производительность при этом потребляя мало ресурсов (процессора и памяти). Это чисто трекер, поэтому он не дает фронтэнд что и очень плохо, но Вы можете использовать любой (PHP) фронтэнд который вы хотите. Как видим для провайдера канал которого на 70% забит торрент трафиком, ретрекер может хоть немного его освободить, да и если не режется скорость внутри сети, приятно удивить абонентов высокой скоростью закачки.
Установим необходимые компоненты, для начала поставим порт с subversion:
# make -C /usr/ports/devel/subversion install clean
В меню выбираем что необходимо для установки, после чего нажимаем «OK», после некоторого времени выскочит еще один пункт меню, жмем ОК. Установка этого компонента завершена, установим др:
# make -C /usr/ports/devel/boost-all install clean
Начнет установку, но через некоторое время попросит выбрать еще кое что:
Нужно установить gcc (нужен 4.4 и выше), с версией еще не определился, но полазив по форумам нашел что нужно именно gcc44 (до этого поставил gcc49- попробую обе), по этому установим его:
# cd /usr/ports/lang/gcc44 && make && make install && make clean
Или установите gcc49:
# cd /usr/ports/lang/gcc49 && make && make install && make clean
Люди говорят что необходимо еще установить следующее:
cmake — у меня уже было установлен -cmake 2.8.12
boost-libs, boost-jam, boost-python-libs, boost-docs — уже установлено, т.к я установил порт boost-all;
python , был установлен еще до этого;
Установим icu
# cd /usr/ports/devel/icu && make && make install && make clean
Можно устанавливать еще одним способом, сократить написание несколько слов:
# make -C /usr/ports/devel/icu && make install && make clean
Установим py-elementtree
# cd /usr/ports/devel/py-elementtree && make && make install && make clean
Установим gccxml
Идем на сайт, я нашел этот порт на github:
# svn co https://github.com/gccxml/gccxml /usr/local/gccxml # mkdir gccxml-build # cd gccxml-build # cmake ../gccxml -DCMAKE_INSTALL_PREFIX:PATH=/installation/path
( «-D …» опция может быть прервана, если вы хотите использовать /usr/local как установочный префикс.)
# make && make install && make clean
Установим gmake — У меня уже установлен, но я покажу как его установить:
# /usr/ports/devel/gmake && make && make install && make clean
Установим gettext
# cd /usr/ports/devel/gettext && make && make install && make clean
Установим libtool
# cd /usr/ports/devel/libtool && make && make install && make clean
Установим libiconv
# cd /usr/ports/converters/libiconv && make && make install && make clean
После чего выполним команду которая заставит фряху пересмотреть все то что установлено и найти новое:
# rehash
Скачиваем исходники XBT Tracker, можно с офф сайта:
# cd /usr/local/ && svn co http://xbt.googlecode.com/svn/trunk/xbt/misc xbt/misc && svn co http://xbt.googlecode.com/svn/trunk/xbt/Tracker xbt/Tracker && cd xbt/Tracker && ./make.sh && cp xbt_tracker.conf.default xbt_tracker.conf
!!!У МЕНЯ БЫЛИ ВСЯКИЕ ОШИБКИ!!! Хотел исправить вот таким образом, НО ВЫПОЛНЯТЬ ЕСЛИ У ВАС НЕ ПОЛУЧИЛОСЬ ВСЕ ТО ЧТО Я ПИСАЛ ВЫШЕ:
# ee /usr/local/xbt/Tracker/tracker_input.cpp
#include <sys/uio.h>
#include <sys/types.h>
#include <sys/socket.h>
# ee /usr/local/xbt/misc/xbt/data_ref.h
#include <sys/uio.h>
#include <sys/types.h>
#include <sys/socket.h>
# ee /usr/local/xbt/misc/bvalue.cpp
#include <sys/uio.h>
#include <sys/types.h>
#include <sys/socket.h>
# ee /usr/local/xbt/Tracker/connection.cpp
#include <sys/uio.h>
#include <sys/types.h>
#include <sys/socket.h>
# ee /usr/local/xbt/Tracker/server.cpp
#include <sys/types.h>
#include <sys/socket.h>
# ee /usr/local/xbt/Tracker/make.sh
Если вы установили gcc49, то необходимо прописать:
g++49 $@ -DEPOLL -DNDEBUG -I ../misc -I . -O3 -o xbt_tracker -std=c++0x \
Но с этим не работало, зависало.
Если вы установили gcc44, то необходимо прописать:
g++44 $@ -DEPOLL -DNDEBUG -I ../misc -I . -O3 -o xbt_tracker -std=c++0x \
Если и это у Вас не вышло, не вышло установить сам XBT, тогда установите что то др (в конце статьи я расскажу какие есть альтернативы), а если получилось, то продолжаем настраивать его.
Создадим БД, юзера и сделаем дамп самой базы данных, но дял этого заходим из под рута на мускуль:
# mysql -u root -p
Создадим юзера xbtt и БД xbtt:
>CREATE USER 'xbtt'@'localhost' IDENTIFIED BY 'pass'; >GRANT USAGE ON *.* TO 'xbtt'@'localhost' IDENTIFIED BY 'pass'; >CREATE DATABASE IF NOT EXISTS `xbtt`; >GRANT ALL PRIVILEGES ON `xbtt`.* TO 'xbtt'@'localhost'; >exit;
Дампанем нашу БД:
# mysql -uxbtt -p xbtt < xbt_tracker.sql
Скопируем стандартный файлик с настройками и поправим его для себя:
# cp xbt_tracker.conf.default xbt_tracker.conf && ee xbt_tracker.conf
mysql_host = localhost mysql_user = xbtt mysql_password = pass mysql_database = xbtt pid_file = /var/run/xbt_tracker.pid announce_interval = 1700 anonymous_connect = 0 anonymous_announce = 0 anonymous_scrape = 0 auto_register = 0 clean_up_interval = 170 daemon = 1 debug = 0 full_scrape = 1 gzip_debug = 1 gzip_scrape = 1 listen_ipa = 192.168.244.133 listen_port = 2710 log_access = 0 log_announce = 0 log_scrape = 0 read_config_interval = 30 read_db_interval = 30 scrape_interval = 30 table_announce_log = xbt_announce_log table_files = xbt_files table_files_users = xbt_files_users table_scrape_log = xbt_scrape_log table_users = xbt_users write_db_interval = 17
Теперь создадим скрипт для запуска сервера, для этого выполним:
# ee /usr/local/etc/rc.d/xbt.sh
#!/bin/sh # Установка XBT Tracker из исходников на FreeBSD . /etc/rc.subr name="xbt_tracker" rcvar=`set_rcvar xbt_tracker` load_rc_config ${name} : ${xbt_tracker_enable="NO"} : ${xbt_tracker_flags="--conf_file /usr/local/xbt/Tracker/xbt_tracker.conf"} pidfile="/var/run/${name}.pid" command="/usr/local/xbt/Tracker/${name}" required_files="/usr/local/xbt/Tracker/${name}.conf" case "${xbt_tracker_flags}" in *-p\ *) echo "ERROR: \$xbt_flags includes -p option." \ "PID file is already set to $pidfile." exit 1 ;; *) command_args="-p ${pidfile} ${xbt_tracker_flags}" ;; esac run_rc_command "$1"
Сделаем файлик исполняемым, для этого нужно сменить ( поправить права):
# chmod +x /usr/local/etc/rc.d/xbt.sh
Для автазагрузки трекер сервера необходимо добавить следующее в /etc/rc.conf:
# echo xbt_tracker_enable="YES" >> /etc/rc.conf # echo xbt_tracker_flags="--conf_file /usr/local/xbt/Tracker/xbt_tracker.conf" >> /etc/rc.conf
Стартуем сервис:
# /usr/local/etc/rc.d/xbt.sh start
Поглядим что нормально все работает, для этого выполним команду:
# ps -aux | grep xbt
Установка XBT Tracker из исходников на FreeBSD завершена, но меня так и не вышло установить. Но есть ряд других программ которые не чем не хуже этой (XBT Tracker):
1. MLDonkey — является утилитой с открытым исходным кодом, несколькими протоколами, которая использует применение равный-обмена файлами между пользователями, которая работает как серверное приложение на многих платформах. Эта прога может управляться с помощью пользовательского интерфейса, предоставленной одним из многих отдельных пользовательских интерфейсов, в том числе веб-интерфейс, интерфейс телнет и более десятка родных клиентских программ. Программа написанная на OCaml с использованием С.
2. MonoTorrent — является кросс-платформенной библиотекой, реализующая протокол BitTorrent. Прога основана на реализации Mono в .NET Framework. В результате MonoTorrent может быть скомпилирован и выполнен на всех основных операционных системах, доступных сегодня. Это теперь позволяет библиотеке работать на любой платформе, поддерживающей Compact Framework, например, смартфонов. Как можно было понять, то утилита написана на C#.
3. Opentracker — является свободным (лицензируется как beerware) BitTorrent трекером — это программное обеспечение (имеет особый вид HTTP или UDP серверное программное обеспечение) и который предназначен, чтобы быть быстрым и иметь низкое потребление системных ресурсов. Написан на С. Используется в Unix-like (Linux, *BSD).
4. PeerTracker является свободным (лицензируется как GPL) BitTorrent трекером и программным обеспечением которое написанное на PHP и которое предназначено, чтобы быть быстрым и иметь низкое потребление системных ресурсов.
5. µTorrent — (или Utorrent , сокращенно » мкТл » или » UT » ) является свободным от заряда , с поддержкой рекламы и с закрытым исходным кодом BitTorrent клиент , принадлежащий BitTorrent , Inc. Он является наиболее широко используется BitTorrent клиент за пределами Китая (где Xunlei является более популярным)» μ » ( греческая буква » мю «) в его название происходит от префикса СИ «микро- » , ссылаясь на небольшой объем памяти программы : . программа была разработана, чтобы использовать минимальные ресурсы компьютера , предлагая функциональность , сравнимую с крупными клиентами BitTorrent , таких как Vuze или BitComet . Программа получила последовательно хорошие отзывы за его набор функций , производительность, стабильность и поддержку старого оборудования и версиях Windows. Утилита доступна для Microsoft Windows, Mac OS X , Linux, и Android также доступна для Linux. Все версии написаны на C + + .
6. qBittorrent является клиентом бесплатного программного обеспечения и кросс-платформенным BitTorrent . Программа использует библиотеку Libtorrent — rasterbar для торрента серверного ( сеть связи ) функционала . qBittorrent написано на языке программирования С + + ( с использованием C библиотеки + +) и , таким образом, является уроженцем приложение, которое запускается непосредственно на аппаратном , он также использует структуру Qt (версия 4.8 по состоянию на qBittorrent 3.1.8 ) . Факультативная поисковая система написана на языке программирования Python. Утилита является попыткой предоставить эквивалент трекера , который имеет тоже открытый исходный код и мультиплатформу и к этому всему они добавили потокового типа функции , позволяющие пользователю скачать и играть видео файлы . Прога в настоящее время предлагает функциональность , сравнимую с другими клиентами BitTorrent , таких как Vuze , но не требуя виртуальную машину Java . qBittorrent требуется Python только для поисковой системы в то время как другие клиенты, такие как Всемирный потоп и BitTornado требуют его для самого протокола BitTorrent. Со своей BitTorrent и UTP реализацией, qBittorrent использует библиотеку Libtorrent Rasterbar , которая сама написана на C + + .
7. Vuze ( ранее Azureus ) является клиентом BitTorrent используется для передачи файлов по протоколу BitTorrent. Vuze написан на языке Java и использует Azureus Engine. Торрент-файлы , Azureus позволяет пользователям просматривать , публиковать и обмениваться оригинальный DVD и качества HD видео контента . Содержание представлено в виде каналов и категорий , содержащих телепередачи , клипы , фильмы, видео игры , серия и другие. Кроме того, если пользователи предпочитают публиковать свои оригинальное содержание , они могут заработать на этом деньги. Azureus был впервые выпущен в июне 2003 года на SourceForge.net , в основном экспериментировать с Standard Widget Toolkit от Eclipse. Позже он стал одним из самых популярных клиентов BitTorrent . Программное обеспечение Azureus был выпущен под GNU General Public License , и остается в качестве бесплатного приложения . Тем не менее, программное обеспечение Vuze добавил в более свежих версиях является собственностью и пользователи должны принять эти более жесткие условия лицензионного соглашения , чтобы установить текущие версии клиента BitTorrent.
У меня «Установка XBT Tracker из исходников на FreeBSD» прошла неудачно, я решил поставить что то другое попозже или разобраться в чем дело с этим.