TRANSMISSION - Basic Documentation

From IT-Arts.net


Return to Wiki Index


Managing transmission-daemon

`transmission-daemon` is a background service that runs the Transmission BitTorrent client on a Linux server, allowing remote access and management of torrents. The daemon runs continuously and can be controlled via web interfaces or remote clients.

Starting and Stopping transmission-daemon

To start or stop the `transmission-daemon` service, use the following commands depending on your system's init system:

  • On systems using `systemd` (e.g., Ubuntu, Debian):

To start `transmission-daemon`:

sudo systemctl start transmission-daemon

To stop `transmission-daemon`:

sudo systemctl stop transmission-daemon

To enable it to start on boot:

sudo systemctl enable transmission-daemon

To disable it from starting on boot:

sudo systemctl disable transmission-daemon
  • On systems using `init.d` (older systems):

To start `transmission-daemon`:

sudo /etc/init.d/transmission-daemon start

To stop `transmission-daemon`:

sudo /etc/init.d/transmission-daemon stop

Configuring transmission-daemon

The `transmission-daemon` configuration file is typically located at `/etc/transmission-daemon/settings.json`. This file can be edited to adjust various settings such as download directories, port forwarding, and access control.

To edit the configuration file:

sudo nano /etc/transmission-daemon/settings.json

Common configuration options include:

  • `"download-dir"`: The directory where completed downloads will be saved.
  • `"rpc-enabled"`: Enables or disables remote access to Transmission via the RPC interface.
  • `"rpc-whitelist"`: Restricts access to the RPC interface to a whitelist of IP addresses.
  • `"rpc-password"`: Sets the password for the web interface.
  • `"rpc-username"`: Sets the username for the web interface.

After modifying the configuration, restart `transmission-daemon` to apply the changes:

sudo systemctl restart transmission-daemon

Accessing the Web Interface

The Transmission web interface is typically accessible at:

http://<your_server_ip>:9091

You can log in with the username and password set in the `settings.json` file.

Using transmission-remote

`transmission-remote` is a command-line tool that allows you to control a running `transmission-daemon` instance. It can be used to add, remove, and manage torrents remotely.

Adding a Torrent

To add a torrent to the `transmission-daemon` instance using `transmission-remote`, use the following command:

transmission-remote -a <torrent_file_or_magnet_link>

For example:

transmission-remote -a "magnet:?xt=urn:btih:...&dn=example+file"

This command adds the specified torrent file or magnet link to the `transmission-daemon` queue.

Listing Active Torrents

To list all active torrents in `transmission-daemon`, use:

transmission-remote -l

This command will display a list of torrents along with their status, progress, and other information.

Pausing and Resuming Torrents

To pause a torrent:

transmission-remote -t <torrent_id> --stop

To resume a paused torrent:

transmission-remote -t <torrent_id> --start

You can get the torrent ID from the `transmission-remote -l` command.

Removing Torrents

To remove a torrent (without deleting the data):

transmission-remote -t <torrent_id> --remove

To remove a torrent and delete the associated data:

transmission-remote -t <torrent_id> --remove-and-delete

Viewing Torrent Information

To view detailed information about a specific torrent:

transmission-remote -t <torrent_id> -i

This command will display detailed information such as the download speed, upload speed, and connected peers.

Troubleshooting transmission-daemon and transmission-remote

If you encounter issues with `transmission-daemon` or `transmission-remote`, here are some common troubleshooting steps.

transmission-daemon Is Not Starting

  • Check the system logs to identify potential issues with starting the daemon:
sudo journalctl -u transmission-daemon
  • Verify the configuration file for any errors. A missing or incorrectly formatted setting in `settings.json` can prevent the daemon from starting. Ensure that all JSON syntax is correct.
  • Ensure the port specified in the `settings.json` file is not already in use by another application.
  • Restart the `transmission-daemon` service after making changes:
sudo systemctl restart transmission-daemon

Cannot Add Torrents Using transmission-remote

  • Ensure that `rpc-enabled` is set to `true` in the `settings.json` file.
  • Check the RPC whitelist in `settings.json`. If `rpc-whitelist` is enabled, ensure that the IP address of the machine running `transmission-remote` is allowed.
  • Verify that the username and password specified in `settings.json` match what you're using with `transmission-remote`. If not, either modify `settings.json` or pass the credentials using the `-n` flag in `transmission-remote`:
transmission-remote -n 'username:password' -a <torrent_file_or_magnet_link>

Web Interface Is Not Accessible

  • Ensure that the `rpc-whitelist` in `settings.json` allows the IP address of the client machine trying to access the web interface.
  • Verify that the correct port (default: `9091`) is open on the server firewall and not being blocked by any other firewall rules.
  • Check if the `rpc-enabled` setting in `settings.json` is set to `true`.
  • Restart `transmission-daemon` after making changes to the `settings.json` file:
sudo systemctl restart transmission-daemon

High CPU Usage

If `transmission-daemon` is consuming too much CPU, it may be due to an excessive number of active torrents or a corrupted torrent.

  • Limit the number of active torrents in the `settings.json` file by adjusting the `download-queue-size` and `upload-queue-size` settings.
  • Remove any torrents that may be stuck or corrupted:
transmission-remote -t <torrent_id> --remove-and-delete
  • If the issue persists, check for potential conflicts with other processes on the system using:
top