статья про rtorrent и вебморду

Разговоры ни о чём

Модератор: vadim64

opt1k
лейтенант
Сообщения: 966
Зарегистрирован: 2007-12-05 9:45:18
Откуда: Mytischi

Re: статья про rtorrent и вебморду

Непрочитанное сообщение opt1k » 2009-02-18 11:18:54

конфиг опишу. Пиры у меня видны, правда не всегда отображаются сразу.
Эл, авторизацию по логину паролю проходите? попробуйте скормить торрент rtorrent'у через консоль и посмотрите будет ли он виден через веб интерфейс. А вообще проверьте работает ли сам rtorrent. Пользователя от которого пускаете rtorrent надо предварительно создать, этого нет в статье, ща добавлю.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Larin
лейтенант
Сообщения: 975
Зарегистрирован: 2008-01-29 20:08:41
Откуда: РБ, Минск

Re: статья про rtorrent и вебморду

Непрочитанное сообщение Larin » 2009-02-24 13:18:13

хых. красивая морда. только жму add file но торрент не добавляется..
странно.

opt1k
лейтенант
Сообщения: 966
Зарегистрирован: 2007-12-05 9:45:18
Откуда: Mytischi

Re: статья про rtorrent и вебморду

Непрочитанное сообщение opt1k » 2009-02-28 17:57:19

права на директории проверь

100kg
ст. сержант
Сообщения: 393
Зарегистрирован: 2006-05-18 14:01:32

Re: статья про rtorrent и вебморду

Непрочитанное сообщение 100kg » 2009-03-13 18:17:52

lighthttpd

Код: Выделить всё

scgi.server = (
                "/RPC2" =>
                  ( "127.0.0.1" =>
                    (
                      [b]"socket" => "/var/tmp/rtorrent_rpc.socket"[/b],
                      "check-local" => "disable",
                      "disable-time" => 0,  # don't disable scgi if connection fails
                    )
                  )
              )
apache

Код: Выделить всё

SCGIMount /RPC2 127.0.0.1:5000
lighthttp общается через файловый сокет а apache через сетевой, как вот apache заставить работать тоже через файловый сокет? не хочу скрипт менять :smile:

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: статья про rtorrent и вебморду

Непрочитанное сообщение FenX » 2009-04-01 13:10:39

100kg писал(а):как вот apache заставить работать тоже через файловый сокет? не хочу скрипт менять :smile:
к сожалению, судя по документации, mod_scgi работает только по сетевому =(

iamxray
рядовой
Сообщения: 10
Зарегистрирован: 2009-04-07 3:05:22

Re: статья про rtorrent и вебморду

Непрочитанное сообщение iamxray » 2009-04-07 3:26:42

Не стал создавать новую тему, спрошу тут. Если что сильно не пинайте :pardon:
В данный момент хочу сделать автоматического суперсида из файлового сервера(фря 7.1), на моем торрент трекере есть скрипт, который автоматом генерит торрент файлы(с файлов которые находятся на файловом сервере).

Хочу через свой скрипт управлять торрент клиентом, допустим человек залил файл на файловый сервер, оформил раздачу(скрипт сделал торрент файл с пользовательского файла) и автоматом сам встал на раздачу(отправив торент клиенту торент файл и месторасположения файла который надо раздавать). Так же скрипт будет становится на раздачу когда кто то скачает торрент файл, а сидов нет и т.д. :crazy:

Вот теперь осталось выбрать торрент клиент под бсд, которым можно будет управлять через скрипт,отсылая ему команды. Как вы считаете rtorrent подойдет для данной цели? И на какой клиент еще стоит обратить внимание?
П.с. ээх, еще для DC++ тоже самое, можно еще mldonkey попробовать там и торент и дс и управление как угодно...

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: статья про rtorrent и вебморду

Непрочитанное сообщение FenX » 2009-04-07 7:58:14

rtorrent подойдёт вполне :)
делаем просто:

Код: Выделить всё

$ echo 'schedule = watch_directory,5,5,load_start=/your_dir/*.torrent' >> $HOME/.rtorrent.rc
т.е. в .rtorrent.rc в хомяке пользователя, от которого рторрент будет работать,
добавить планировку: каждые 5 секунд загружать и запускать торрент файлы, которые расположены в /your_dir/
если торрент уже загружен и работает, то повторно он запущен не будет.

abufct
проходил мимо
Сообщения: 5
Зарегистрирован: 2009-04-13 9:33:09

Re: статья про rtorrent и вебморду

Непрочитанное сообщение abufct » 2009-04-13 9:51:21

Что-то не очень понял, а стоп у rc-скрипта будет работать?
Я тут с ним повозился немного, вот что получилось:

