Как стать автором
Обновить

Комментарии 94

Вот она, сила Open Source!
Transmission, кстати, яркий пример грамотной свободной программы, единственный недостаток на данный момент — отсутствие порта под винду.
Еще можно почитать вот тут
ну второй это не трасмишен, а морда к сид боксу. рекомендую…
Никак =)
Хотелось бы, чтобы выглядело приблизительно вот так:
а ещё лучше так
Я имел ввиду общую концепцию интерфейса. Выглядеть должно нативно.
конечно нативно.
хорошо, что разработчики µTorrent вспомнили об этом, когда портировали на мак программу.
Только то что получилось ни по функционалу, ни по стабильности просто никакая.
Главный недостаток Tansmission — это её «кастрированность». Простая, понятная софтина, хорошо идёт как предустановленное ПО — обеспечивает базовую функциональность и понятна пользователю. Не знаю, каково пользоваться имея толстый канал, но мне она неудобна из-за постоянной надобности тонко управлять скоростью загрузки, очерёдностью и прочими мелочами. А в Transmission с этим туго, так что под GNOME мой выбор — Deluge.
Я, видимо, столько не качаю, не задумывался о очередях. Чего не хватает лично мне, дак это возможности быстро изменить скорость «черепашки», контекстным меню, например.
А так да, Transmission — не панацея.
если 1 файлом больше 16гб клиент и машина тупо зависают. Поэтому я на rtorrent
Не встречался с таким, за неимением таких фалов — HD, к сожалению, не юзаю. Да и скорость всего 1Мбит.
А Вы багрепортировали об этой проблеме?
нет, да мне и сам интерфейс не понравился и настроек мало
и скорость больше 200кб не росла а в rtorrente сразу подскочила до 1.3mb (12mb канал)
Сомневаюсь, что это связано с Transmission.
Transmission грузил проц на 100% почти. Наверняка он виноват. Ладно не будем холиварить
Ну у меня transmission-daemon прекрасно работает на

sigizmund@buffalo:/etc$ cat /proc/cpuinfo 
Processor	: ARM926EJ-Sid(wb) rev 0 (v5l)
BogoMIPS	: 266.24
Features	: swp half thumb fastmult edsp java 
CPU implementer	: 0x41
CPU architecture: 5TEJ

И больше 80% не жрет даже если качает и раздает очень большие файлы.
у меня при 100 раздачах 20% всего intel atom n280
chepa 7 мая 2010, 23:27 #

