Skip to content

Commit

Permalink
Light editing transmission_daemon.md (rocky-linux#2101)
Browse files Browse the repository at this point in the history
* Remove duplicate Level 1 heading (created with the title meta)
* Replace most passive voice with active
* Replace conjunctions with their corresponding words
* Replace "we" with the preferred "you" and modify sentence structure accordingly
* Use sentence style capitalization on headings throughout
* Fix a couple of typo's
  • Loading branch information
sspencerwire authored Jun 6, 2024
1 parent c2468c4 commit fabd704
Showing 1 changed file with 21 additions and 22 deletions.
43 changes: 21 additions & 22 deletions docs/guides/file_sharing/transmission_daemon.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,48 @@
---
title: Transmission BitTorrent Seedbox
author: Neel Chauhan
contributors:
contributors: Steven Spencer
tested_with: 9.4
tags:
- file transfer
---
# Transmission BitTorrent Seedbox

## Introduction

BitTorrent needs no introduction at this point but if you're unaware, BitTorrent is a peer-to-peer file sharing protocol. BitTorrent relies on multiple peers sededing (uploading) the requested file to you but you also seed back to future downloaders.
BitTorrent needs no introduction at this point but if you are unaware, BitTorrent is a peer-to-peer file sharing protocol. BitTorrent relies on multiple peers seeding (uploading) the requested file to you but you also back to future downloaders.

Transmission is an popular open source BitTorrent client which has multiple frontends and backends. We will be installing the headless "daemon" backend.
Transmission is an popular open source BitTorrent client with multiple frontends and backends. Here you will be installing the headless "daemon" backend.

In today's mobile-centric world, it makes more sense to run Transmission as a headless server than directly on a laptop or even a desktop. This way we can seed files 24/7 while not consuming battery life on a mobile device if used for downloading.
In today's mobile-centric world, it makes more sense to run Transmission as a headless server than directly on a laptop or a desktop. This way you can seed files 24/7 while not consuming battery life on a mobile device if used for downloading.

## Installation

To install Transmission we first need to install EPEL:
To install Transmission you first need to install EPEL:

```bash
dnf install -y epel-release
```

Then we will install Transmission:
Then install Transmission:

```bash
dnf install -y transmission
```

## First Setup
## First setup

Unlike most Linux daemons Transmision sets up the configuration upon first startup. Let's start up and stop Transmission:
Unlike most Linux daemons Transmission sets up the configuration upon first startup, so start and stop Transmission with:

```bash
systemctl start transmission-daemon
systemctl stop transmission-daemon
```

After these steps, we will have a configuration file. You will need to stop Transmission as you cannot edit the configuration file while Transmission is running.
After these steps, you will have a configuration file. You will need to stop Transmission as you cannot edit the configuration file while it is running.

## Configuration

Now, we will configure Transmission:
Configure Transmission:

```bash
cd /var/lib/transmission/.config/transmission-daemon
Expand All @@ -56,7 +55,7 @@ Navigate down to the `"peer-port"` JSON entry and if desired, replace the stock
"peer-port": 51413,
```

I'll change it to `12345`:
Here, the author is changing it to `12345`:

```bash
"peer-port": 12345,
Expand All @@ -68,43 +67,43 @@ Subsequently, navigate to the `"rpc-password"` JSON entry and change the passwor
"rpc-password": "{9cfaaade11d56c8e82bfc23b696fa373fb20c10e4U2NXY3.",
```

Enter your plaintext password here. If you are worried about security, fortunately Transmission will encrypt the password upon the next restart
Enter your plain text password here. If security is a worry, note that Transmission will encrypt the password upon the next restart.

If you want to allow access from other IP addresses, navigagte to the `"rpc-whitelist"` entry:
If you want to allow access from other IP addresses, navigate to the `"rpc-whitelist"` entry:

```bash
"rpc-whitelist": "127.0.0.1,::1",
```

For instance if you want to allow access to your desktop on IP address `192.168.1.100` we can add it to the comma separated value:
For instance if you want to allow access to your desktop on IP address `192.168.1.100` you can add it to the comma separated value:

```bash
"rpc-whitelist": "127.0.0.1,::1,192.168.1.100",
```

Alternatively if you don't desire an IP whitelist we can disable it by setting `"rpc-whitelist-enable"` to `false`:
If you do not want an IP whitelist, you can disable it by setting `"rpc-whitelist-enable"` to `false`:

```bash
"rpc-whitelist-enabled": false,
```

When you're done configuring we will start and enable Transmission:
When finished configuring, start and enable Transmission:

```bash
systemctl enable --now transmission-daemon
```

## Firewall and Network Configuration
## Firewall and network configuration

Subsequently, we will need to allow the respective ports `12345` (for BitTorrent) and `9091` (for Transmission's control panel) in our firewall:
Subsequently, you will need to allow the respective ports `12345` (for BitTorrent) and `9091` (for Transmission's control panel) in our firewall:

```bash
firewall-cmd --permanent --zone=public --add-port=12345/tcp
firewall-cmd --permanent --zone=public --add-port=9091/tcp
firewall-cmd --runtime-to-permanent
```

If you are not behind a NAT-PMP or uPNP-enabled router or connected without NAT we will need to forward the BitTorrent port (`12345` in our example). Each router is different but as an example on the author's MikroTik router:
If you are not behind a NAT-PMP or uPNP-enabled router or connected without NAT you will need to forward the BitTorrent port (`12345` in our example). Each router is different but as an example on the author's MikroTik router:

```bash
/ip firewall nat add action=dst-nat chain=dstnat dst-port=12345 in-interface=ether1 protocol=tcp to-addresses=SERVER_IP to-ports=12345
Expand All @@ -114,10 +113,10 @@ Replace `SERVER_IP` with the IP address of the server running Transmission.

## Testing Transmission

Navigate to the IP address running our Transmission server. As an example we can download the torrent of a Linux distribution such as Ubuntu:
Navigate to the IP address running our Transmission server. As an example, you can download the torrent of a Linux distribution such as Ubuntu:

![Our Transmission downloading Ubuntu](../images/transmission.png)

## Conclusion

BitTorrent was designed in the early 2000s when most people connected to the internet via a desktop PC. And while it's impractical to run BitTorrent on a laptop or phone it's perfect to run it on a headless server via Transmission. This way we can seed files 24/7 and yet our downloads will always be available to us.
BitTorrent was designed in the early 2000s when most people connected to the internet via a desktop PC. While it is impractical to run BitTorrent on a laptop or phone, it is perfect to run it on a headless server via Transmission. In this way you can seed files 24/7 and yet our downloads will always be available to you.

0 comments on commit fabd704

Please sign in to comment.