Код: Выделить всё

#!/bin/sh
# Maintainer: abufct, ver. 1.1.
#
# PROVIDE: rtorrent
# REQUIRE: DAEMON mountdata
# BEFORE: LOGIN
# KEYWORD: shutdown
#
# Add the following line to /etc/rc.conf to enable rtorrent:
#
#  rtorrent_enable="YES"
#  # optional
#  rtorrent_user="torrent"
#  rtorrent_www="www"

. /etc/rc.subr

name="rtorrent"
rcvar=`set_rcvar`
load_rc_config $name

# Set some defaults
eval ": \${$rcvar:='NO'}" # rtorrent_enable
: ${rtorrent_user:="torrent"}
: ${rtorrent_www:="www"}
: ${rtorrent_socket:="/var/tmp/rtorrent_rpc.socket"}
: ${rtorrent_bin:="/usr/local/bin/rtorrent"}

rtorrent_args="$rtorrent_args -o scgi_local=\"$rtorrent_socket\""
pidfile=${rtorrent_pidfile:-"/var/run/rtorrent.pid"}
command="/usr/local/bin/screen"
command_args="-dmS \"$name\" \"$rtorrent_bin\" $rtorrent_args"

pid=$(cat "$pidfile" 2>/dev/null)

isrunning()
{
	[ -n "$pid" ] &&
	ps -o args= -p $pid | grep -l "$rtorrent_bin" > /dev/null
	return $?
}

start()
{
	if isrunning; then
		echo "$name already running? (pid=$pid)."
		return
	fi

	echo Starting $name.

	rm -f "$rtorrent_socket"

	eval HOME="~$rtorrent_user"
	su -m $rtorrent_user -c "\"$command\" $command_args" || return 1

	while [ ! -e "$rtorrent_socket" ]; do 
		sleep 0.01
	done

	chown $rtorrent_www "$rtorrent_socket"
	ps -o pid= -o comm= -U $rtorrent_user |
		grep "$(basename $rtorrent_bin)" |
		sed "s/ *\([0-9]*\).*/\\1/" |
		head -1 > "$pidfile"
}

stop()
{
	if ! isrunning; then
		echo "$name not running? (check $pidfile)."
		return
	fi

	echo Stopping $name.

	kill $pid
	rm -f "$rtorrent_socket" "$pidfile"
}

status()
{
	if isrunning; then
		echo $name is running as pid $pid.
	else
		echo $name is not running.
	fi
}

start_cmd="start"
stop_cmd="stop"
status_cmd="status"

run_rc_command "$1"
к сожалению, стандартными средствами воспользоваться не получилось: из-за того, что рторрент в скрине, гораздо дольше инфраструктуре объяснять, что, где и как, чем самому написать старт и стоп.
а ещё:

Код: Выделить всё

# cat ~torrent/.screenrc
multiuser on
acladd abufct
Последний раз редактировалось abufct 2009-04-18 0:42:52, всего редактировалось 1 раз.

Аватара пользователя
MASiK
лейтенант
Сообщения: 625
Зарегистрирован: 2008-09-19 20:09:41
Откуда: Оттуда
Контактная информация:

Re: статья про rtorrent и вебморду

Непрочитанное сообщение MASiK » 2009-04-16 1:08:52

У меня вообще РТОРРЕНТ коре дампит вот такое предварительно сказав

Код: Выделить всё