Transmission грузил проц на 100% почти. Наверняка он виноват. Ладно не будем холиварить
у меня при 100 раздачах 20% всего intel atom n280 в rtorrent
это 100 активных, или 100 в раздачах?
просто у меня более 400 в раздачах и 0% CPU
НЛО прилетело и опубликовало эту надпись здесь
хм, надо будет спросить у Чарли
тебе надо, чтоб кофе готовил?
Ну например, очень полезная возможность, которой в transmission нет — переименование файлов торрента перед закачкой. Мне не нравится та файлопомойка, которая возникает, если качать все торренты с «авторскими» именами файлов. А если просто переименовать после закачки, придется прекратить сидировать.
звучит полезной идеей, попробуй написать в баг трекере как feature request. но, по-моему мнению, есть вещи, где люди сами должны думать(это я про аплоудеров). если они криво именуют файлы, то надо их пинать, а не трансмишн. да и нормальные аплоудеры хорошо именуют, и если некоторым всеравно на таги, они очень важны (год и тип рипа важне и кто делал его), я вот смотрю на список файлов и если вижу от кого рип и какой тип — то мне удобнее, чем превьюшку делать, чтоб узнать о качестве рипа(есть релизеры, что всем известны за качество)
Каждый человек именует вещи так, как ему нужно. А вы предлагаете скачивать людям исключительно видео-рипы (а ведь есть и другие виды информации), только на модерируемых трекерах (где следят за именованием) и только от известных релизеров (никого не знаю и изучать нет желания)… из моей многотерабайтной коллекции я пожалуй найду всего несколько десятков рипов попадающих в такие жеские условия, да и то, мне всеравно не нравится их способ именования :/ Так что это действительно проблема. Правда еще большая проблема, это удаление торрент-файлов которые трансмишен почему-то сам не хочет удалять :(
ну каждому человеку всегда будет не хватать таких мелких функций, для каждого добавят такие, так будет не легкий клиент, а медленый трансформер, который носки стирает. а удаление у меня работает, вот только жалко что в корзину (хотя это понятно почему — по ошибке удалишь не то что)
У меня язык не поворачивается назвать Transmission легким клиентом (по крайней мере в маке). Грузится не быстро, выключается несколько минут (если не зависнет) и это при жалких 200 раздачах (недаром есть разные любительские форки ускоряющие его) :(

p.s.
про работающее удаление вы меня удивили, решил наконец-то покопать сурсы и обнаружилось что Transmission сохраняет торрент файлы дополнительно у себя в дебрях ~/Library/Application Support/Transmission/Torrents и собственно при попытке удаления удаляет торрент только оттуда, но не трогает торрент-файлы из специальной папки куда я заливаю все свои торрент-файлы и откуда он их автоматически подцепляет. Соответственно при следующем запуске Transmission всегда начинал загружать уже удаленные мной торренты. А для правильного добавления (которое потом позволит удалить торрент) нужно собственно в диалоге добавления нового торрента поставить галку что торрент подлежит удалению. Головоломная одна система, когда я начинал им пользоваться было проше и торренты так не размножались :)
загрузаеться быстро, а при выключение он посылает данные ан трекеры о все активвных закачках (ратио у тебя как считается) и это логично, что может занять некоторое время. про удаление файлов- если ты не нашел это, а это есть в настройках, то нечего на Т гнать.
Некоторое время — это к примеру uTorrent, здесь же я могу успеть выпить чашечку кофе.

Не сказал бы что это «что-то из настроек». Раньше поведение было иное и теперь, чтобы я мог удалить торрент в будущем, я должен отметить мало понятную галку «Удалить торрент файл» при начале закачки. На мой взгляд это серьезная проблема юзабилити, чтобы об этом «догадаться» пришлось смотреть сурсы.
посмотри выше, один говорил что у него проц жрет, у меня же нет. опять таки я не уверен, что это из-за Т. так же когда я ставлю программу, я знаю о ее функционале, и потому мне не надо сорс смотреть, чтоб знать что есть такая функция. и если что надо, я в настройки смотрю и при добавлении торрента не сразу тыкаю «ОК», а читаю, что там написано. да и не нравится он тебе — не пользуйся, меня более чем устраивает.
Для меня совершенно не очевидно, что «Удалить торрент файл» означает «скачать и раздавать», я искренне был уверен что это значит «скачать и забыть». Удаление торрент файла подразумевает под собой прекращение раздачи, как и было изначально в Transmission несколько лет назад. И главное, что это даже не описано в справке, как об этом можно было догадаться кроме как просмотр сурсов — я даже не знаю :(

Ну вот на днях вышла бета uTorrent, переползаю тихонько на нее.
чесно я не знаю, я использую англискую версию, хотя и в русском варианте логика железная. удалить торрент файл, а не торрент и не файлы торрента. то есть мы удаляем файл, какой файл — файл торрент — *.torrent. когда ты говоришь exe файл, это же не файл в exe(такого даже не бывает), а файл с расширение exe. если у тебя есть вариант по-лучше, ты можешь отправить багом и перевод исправят. да и хватит уже со мной спорить, используй свой %anyname% клиент и радуйся ( я за тебя тоже рад буду)
Я решил ради интереса проверить линукс версию (ubuntu) и оказалось что там предлагается удалить не «торрент-файл», а «файл-источник», что как раз в этой ситуации вопросов не вызывает, ибо если есть файл-источник, то есть и файл-приемник, при предложении удалить просто торрент-файл возможность того, что будет создан еще один торрент-файл в голову никак не приходит. Вообщем обычная проблема open-source проектов, один человек написал одно, другой — другое и об согласованности и логике никто не подумал.

p.s.
А завершается он в линуксе и вправду быстро, причем есть возможность выйти не дожидаясь отсылки данных на сервер + еще несколько плюшек, вроде переименования торрентов. В целом линукс версия действительно куда приятней.
Ах, вспомнил еще что в английской мак версии transmission предлагается торрент-файл не удалить, а переместить в корзину… :) Ощущение что попал в детство и играю в «поломанный телефон».
ну там просто несколько человек отвечают за разные версии. а ты про мак версию до этого говорил? кстати интересно, а в qt версие как написано =)
Да, про мак версию.

Посмотрел, там тоже файл-источник как в настройках, так и в диалоге добавления торрента. Правда в оригинале в настройках «Delete source files», а в переводе «Удалить файл-источник» (в ед. числе), что применимо к настройкам для конечного пользователя должно быть совершенно не понятно.
кстати некоторые еще криво музыкальные теги ставят файлам, не значит что трансмишин должен менять.
Вообще-то там вполне есть переименование и перенос. И может делаться в любой момент — до, после, во время закачки / сидирования.
в веб-фейсе этого нет, что очень-очень печально
НЛО прилетело и опубликовало эту надпись здесь
Попробую выразиться точнее. У вас есть некий torrent-файл, который описывает группу содержащихся в нем файлов. По умолчанию оно скачивается в поддиректорию с названием этого самого torrent-файла (только без расширения .torrent). Вот эту группу файлов целиком можно переносить куда угодно и переименовывать поддиректорию верхнего уровня.

