+7 (495) 229-0436   shopadmin@itshop.ru 119334, г. Москва, ул. Бардина, д. 4, корп. 3
 
 
Вход
 
 
Каталог
 
 
Подписка на новости
Новости ITShop
Windows 7 и Office: Новости и советы
Обучение и сертификация Microsoft
Вопросы и ответы по MSSQLServer
Delphi - проблемы и решения
Adobe Photoshop: алхимия дизайна
 
Ваш отзыв
Оцените качество магазина ITShop.ru на Яндекс.Маркете. Если вам нравится наш магазин - скажите об этом Google!
 
 
Способы оплаты
 
Курс расчета
 
 1 у.е. = 86.57 руб.
 
 Цены показывать:
 
 
 
 
  
Новости, статьи, акции
 

Гостевой доступ к transmission

02.11.2012 13:59
fleaump

Прогресс не стоит на месте, с увеличением количества устройств на квадратный метр появилась потребность как то разделить их обязанности. Таким образом, плавно, единственный компьютер был сплавлен по частям и на его месте появились пара ноутбуков, микросервер на базе Intel Atom, свитч. 
На сервер были установлены все оставшиеся полтора жестких диска от старого системного блока, установлена, тогда еще свежая, ubuntu server 10, установлен transmission, и прочие интересные игрушки, вроде squid, vmstat, apache, hostapd и подобного.

Теперь собственно цель данной статьи - дать  ограниченный  доступ к списку закачек с любого устройства и откуда угодно.

Первая реализация была простой- проксирование апачем и установка доступа средствами апача. Получалось что то вроде этого

Пример конфигурации апача
### TRANSMISSION WEB INTERFACE ###
#на самом трансмишене можно вообще отключить авторизацию, и разрешить только подключения на 127.0.0.1
#RPC
RewriteRule          ^/rpc(.*)          http://127.0.0.1:9091/transmission/rpc$1 [P]
RewriteRule          ^/transmission/rpc(.*)          http://127.0.0.1:9091/transmission/rpc$1 [P]
#WEB
RewriteRule          ^/p2p/(.*)          http://127.0.0.1:9091/transmission/web/$1 [P]

# пробрасываем запросы
ProxyPass /p2p http://127.0.0.1:9091/transmission
ProxyPassReverse /p2p http://127.0.0.1:9091/transmission

<Location /p2p>
AuthType Basic
AuthName "Private zone"
AuthUserFile  /etc/transmission-daemon/.htpasswd
require valid-user
Order Allow,Deny
Allow from All
</Location>

<Location /rpc>

AuthType Basic
AuthName "Private zone"
AuthUserFile  /etc/transmission-daemon/.htpasswd
require valid-user
Order Allow,Deny
Allow from All
</Location>

<Location /transmission/rpc >
AuthType Basic
AuthName "Private zone"
AuthUserFile  /etc/transmission-daemon/.htpasswd
require valid-user
Order Allow,Deny
Allow from All
</Location>

Но тут оказался жирный минус, как поется в одной песне комрадов из Dalida - "paroles paroles", пароли и постоянная авторизация, хоть и можно стало завести в transmission несколько пользователей и логировать всех апачем, но все равно это не то, не хватает простоты использования, но на некоторое время этого хватало.

С появлением планшетника все стало печально, вебморда трансмишена не самый лучший образец для тыкательного метода ввода, особенно если экран 7 дюймов.
Не долго думая была написана простая страничка, которая используя transmission-remote просто выводила содержимое, без форматирования и прочего. Всё здорово, авторизации не надо, напакостить никто и ничто не может, но одно "но" - не хватает божеского вида. 
За несколько вечеров был дописан более менее до нормального вида

Внешний вид

Возможности

  • Можно показывать без авторизации список закачек
  • Авторизация на странице никак не связана с авторизации на трансмишене
  • Можно сделать нескольких авторизованных пользователей, которые смогут только добавить закачку, либо остановить раздачи/закачки
  • Можно указать количество видимых для гостей страницы закачек( либо ограниченное, либо неограниченное, либо 0)
  • Страница не привязана к серверу, она может размещаться на стороннем ресурсе и обращаться к transmission находящемуся в другой части света, или на "умном" роутере
  • При нажатии на имя торрента открывается страничка откуда был он скачан либо страница поиска с его именем

Описывать установку веб сервера не буду, начнем с того, что у вас уже стоит вебсервер с php.

