Installing Transmission Torrent Client With Web View

In these times, torrents are often associated with something illegal, such as pornography, pirated games and applications, etc. But actually, torrents were created to make the process of sharing files easier or at least, try before you buy, because lately, applications with a subscription business model make pirated applications difficult to use, and the free trials provided are sometimes very limited.

A quick introduction, Transmission is a Qt-based torrent client that is light, fast, open source, and can be installed on various operating systems such as FreeBSD, MacOS, Linux and Windows. At first glance, Transmission already has many advantages over uTorrent: open source, fast and ad-free. Open source means Transmission is safer, because the development process is monitored by the public. As a result, because Transmission is publicly supported, they don't need advertising. Compare this to uTorrent which is filled with ads, and even has a paid subscription model.

As a Bittorrent Client, Transmission provides speed, convenience and free. Here are the main features of Transmission torrent client:
  1. Native to Your System, unlike many cross-platform applications, Transmission integrates seamlessly with your operating system.
  2. GTK+ and Qt GUI applications for FreeBSD, Linux, MacOS, etc.
  3. Open Source & Privacy Focused.
  4. Can be used to download large files
  5. Sleek & Feature Rich.
In this article we will introduce how it works and the process of installing Transmission Torrent client on a FreeBSD 13.2 server. In this article we use the Private IP Address 192.168.5.2.


1. Dependency Transmission

On FreeBSD servers, Transmission by default does not enable the web client on it. But GhostBSD by default activates Transmisi as a torrent client, you don't need to install Transmission.

Before we install Transmission torrent client, dependencies must be installed first. The following are the dependencies that must be installed:
  1. transmission-cli
  2. transmission-gtk
  3. transmission-utils
  4. cmake, gmake, libb64, libfmt
After logging in to the FreeBSD Server via SSH, update the PKG package repository.
root@ns6:~ # pkg update -f
root@ns6:~ # pkg upgrade -f
and install dependencies transmission.
root@ns6:~ # pkg install transmission-cli transmission-gtk transmission-qt transmission-utils cmake gmake libb64 libfmt transmission-daemon


2. Install Transmission With Sistem Ports

It is highly recommended that Transmission be installed using Ports, even though it takes a while, all libraries will be installed.

The Transmission installation package is stored in the "/usr/ports/net-p2p" folder, open the folder and run the command below.
root@ns6:~ # cd /usr/ports/net-p2p/transmission-components
root@ns6:/usr/ports/net-p2p/transmission-components # make install clean
root@ns6:/usr/ports/net-p2p/transmission-components # cd /usr/ports/net-p2p/transmission-remote-gui
root@ns6:/usr/ports/net-p2p/transmission-remote-gui # make install clean
root@ns6:/usr/ports/net-p2p/transmission-remote-gui # cd /usr/ports/net-p2p/transmission
root@ns6:/usr/ports/net-p2p/transmission # make install clean


3. Install Transmission From GitHub

Another alternative is installing Transmission via the repository provided by Github. This package is very complete because it comes directly from the developer. Not only that, this package is always the latest, because it is supervised directly by the Transmission developer.

The installation process is slightly different from the method above and is quite complicated and takes a long time. Run the command below to start the installation.
root@ns6:~ # cd /usr/ports/net-p2p/transmission
root@ns6:/usr/ports/net-p2p/transmission # git clone --recurse-submodules https://github.com/transmission/transmission Transmission
root@ns6:/usr/ports/net-p2p/transmission # cd Transmission
root@ns6:/usr/ports/net-p2p/transmission/Transmission # cmake -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
root@ns6:/usr/ports/net-p2p/transmission/Transmission # cd build
root@ns6:/usr/ports/net-p2p/transmission/Transmission/build # cmake --build .
root@ns6:/usr/ports/net-p2p/transmission/Transmission/build # cmake --install .


4. Enable Python Supervisor

This script is useful for running Transmission automatically, this script written in python. Supervisor is used to replace the rc.d script. It's very easy to use, you can activate it directly in the "/etc/rc.conf" file. Below is an example.
root@ns6:~ # ee /etc/rc.conf
supervisord_enable="YES"
supervisord_config="/usr/local/etc/supervisord.conf"
After that, activate Transmission by opening the file "/usr/local/etc/supervisord.conf", activate the Transmission daemon in that file.

[program:transmission]
command=/usr/local/bin/transmission-daemon -f -t -u router -v router123 -w /root/.config/transmission-daemon/Downloads -g /root/.config/transmission-daemon   ;
;process_name=%(program_name)s ; process_name expr (default %(program_name)s)
numprocs=1                    ; 
directory=/root/.config/transmission-daemon     ;
umask=022                     ; 
;priority=999                  ; the relative start priority (default 999)
autostart=true                ; 
autorestart=true              ; 
startsecs=10                  ; 
;startretries=3                ; max # of serial start failures (default 3)
;exitcodes=0,2                 ; 'expected' exit codes for process (default 0,2)
;stopsignal=QUIT               ; signal used to kill process (default TERM)
;stopwaitsecs=10               ; max num secs to wait b4 SIGKILL (default 10)
;user=chrism                   ; setuid to this UNIX account to run the program
;redirect_stderr=true          ; redirect proc stderr to stdout (default false)
;stdout_logfile=/a/path        ; stdout log path, NONE for none; default AUTO
;stdout_logfile_maxbytes=1MB   ; max # logfile bytes b4 rotation (default 50MB)
;stdout_logfile_backups=10     ; # of stdout logfile backups (default 10)
;stdout_capture_maxbytes=1MB   ; number of bytes in 'capturemode' (default 0)
;stdout_events_enabled=false   ; emit events on stdout writes (default false)
;stderr_logfile=/a/path        ; stderr log path, NONE for none; default AUTO
;stderr_logfile_maxbytes=1MB   ; max # logfile bytes b4 rotation (default 50MB)
;stderr_logfile_backups=10     ; # of stderr logfile backups (default 10)
;stderr_capture_maxbytes=1MB   ; number of bytes in 'capturemode' (default 0)
;stderr_events_enabled=false   ; emit events on stderr writes (default false)
;environment=A=1,B=2           ; process environment additions (def no adds)
;serverurl=AUTO                ; override serverurl computation (childutils)






