May 2011 Archives

Запуск uTorrent-server на Linux

На шлюзе конторы, в коей я сейчас работаю, потребовалось поднять торрент-клиент с веб-мордой, для себя и сотрудников. rTorrent из SVN отказался корректно работать. идущий же в родных репозиториях Debian, стар. Супер-стар, я бы сказал. Погуглилось, поспрашивалось, в итоге выбор пал на uTorrent-Server. Поскольку пакета с этим добром для Debian нет, залил руками и написал rc-скрипт для каноничного запуска.
#! /bin/sh
### BEGIN INIT INFO
# Provides:          utserver
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: uTorrent Server init script
# Description:       This file should be used to construct scripts to be
#                    placed in /etc/init.d.
### END INIT INFO

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="uTorrent Server"
NAME="utserver"
DAEMON=/usr/bin/utserver
# Опции командной строки
DAEMON_ARGS="-configfile /etc/utserver/utserver.conf -settingspath /var/lib/utserver -logfile /var/log/utserver.log"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

[ -x "$DAEMON" ] || exit 0

# Подключаем встроенные функции
. /lib/init/vars.sh
. /lib/lsb/init-functions

do_start()
{
        log_daemon_msg "Starting $NAME\n"
        start-stop-daemon --start --quiet --make-pidfile \
                 --pidfile $PIDFILE --exec $DAEMON -- \
                $DAEMON_ARGS > /dev/null &
}


do_stop()
{
        log_daemon_msg "Stoping $NAME\n"
        start-stop-daemon --stop --retry 5 --quiet \
            --pidfile $PIDFILE \
            --name utserver
        rm $PIDFILE
}
case "$1" in
  start)
        do_start
        ;;
  stop)
        do_stop
        ;;
  restart)
        do_stop
        do_start
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
        exit 3
        ;;
esac
exit 0
Cохраним по пути /etc/init.d/utserver и добавим в автозагрузку:
update-rc.d utserver defaults

Расширение для работы с QIWI

Заказчик пожелал прикрутить к некой своей системе прием финансов через платежные терминалы QIWI. Поскольку данная контора весьма противна в плане взаимодействия с гражданами этой страны, убедить их добавить свою кнопку в терминал не получилось по целому ряду причин. Пришлось использовать их сервис "QIWI Кошелек", но не обычный, а который для интернет-магазинов и фрилансеров.
Поскольку разрабатываю я в основном на фреймворке Yii, а расширения для работы с QIWI нет, пришлось писать свое. Что в итоге получилось, можно глянуть тут
P.S.: Собственно за эту поделку я и получил инвайт на Habrahabr.