Установка

Скачиваем из репозитария в папку вебсервера
git clone git://github.com/fleaump/transmission-web-guest.git
заходим внутрь
cd transmission-web-guest
открываем редактором файл конфигурации
vi config.php

Описания конфига

$users - пользователи, если прописать просто
$users = NULL;
то у вас будет только гостевой доступ, без плюшек, если же нужны плюшки, то пропишем пользователей
$users = array ( "Vasya1" => "ParolVasin", "Petya1" => "ParolPetin" );

$tor_auth - строка авторизации у transmission, это собственно ключ главного костыля через который идет общение с сервером, синтаксис его следующий:
Если сервер находится там же где и страничка, и порт у него стандартный 9091
$tor_auth = " -n login:parol ";
Если сервер находится гдето далеко
$tor_auth = " serverhost:port -n login:parol ";
Ну или если у вас авторизации нет по какойто причине, то оставляем пустым
$tor_auth = " ";

$tor_path - то, чем мы собственно вынимаем данные, в данном случае это transmission-remote. 
$tor_path = "nice -n 19 transmission-remote ";
запускам процесс вежливо, нам не нужны не вежливые процессы.
Хотя можно просто прописать с нормальным приоритетом: 
$tor_path = "transmission-remote ";

$tor_max - вот тут надо пояснить, по умолчанию количество закачек у вас может быть сотня другая, и вам не особо важно что вы там качали полгода тому назад, данный параметр показывает добавленные последние N закачек, это N как раз в этой переменной и прописывается.

показывать гостю последние 15 закачек
$tor_max = 15;
показывать гостю все закачки
$tor_max = 100000;
ничего не показывать гостю
$tor_max = 0;

Теперь оставшееся
$show_stats показывать ли статистику о сервере
$show_stats_public показывать ли ее публично
по умолчанию стоит
$show_stats = true; $show_stats_public = true;

Так же есть такая фенечка как показывание краткого пути

$trim_path в данном месте мы указываем пути, которые отрезаем у торрента при отображении, чтобы к примеру не было
/opt/disk3/distr/system/
а просто
distr/system
достаточно прописать
$trim_path = array ("/opt/disk3/");

Так же описание нюансов есть в самом config.php.

"Проекту" без года неделя, обкатки временем еще не прошел, он будет еще некоторое время допиливаться.

Еще раз его цели

  • Гостевой доступ.
  • Удобство для тыканья с бесклавиатурных устройств.


Ссылки:
Git github.com/fleaump/transmission-web-guest
Как научить переименовывать transmission forum.ubuntu.ru/index.php?topic=165657.0

Ссылки по теме

  
Помощь
Задать вопрос
 программы
 обучение
 экзамены
 компьютеры
Бесплатный звонок
ICQ-консультанты
Skype-консультанты

Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 
Бестселлеры
Курсы обучения "Atlassian JIRA - система управления проектами и задачами на предприятии"
Microsoft Windows 10 Профессиональная 32-bit/64-bit. Все языки. Электронный ключ
Microsoft Office для Дома и Учебы 2019. Все языки. Электронный ключ
Курс "Oracle. Программирование на SQL и PL/SQL"
Курс "Основы TOGAF® 9"
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год. Электронный ключ
Курс "Нотация BPMN 2.0. Ее использование для моделирования бизнес-процессов и их регламентации"
 

О нас
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.

На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям.

Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе.

В нашем магазине вы можете приобрести лицензионное ПО выбрав необходимое из широкого спектра и ассортимента по самым доступным ценам. Наши менеджеры любезно помогут определиться с выбором ПО, которое необходимо именно вам. Также мы проводим учебные курсы. Мы приглашаем к сотрудничеству учебные центры, организаторов семинаров и бизнес-тренингов, преподавателей. Сфера сотрудничества - продвижение бизнес-тренингов и курсов обучения по информационным технологиям.



 

О нас

 
Главная
Каталог
Новинки
Акции
Вакансии
 

Помощь

 
Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 

Способы оплаты

 

Проекты Interface Ltd.

 
Interface.ru   ITShop.ru   Interface.ru/training   Olap.ru   ITnews.ru  
 

119334, г. Москва, ул. Бардина, д. 4, корп. 3
+7 (495) 229-0436   shopadmin@itshop.ru
Проверить аттестат
© ООО "Interface Ltd."
Продаем программное обеспечение с 1990 года