Если же речь идет о переименовании файлов внутри группы, описываемой torrent-файлом, то, строго говоря, это не задача torrent-клиента. Это задача решается хитрой модификацией torrent-файла (при этом он изменяется!) и переименованием файлов, если они уже были скачаны на локальной ФС. Некоторые torrent-клиенты умеют производить такую модификацию (например, uTorrent), для всех остальных можно пользоваться внешними редакторами torrent-файлов.

В таск-трекере transmission есть тикет на эту тему, чтобы встроить эту функциональность редактирования torrent-файлов в клиент — если Вам эта фича была бы полезно — приглашаю голосовать и высказываться там.
Transmission рулит именно за счёт того, чего в нём *нет*.
я тоже пользуюсь Transmission и приятно удовлетворен отсутствием того, чего там нет.
пользуюсь только им, качал блюрей диск блюрей в 35 гигов (там самый большой файл 25 гиг), все работало хорошо. проблемы на твоей стороне. отрепорть чарли, может он еще чем поможет.
использую transmission-daemon, работает круглосуточно, проблем с зависанием, высокой загрузкой cpu нет.
Так же стояла задача выключать комп, по завершению всех закачек.
Но они были довольно разные: torrent, wget, закачка в FF и т.п.
Написал скрипт, который мониторит скорость на входящем интерфейсе, если она ниже 5Кб/с N -ное количество времени — комп выключается. Оказалось довольно удобно.
Тоже вариант. Но если вдруг кол-во сидов уменьшается до 1-2 и/или у них скорость отдачи — N-ное кол-во времени ниже 5 Кб/с? Хотя, каждый преследует свои цели, конечно…
еще можно if [[ `transmission-remote -l | grep Done | wc -l` == `transmission-remote -l | wc -l`]]
как видно сранивается кол-во завершенных закачен с общим кол-вом закачек. ИМХО намного проще того, что у вас. Еще можно добавить проверку Unknown, если послев течении n проверок число не меняется — выключать компьютер.
Можно и так. Для тех, кого заинтересовало, sudo apt-get install transmission-cli :)
А потом уже transmission-remote
или transmission-daemon там вэбинтерфейс, xml-rpc, cli — у меня на сидбоксе так.
У меня, кстати, когда писал скрипт, появилась идейка написать скрипт aka консольный GUI Transmission'а. Но возможно, есть уже такие велосипеды, поэтому пока что на стадии задумки :)
Отличные у вас комменты в коде! Порадовало :)
Выключать компьютер? Зачем выключать компьютер? :)
согласен, с таким же успехом можно было добавить еще и фичу, чтобы торрент удалялся из программы!
Я не прочь оставить компьютер включенным для сидирования. Но, к сожалению, он у меня расположен недалеко от кровати, а это мешает спать.
нестыковочка(?), ложась спать вам не мешает включенный компьютер, однако, фактически, вы выключаете его, когда вы уже спите, иначе бы вы его выключали перед тем как ложится спать.
Есть мнение (врачей конечно же), что посторонние звуки во время сна не дают организму хорошо отдохнуть, поэтому лучше спать в тишине. Ровно как вред сна при свете (в отсутствие сна в темноте).
все верно, никаких нестыковок.
Мне он не мешает заснуть, но мешает спать вообще. Когда он работает всю ночь, то наутро такое чувство, что не выспался.
Конечно же, когда закачка прекращается в 6-7 утра, тогда это не помогает. Но бывают случаи, когда тебе надо скачать 1-2 фильма, и чтобы не ждать 1-3 часа, пока они скачаюся — запускаешь скрит, а сам — в кровать)
мда… то, что в обычных виндовых качалках делается тремя кликами мыши, тут делается самопальной программой на 4 страницы плюс инструкцией по настройке на две страницы.
Это же Линукс… )) «А зато можно все-все-все настроить под себя!»
НЛО прилетело и опубликовало эту надпись здесь
Вот именно подобные вещи и делаются скриптами. Но простые… зачем? :)
НЛО прилетело и опубликовало эту надпись здесь
Гайдлайны не позволяют добавлять такие функции в программы. Для почтиникомуненужных функций есть плагины.
Отличный способ :) Надо будет сделать, спасибо!

Обычно делал sleep 5h && pm-suspend
Ох… Может все-таки «echo pm-suspend | at 6:00» — более unix way?
мне главное — чтоб работало :) А я-то все равно сплю уже, когда он гасится :)
велосипед
эти бы силы, да в мирных целях…
А я предупреждал ведь.
А ничего, что сначала группа делается владельцем файла, а только потом создаётся?

