Transmission (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
Transmission
. Дата последней синхронизации: 2 июля 2022. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Transmission
— это легкий и кроссплатформенный BitTorrent-клиент.
Установка
Существует несколько вариантов
установки
Transmission:
transmission-cli
– демон с управлением через консоль и
#Web интерфейс
;
transmission-gtk
– графический интерфейс на базе
GTK
4;
transmission-qt
– графический интерфейс на базе
Qt
6.
Также доступны сторонние программы для управления демоном:
tremc
AUR
или
tremc-git
AUR
– Curses-интерфейс для демона;
stig
AUR
или
stig-git
AUR
– Curses-интерфейс для демона;
transmission-remote-gtk
– графический интерфейс для демона на базе
GTK
3;
transgui-qt
AUR
или
transgui-gtk
AUR
– графический интерфейс для демона, написанный в Lazarus;
trgui-ng
AUR
,
trgui-ng-git
AUR
или
trgui-ng-bin
AUR
– форк transgui, написанный в Tauri.
Настройка GUI версий
Обе версии GUI,
transmission-gtk
и
transmission-qt
, могут функционировать автономно без отдельно запущенного демона.
Версии с графическим интерфейсом не требуют дополнительной настройки, но при желании пользователь может их изменить. По умолчанию настройки GUI-клиента хранятся в
~/.config/transmission
.
Руководство по параметрам конфигурации можно найти в
Github-репозитории Transmission
.
Демон и управление через консоль
Команды
transmission-cli
:
transmission-daemon
Запускает демон.
transmission-remote
Вызывает
интерфейс командной строки
для демона, локального или удаленного, а затем вашу команду, которую он должен выполнить.
transmission-show
Показывает информацию о торрент-файле.
transmission-create
Создает новый торрент.
transmission-edit
Добавляет, удаляет или заменяет URL трекера.
transmission-cli
(
объявлена устаревшей, вместо неё рекомендуется использовать transmission-remote
) Запускает отдельный экземпляр
transmission
(не демон) для ручной загрузки торрента.
tremc
(требует
tremc-git
AUR
) Запускает
curses
-интерфейс для демона, локального или удаленного.
Запуск и остановка демона
Демон Transmission может быть запущен:
Как пользователь
transmission
, путем
запуска/включения
службы
transmission.service
. Пользователь может быть изменен, как описано в разделе
#Выбор пользователя
.
Как ваш собственный пользователь, запустив программу под своим именем:
$ transmission-daemon
При запуске демона будет создан файл начальной конфигурации. Смотрите раздел
#Настройка демона
.
Затем демон может быть остановлен с помощью:
$ pkill -3 transmission-daemon
Альтернативным вариантом остановки Transmission является использование команды
transmission-remote
:
$ transmission-remote --exit
Сокращение спама журнала
Запуск transmission-daemon может привести к появлению большого количества нежелательных записей в журнале. Вывод можно отфильтровать, запустив его с помощью небольшого скрипта-обертки. Следующий пример также предоставляет некоторые уведомления:
transwrap.sh
#!/bin/zsh
killall transmission-daemon 2> /dev/null
transmission-daemon --foreground --log-info 2>&1 | while read line; do
	echo $line |
		grep -v "announcer.c:\|platform.c:\|announce done (tr-dht.c:" |
		grep -v "Saved.*variant.c:" |
		while read line; do
			echo $line | grep -q "Queued for verification (verify.c:" &&
				notify-send --app-name="Transmission Started" "${line#* * }"
			echo $line | grep -q "changed from .Incomplete. to .Complete." &&
				notify-send --app-name="Transmission Complete" "${line#* * }"
			echo $line | systemd-cat --identifier="TransWrap" --priority=5
		done 2>&1 > /dev/null
	done&disown
Запуск только при подключении к сети
Netctl
Может быть желательно запускать передачу только в определенных сетях. Следующий скрипт проверяет, что соединение установлено со списком разрешенных сетей, а затем запускает transmission-daemon.
/etc/netctl/hooks/90-transmission.sh
#!/bin/bash

# The SSIDs for which we enable this.
declare -A ssids=(
    ["network_1"]=y
    ["network_2"]=y
)

if [[ ${ssids[$SSID]} ]]; then
    case $ACTION in
        CONNECT|REESTABLISHED)
            # Need to wait, otherwise doesn't seem to bind to 9091.
            sleep 30
            systemctl start transmission
            ;;
        *)
            systemctl stop transmission
            ;;
    esac