5. Edit File Config Transmission

Every application that runs on FreeBSD has a config or configuration file, as well as Transmission has a config file called "settings.json". Edit the file "/root/.config/transmission-daemon/settings.json" to suit your computer specifications.

{
    "alt-speed-down": 50,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540,
    "alt-speed-time-day": 127,
    "alt-speed-time-enabled": false,
    "alt-speed-time-end": 1020,
    "alt-speed-up": 50,
    "announce-ip": "",
    "announce-ip-enabled": false,
    "anti-brute-force-enabled": false,
    "anti-brute-force-threshold": 100,
    "bind-address-ipv4": "0.0.0.0",
    "bind-address-ipv6": "::",
    "blocklist-enabled": false,
    "blocklist-url": "http://www.example.com/blocklist",
    "cache-size-mb": 4,
    "default-trackers": "",
    "dht-enabled": true,
    "download-dir": "/root/.config/transmission-daemon/Downloads",
    "download-queue-enabled": true,
    "download-queue-size": 5,
    "encryption": 1,
    "idle-seeding-limit": 30,
    "idle-seeding-limit-enabled": false,
    "incomplete-dir": "/usr/home/transmission/incomplete",
    "incomplete-dir-enabled": true,
    "lazy-bitfield-enabled": true,
    "lpd-enabled": true,
    "message-level": 2,
    "open-file-limit": 32,
    "peer-congestion-algorithm": "",
    "peer-limit-global": 240,
    "peer-limit-per-torrent": 60,
    "peer-port": 51413,
    "peer-port-random-high": 65535,
    "peer-port-random-low": 49152,
    "peer-port-random-on-start": false,
    "peer-socket-tos": "cs0",
    "pex-enabled": true,
    "port-forwarding-enabled": true,
    "preallocation": 1,
    "preferred-transport": "utp",
    "proxy": "",
    "proxy-auth-enabled": false,
    "proxy-auth-password": "",
    "proxy-auth-username": "",
    "proxy-enabled": false,
    "proxy-port": 80,
    "proxy-type": 0,
    "queue-stalled-enabled": true,
    "queue-stalled-minutes": 30,
    "ratio-limit": 2.0,
    "ratio-limit-enabled": false,
    "rename-partial-files": true,
    "rpc-access-control-list": "127.0.0.1,*.*.*.*",
    "rpc-authentication-required": true,
    "rpc-bind-address": "0.0.0.0",
    "rpc-enabled": true,
    "rpc-host-whitelist": "",
    "rpc-host-whitelist-enabled": true,
    "rpc-password": "router123",
    "rpc-port": 9091,
    "rpc-socket-mode": "0750",
    "rpc-url": "/transmission/",
    "rpc-username": "router",
    "rpc-whitelist": "127.0.0.1,*.*.*.*",
    "rpc-whitelist-enabled": true,
    "scrape-paused-torrents-enabled": true,
    "script-torrent-added-enabled": false,
    "script-torrent-added-filename": "",
    "script-torrent-done-enabled": false,
    "script-torrent-done-filename": "",
    "script-torrent-done-seeding-enabled": false,
    "script-torrent-done-seeding-filename": "",
    "seed-queue-enabled": false,
    "seed-queue-size": 10,
    "speed-limit-down": 100,
    "speed-limit-down-enabled": false,
    "speed-limit-up": 100,
    "speed-limit-up-enabled": false,
    "start-added-torrents": true,
    "tcp-enabled": true,
    "torrent-added-verify-mode": "fast",
    "trash-original-torrent-files": false,
    "umask": "022",
    "upload-slots-per-torrent": 14,
    "utp-enabled": true
}

Restart Python supervisor

root@ns6:~ # service supervisord restart


6. Open Transmission with Google Chrome

As the final step, open Transmission in the Google Chrome, Yandex Browser or other web browser. In the address bar menu, enter "http://192.168.5.2:9091/transmission/web/" and see the results.



After it appears like the image above, you can start downloading via the top menu.

After we successfully ran Transmission and carried out a download test, the results were extraordinary. Transmission download speed is so fast. Large files can be downloaded in just a few minutes. We recommend that you switch to Transmission, because there are many benefits you can get.
Iwan Setiawan

I Like Adventure: Mahameru Mount, Rinjani Mount I Like Writer FreeBSD

Post a Comment

Previous Post Next Post