( 2:21:45) Using 'kqueue' based polling.
( 2:21:45) XMLRPC initialized with 496 functions.
( 2:21:45) The SCGI socket is bound to a specific network device yet may still pose a security risk, consider using 'scgi_loca
[Throttle off/off KB] [Rate   0,0/  0,0 KB] [Port: 50358] [Local 62.117.120.190] [Bind 62.117.120.190] [U 0/1] [D 0/0] [H 0/3terminate called after throwing an instance of 'std::bad_alloc'
                                                                what():  std::bad_alloc
                                                                                       Аварийное завершение(core dumped)
Самурай

abufct
проходил мимо
Сообщения: 5
Зарегистрирован: 2009-04-13 9:33:09

Re: статья про rtorrent и вебморду

Непрочитанное сообщение abufct » 2009-04-16 7:56:40

std::bad_alloc
памяти не хватает?

Аватара пользователя
MASiK
лейтенант
Сообщения: 625
Зарегистрирован: 2008-09-19 20:09:41
Откуда: Оттуда
Контактная информация:

Re: статья про rtorrent и вебморду

Непрочитанное сообщение MASiK » 2009-04-16 8:42:49

Фига дожил.... Это что значит памяти не хватает?!
Самурай

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: статья про rtorrent и вебморду

Непрочитанное сообщение m0ps » 2009-04-25 8:50:00

на сайте rtorrenta есть пример конфига для апача

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: статья про rtorrent и вебморду

Непрочитанное сообщение FenX » 2009-04-25 21:55:08

а как все же через апач сделать? просто стоит апач не хочется снести и ставить этот лайт...
элементарно...

Код: Выделить всё

make -C /usr/ports/www/mod_scgi/ install clean
httpd.conf

Код: Выделить всё

LoadModule scgi_module        libexec/apache22/mod_scgi.so

    SCGIMount /RPC2 127.0.0.1:5000
    <Location /RPC2>
        AuthName "p2p torrents"
        AuthType Basic
        AuthBasicProvider file
        AuthUserFile /usr/local/www/.htpasswd
        Require user tralala
    </Location>
.rtorrent.rc

Код: Выделить всё

scgi_port = localhost:5000
/usr/local/etc/rc.d/rtorrent

Код: Выделить всё

#!/bin/sh
# PROVIDE: rtorrent
# REQUIRE: LOGIN
# KEYWORD: shutdown

. /etc/rc.subr

name="rtorrent"
rcvar=`set_rcvar`

load_rc_config $name

: ${rtorrent_enable="NO"}
: ${rtorrent_user=""}

pidfile="/var/run/${name}.pid"
command="/usr/local/bin/rtorrent"

start_cmd="echo \"Startting ${name}.\"; su ${rtorrent_user} -c 'screen -A -m -d -S ${name} ${command}'"
start_postcmd="${name}_poststart"

rtorrent_poststart()
{
	sleep 4
	ps aux | grep ${name} | grep ${rtorrent_user} | awk '{print($2)}' > ${pidfile}
	echo "Done"
}

run_rc_command "$1"

Аватара пользователя
mayor
сержант
Сообщения: 215
Зарегистрирован: 2008-09-06 10:11:49
Контактная информация:

Re: статья про rtorrent и вебморду

Непрочитанное сообщение mayor » 2009-04-26 15:25:51

все завел с апачем но не добавляет торент файлы - что может быть?, пишет в браузере:

Код: Выделить всё

Файл должен быть файлом .torrent.

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: статья про rtorrent и вебморду

Непрочитанное сообщение m0ps » 2009-04-26 20:20:17

читать логи вебсервера

Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Re: статья про rtorrent и вебморду

Непрочитанное сообщение manefesto » 2009-04-27 15:08:08

епт, поставьте torrentflux и не парьтесь
я такой яростный шо аж пиздеЦ
Изображение

Аватара пользователя
mayor
сержант
Сообщения: 215
Зарегистрирован: 2008-09-06 10:11:49
Контактная информация:

Re: статья про rtorrent и вебморду

Непрочитанное сообщение mayor » 2009-04-27 19:23:19

manefesto писал(а):епт, поставьте torrentflux и не парьтесь
пробовал порт закрыт пока...

поставил по статье все работает кроме авторизации что может быть?, в логе:

Код: Выделить всё

(19:24:28 </>) 0 # tail -f /var/log/lighttpd.error.log
2009-04-27 14:04:56: (http_auth.c.868) get_password failed
2009-04-27 14:05:14: (http_auth.c.868) get_password failed
2009-04-27 14:06:28: (http_auth.c.868) get_password failed
2009-04-27 14:08:13: (server.c.1469) server stopped by UID = 0 PID = 0
2009-04-27 14:08:15: (log.c.97) server started
2009-04-27 19:24:24: (server.c.1469) server stopped by UID = 0 PID = 0
2009-04-27 19:24:27: (log.c.97) server started
2009-04-27 19:25:32: (http_auth.c.868) get_password failed
2009-04-27 19:25:33: (http_auth.c.868) get_password failed
2009-04-27 19:25:44: (http_auth.c.868) get_password failed
конфиг сервака точняком со статьи, только одну кавычку убрал а то не запускался (косяк наверное):

Код: Выделить всё

(19:34:43 </>) 0 # cat /usr/local/etc/light
lightsquid/           lighttpd.conf         lighttpd.conf.sample
(19:34:43 </>) 0 # cat /usr/local/etc/lighttpd.conf | less

server.modules              = (
                               "mod_rewrite",
                               "mod_redirect",
                               "mod_alias",
                                "mod_access",

                               "mod_auth",
                               "mod_fastcgi",
                                "mod_scgi",
                                "mod_accesslog" )

######### Options that are good to be but not neccesary to be changed #######

## bind to port (default: 80)
server.port                = 81


server.document-root        = "/usr/local/www/data"
server.errorlog             = "/var/log/lighttpd.error.log"
index-file.names            = ( "index.php", "index.html",
                                "index.htm", "default.htm" )
server.event-handler = "freebsd-kqueue" # needed on OS X
mimetype.assign             = (
  ".pdf"          =>      "application/pdf",
  ".sig"          =>      "application/pgp-signature",
  ".spl"          =>      "application/futuresplash",
  ".class"        =>      "application/octet-stream",
  ".ps"           =>      "application/postscript",
  ".torrent"      =>      "application/x-bittorrent",
  ".dvi"          =>      "application/x-dvi",
  ".gz"           =>      "application/x-gzip",
  ".pac"          =>      "application/x-ns-proxy-autoconfig",
  ".swf"          =>      "application/x-shockwave-flash",
  ".tar.gz"       =>      "application/x-tgz",
  ".tgz"          =>      "application/x-tgz",
  ".tar"          =>      "application/x-tar",
  ".zip"          =>      "application/zip",
  ".mp3"          =>      "audio/mpeg",
  ".m3u"          =>      "audio/x-mpegurl",
  ".wma"          =>      "audio/x-ms-wma",
  ".wax"          =>      "audio/x-ms-wax",
  ".ogg"          =>      "application/ogg",
  ".wav"          =>      "audio/x-wav",
  ".gif"          =>      "image/gif",
  ".jar"          =>      "application/x-java-archive",
  ".jpg"          =>      "image/jpeg",
  ".jpeg"         =>      "image/jpeg",
".png"          =>      "image/png",
  ".xbm"          =>      "image/x-xbitmap",
  ".xpm"          =>      "image/x-xpixmap",
  ".xwd"          =>      "image/x-xwindowdump",
  ".css"          =>      "text/css",
  ".html"         =>      "text/html",
  ".htm"          =>      "text/html",
  ".js"           =>      "text/javascript",
  ".asc"          =>      "text/plain",
  ".c"            =>      "text/plain",
  ".cpp"          =>      "text/plain",
  ".log"          =>      "text/plain",
  ".conf"         =>      "text/plain",
  ".text"         =>      "text/plain",
  ".txt"          =>      "text/plain",
  ".dtd"          =>      "text/xml",
  ".xml"          =>      "text/xml",
  ".mpeg"         =>      "video/mpeg",
  ".mpg"          =>      "video/mpeg",
  ".mov"          =>      "video/quicktime",
  ".qt"           =>      "video/quicktime",
  ".avi"          =>      "video/x-msvideo",
  ".asf"          =>      "video/x-ms-asf",
  ".asx"          =>      "video/x-ms-asf",
  ".wmv"          =>      "video/x-ms-wmv",
  ".bz2"          =>      "application/x-bzip",
  ".tbz"          =>      "application/x-bzip-compressed-tar",
  ".tar.bz2"      =>      "application/x-bzip-compressed-tar",
  ""              =>      "application/octet-stream",
 )
accesslog.filename         = "/var/log/lighttpd.access.log"
url.access-deny = ("~", ".inc", ".db", ".tpl.php", ".cls.php",)
$HTTP["url"] =~ "\.pdf$" {
  server.range-requests = "disable"
}
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
server.pid-file            = "/var/run/lighttpd.pid"
server.username            = "www"
server.groupname           = "www"

fastcgi.server             = ( ".php" =>
                               ( "localhost" =>
                                 (
                                   "socket" => "/tmp/fcgi",
                                   "bin-path" => "/usr/local/bin/php-cgi"
                                 )
                               )
                            )
#                           )
scgi.server      = (
                 "/RPC2" =>
                  ( "127.0.0.1" =>
                    (
                      "socket" => "/var/tmp/rtorrent_rpc.socket",
                      "check-local" => "disable",
                      "disable-time" => 0,  # don't disable scgi if connection fails
                    )
                  )
              )


auth.backend = "htdigest"
auth.backend.htdigest.userfile = "/usr/local/www/data/rtorrent/rtorrent_users"
auth.require = ( "/RPC2" =>
 (
  "method" => "basic",
  "realm" => "XML-RPC",
  "require" => "valid-user"
 )
)

браузер говорит:

Код: Выделить всё

«http://192.168.1.158:81» запрашивает имя пользователя и пароль. Сайт говорит: «XML-RPC»
Последний раз редактировалось mayor 2009-04-27 19:40:32, всего редактировалось 2 раза.

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: статья про rtorrent и вебморду

Непрочитанное сообщение FenX » 2009-04-28 0:06:53

sharky1984 писал(а):FenX спасибо тебе большое. Рторрент стартует а когда набираю в браузере показывает по середине "Загрузка" и все
это из-за того, что апач не может подконнектиЦо по scgi к рторренту.
я же писал:
/home/<username>/.rtorrent.rc

Код: Выделить всё

scgi_port = localhost:5000