fi
Wicd
Создайте
скрипт запуска
в папке
/etc/wicd/scripts/postconnect
и
скрипт остановки
в папке
/etc/wicd/scripts/predisconnect
. Не забудьте
сделать их исполняемыми
. Например:
/etc/wicd/scripts/postconnect/transmission
#!/bin/bash

systemctl start transmission
/etc/wicd/scripts/predisconnect/transmission
#!/bin/bash

systemctl stop transmission
Выбор пользователя
Выберите способ запуска
transmission
:
В качестве отдельного пользователя, по умолчанию
transmission
(рекомендуется для повышения безопасности).
По умолчанию
transmission
создает пользователя и группу
transmission
, со своими домашними файлами по адресу
/var/lib/transmission/
, и запускается от имени этого "пользователя". Это мера предосторожности, благодаря которой
transmission
и его загрузки не имеют доступа к файлам вне
/var/lib/transmission/
. Настройка, работа и доступ к загрузкам должны выполняться с привилегиями "root" (например, с помощью
sudo
).
Под своим собственным пользователем.
Чтобы настроить это, создайте
drop-in файл
для службы и укажите в нем свое имя пользователя:
/etc/systemd/system/transmission.service.d/username.conf
[Service]
User=
имя_пользователя
Настройка демона
Создайте файл начальной конфигурации путём
запуска демона
.
Если Transmission запущен под именем пользователя
transmission
, файл конфигурации будет расположен по адресу
/var/lib/transmission/.config/transmission-daemon/settings.json
.
Если вы запускаете Transmission под своим именем пользователя, файл конфигурации будет расположен по адресу
~/.config/transmission-daemon/settings.json
.
Настроить демон можно с помощью клиента Transmission или через веб-интерфейс, доступный через
http://localhost:9091
в поддерживаемом браузере.
Руководство по параметрам конфигурации можно найти на веб-сайте Transmission:
https://github.com/transmission/transmission/blob/main/docs/Editing-Configuration-Files.md
Примечание
Если вы хотите отредактировать конфигурацию вручную с помощью текстового редактора, сперва
остановите демон
, иначе он перезапишет свой файл конфигурации при закрытии.
Примечание
В качестве альтернативы можно отправить демону команду перезагрузить свою конфигурацию с помощью SIGHUP, выполнив
kill -s SIGHUP $(pidof transmission-daemon)
.
Для тех, кто работает под именем пользователя
transmission
, рекомендуется создать общий каталог загрузки с правильными разрешениями, чтобы разрешить доступ как пользователю
transmission
, так и системным пользователям, а затем соответствующим образом обновить конфигурационный файл. Например:
# mkdir /mnt/data/torrents
# chown -R facade:transmission /mnt/data/torrents
# chmod -R 775 /mnt/data/torrents
Теперь
/mnt/data/torrents
будет доступен для системного пользователя
facade
и для группы
transmission
, в которую входит пользователь
transmission
. Крайне не рекомендуется делать целевой каталог доступным для чтения/записи любым пользователям (т.е. не делайте
chmod
каталога на
777
). Вместо этого дайте отдельным пользователям/группам соответствующие разрешения на соответствующие каталоги.
Note
Если
/mnt/data/torrents
расположен на съемном устройстве, например, с записью
/etc/fstab
с опцией
nofail
, Transmission будет жаловаться, что не может найти ваши файлы. Чтобы исправить это, вы можете добавить
RequiresMountsFor=/mnt/data/torrents
в
/etc/systemd/system/transmission.service.d/transmission.conf
в разделе
[Unit]
.
В качестве альтернативы можно добавить пользователя в группу
transmission
(
#usermod -a -G transmission yourusername
) и затем изменить разрешения на каталоги
/var/lib/transmission
и
/var/lib/transmission/Downloads
, чтобы разрешить доступ
rwx
членам группы
transmission
.
Белый список хостов
Если вы планируете обращаться к демону Transmission по сети, используя имя хоста сервера, вам необходимо добавить это имя хоста в
rpc-host-whitelist
в
settings.json
.
В противном случае при обращении к серверу вы получите ошибку "421 Misdirected Request".
Если вы подключаетесь к демону, используя IP-адрес сервера, это не требуется.
Watch dir
Если вы хотите
Автоматически добавлять .torrent файлы из папки
, но обнаружите, что опции
watch-dir
и
watch-dir-enabled
, установленные в конфигурационном файле, не работают, вы можете запустить демон передачи с флагом
-c /path/to/watch/dir
.
Если вы используете systemd, отредактируйте блок
transmission.service
, как описано в разделе
systemd (Русский)#Редактирование файлов юнитов
.
Включение IPv6
По умолчанию демон прослушивает только соединения IPv4. Чтобы также прослушивать соединения IPv6, измените опцию
rpc-bind-address
на
"::"
в
settings.json
.
CLI примеры
Если вы хотите удалить все готовые торренты, вы можете использовать следующую команду с собственным именем пользователя и паролем:
# transmission-remote -n 'username:password' -l | grep 100% | awk '{print $1}'| paste -d, -s | xargs -i transmission-remote -t {} -r
Seed a torrent which has already been downloaded:
# transmission-remote [HOST] --torrent=example.torrent -a example.torrent --verify --download-dir=/dir/to/folder --start
Web интерфейс
GUI способ
После установки Transmission вы можете легко настроить веб-интерфейс. Все, что вам нужно сделать, это щелкнуть меню
Правка
и выбрать
Параметры
. Перейдите на вкладку
Удалённое управление
и включите
Разрешить удаленный доступ
.
Здесь у вас есть возможность изменить порт прослушивания по умолчанию с 9091.
Установите флажок
Использовать аутентификацию
и введите имя пользователя и пароль, чтобы можно было использовать аутентификацию.
Для повышения безопасности вы можете ограничить доступ с любого IP-адреса, включив опцию
Разрешить доступ только данным IP-адресам
.
Теперь вы готовы запустить веб-интерфейс, нажав на
Открыть веб-клиент
, что заставит ваш веб-браузер по умолчанию открыть его, или вручную достигнув
http://
TARGET_IP_ADDRESS
:
PORT
с помощью любого поддерживаемого веб-браузера.
Если вы не изменили порт прослушивания, по умолчанию используется порт 9091. В этом случае ссылка
http://localhost:9091
Примечание
transmission-cli
должен быть установлен.
CLI способ
Вам не нужен графический интерфейс для настройки веб-интерфейса, демон предлагает те же самые опции. Вы можете получить доступ к веб-интерфейсу, не указывая никаких флагов. Смотрите раздел
#Запуск и остановка демона
Тем не менее, вы можете указать все то, что вы видите в предыдущем разделе:
$ transmission-daemon --auth --username arch --password linux --port 9091 --allowed "127.0.0.1"
эквивалентно
$ transmission-daemon -t -u arch -v linux -p 9091 -a "127.0.0.1"
Дополнительная тема Web-интерфейса
Если пользовательский интерфейс веб-приложения по умолчанию кажется устаревшим и менее навороченным, чем ожидалось, попробуйте использовать
https://git.eigenlab.org/sbiego/transmission-web-soft-theme
для создания простой темы CSS.
https://github.com/ronggang/transmission-web-control
также предоставляет полную замену, которая может сосуществовать с пользовательским интерфейсом по умолчанию.
Использование в качестве makepkg DLAGENT
Transmission можно использовать в качестве агента загрузки magnet для
makepkg
с помощью агента загрузки
transmission-dlagent
AUR
.
Для Magnet URI необходимо изменить их префикс с
magnet:?
на
magnet://
.
Решение проблем
Невозможно получить доступ к демону по сети
Демон запускается после инициализации
network.service
. Однако, если вы включите службу
dhcpcd
, а не службу для конкретного устройства, например,
dhcpcd@enp1s0.service
, может случиться так, что Transmission будет запущен слишком рано и не сможет привязаться к сетевому интерфейсу. Таким образом, веб-интерфейс окажется недоступен. Возможным решением является добавление строки
Requires
в
файл юнита
:
/etc/systemd/system/transmission.service.d/fixdep.conf
[Unit]
Requires=network.target
Web-интерфейс недоступен
404: Not Found

Couldn't find Transmission's web interface files!

Users: to tell Transmission where to look, set the TRANSMISSION_WEB_HOME environment variable to the folder where the web interface's index.html is located.

Package Builders: to set a custom default at compile time, #define PACKAGE_DATA_DIR in libtransmission/platform.c or tweak tr_getClutchDir () by hand.
Даже если вы используете графический интерфейс, вам все равно необходимо установить
transmission-cli
, чтобы веб-интерфейс работал.
Failed to set send/receive buffer
Transmission может отобразить любое из этих сообщений в журнале при запуске:
UDP Failed to set receive buffer: requested 4194304, got 425984
UDP Failed to set send buffer: requested 1048576, got 425984
Это можно исправить, установив
net.core.rmem_max=4194304
и
net.core.wmem_max=1048576
с помощью
sysctl
.
Смотрите также
Transmission wiki
Headless Usage
Transmission wiki on GitHub