И вообще, для чего нужно было создавать специальный /usr/bin/shutdown, нельзя разве вызвать напрямую sudo /sbin/shutdown, ну или /bin/sh -c 'sudo /sbin/shutdown'?
Сколько лишних телодвижений, ради реализации возможности, которая в нормальных клиентах доступна уже много лет.
Эти «телодвижения» — пример того, что в линуксе возможно все, что хочется пользователю. А выбрал Трансмишн, ибо как говорил — он мне нравится наиболее. Если Вам нравится что-то другое — юзайте на здоровье :)
Пожалуйста, никогда не пишите и не раздавайте никому скрипты, в которых есть константы типа "\033[1;36m". Если уж *так* хочется обойтись без лишних зависимостей (хотя python-curses вроде бы в сборке Ubuntu чуть ли не гвоздями прибит) — то сделайте банальные:

import commands
tmp, boldfont = commands.getstatusoutput('tput smso')
tmp, unboldfont = commands.getstatusoutput('tput rmso')
tmp, greenfont = commands.getstatusoutput('tput setaf 1')
...

и т.д., а затем используйте эти константы boldfont, unboldfont, greenfont при выводе.
Зачем выключать? «Скачал сам, дай скачать другим!»
Еще одно маленькое замечание: в принципе, почти всё это делается вот таким однострочником на unix shell:

while true; do [ -z "$(transmission-remote -l | cut -c25-31 | sed -e '/^Done/ d; 1d; $d')" ] && sudo /sbin/poweroff || sleep 5; done

Если демон transmission закрыт авторизацией, то нужно в вызов transmission-remote добавить -nlogin:password. Если нужно добавить какие-то еще условия, по которым можно разрешить poweroff — например, разрешить poweroff не только, когда все торренты «Done», но еще когда есть часть торрентов в «Unknown» — то нужно добавить это /^Unknown/ d в регулярное выражение в аргументе sed'а.

Если кому-нибудь будут полезные еще какие-то пояснения по тому, как работает такой скрипт — спрашивайте ;)
Опередили :) Но ваш вариант конечно красивее, я пока только учусь :)
В этом варианте sudo не попросит пароль?
можно настроить права на выключение для пользователя
Ну вот у меня как раз пол моей статьи — настройка сих прав.
Уберите комменты и украшательства, и код будет вообще занимать несколько строк.
Я не против использования transmission-remote, но лично мне так интересней.
Это хорошо, что всегда есть, что выбирать, не правда ли? :)
я не против, я просто ответил. мне лично ни того и ни того не надо — у меня комп 24/7 работает, так как я торренты раздаю кстати.
Попросит ли или не попросит пароль sudo задается настройками sudo. Если скрипт будет выполняться из под пользователя — дайте этому пользователю в sudoers права на нужную команду — собственно, у вас в статье это и описано. Я, единственное, не очень понимаю, зачем описывать такую мощную конструкцию на десятки пунктов, когда всё упирается в одну строчку в sudoers типа такой:

пользователь ALL = NOPASSWD: /sbin/poweroff
Например, чтобы в дальнейшем не надо было трогать sudoers, а просто добавляя в группу shutdown нужного пользователя. Если же пользователь — один. Тогда Ваш вариант вполне приемлим. А длинная статья простой задачи получилась от-того, что хотелось разжевать как можно тщательнее для интересующихся. Я сам люблю how-to, разжеванные детально.
Зачем такие сложности? Нужен всего-лишь transmission-remote (обычно уже установлен)
Ну и пихаем в крон на выполнение раз в 5 минут нужному юзеру что-нибудь типа такого
:;if [ -n "`transmission-remote --list | grep Downloading`" ]; then exit 0; else shutdown -h now; fi

Добавить диалог подтверждения, если он нужен (даже графический), тоже не очень трудно.
для shutdown -h now админ полномочия не нужны?
Не знаю точно, но можно например сделать так
chmod u+s /sbin/shutdown

или добавить shutdown в sudoers с возможностью использования без пароля — так будет правильнее
или можно использовать родной гномовский gnome-session-save
к сожалению гнома под рукой нет и проверить не могу
>chmod u+s /sbin/shutdown
думаю, это не самый безопасный способ :)
ну я же написал как будет правильнее)
но для домашнего сервера подойдет и первый вариант, как самый простой
У вас такой ник, а пишете на питоне :)
Я не пишу на питоне, пока что по крайней мере :) Сей скрипт — просто результат экспериментов. А некоторые кусочки кода — не мои. Но если выучу питон — ник менять не буду))
//сори за оффтоп.
Если использовать transmission-daemon, то можно сделать всё намного проще.
Добавить в crontab для root:
*/5 * * * * if [ `transmission-remote -l | grep -v 100\% | wc -l` -eq 2 ]; then /sbin/shutdown -P now; fi
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации