Ready-to-use server

Torrent Server

File download and sharing server

Torrent Server screenshots

A file server with integrated multi-protocol file sharing that can be used to handle all types of file downloads. Files can be added to the download list through a simple web interface that allows you to manage the server remotely. Especially useful for centralizing file sharing on a shared network. Includes anti-virus scanning.

This appliance includes all the standard features in TurnKey Core, and on top of that:

  • SSL support out of the box.

  • Includes popular compression support (zip, rar, bz2).

  • Includes flip to convert text file endings between UNIX and DOS formats.

  • E-mail download completion notification via Postfix MTA (bound to localhost).

  • Download server (Transmission) configuration:

    • Authenticated web interface and RPC endpoint on HTTPS port 12322.

    • Downloads stored in /srv/storage/download with incomplete data in /srv/storage/incoming.

    • Anti-virus / malware scanning via ClamAV.

      • Anti-virus signatures are auto-updated.

      • Automatically quarantines unsafe downloads.

      • Anti-virus logfile: /var/log/transmission/clamav.log

  • File server (Samba) configuration:

    • Pre-configured workgroup: WORKGROUP

    • Pre-configured netbios name: TORRENTSERVER

    • Configured root as administrative samba user.

    • Configured shares:

      • Users home directory.

      • Public storage.

      • CD-ROM with automount and umount hooks (/media/cdrom).

    • NOTE: Due to the removal of libpam-smbpass (see issue #1188), new Samba users must have their passwords explictly set separately when created. However, if you create a Samba user using smbpasswd, then a new Linux user of the same name, with the same password is automatically created (including home directory). E.g.:

      # smbpasswd -a new_user
      New SMB password:
      Retype new SMB password:
      Added user new_user.
      # ls /home/
      new_user
  • Access your files securely from anywhere via WebDAV CGI:

    • DAV service running via HTTPS.

    • Pre-configured repositories (storage, user home directory).

  • Default storage directory: /srv/storage

  • Accessing file server via samba on the command line:

    smbclient //1.0.0.61/storage -Uroot
        mount -t cifs //1.0.0.61/storage /mnt -o username=root,password=PASSWORD

See the Torrent Server Documentation for more details, including configuration details if behind a Firewall/Router/NAT

Credentials (passwords set at first boot)

  • Webmin, SSH, Samba: username root

  • Transmission: username admin

  • Web based file manager (WebDAV CGI):

    • username root (or Samba users)

Stable version: 19.0 (changelog)

Usage details & Logging in for Administration

No default passwords: For security reasons there are no default passwords. All passwords are set at system initialization time.

Ignore SSL browser warning: browsers don't like self-signed SSL certificates, but this is the only kind that can be generated automatically. If you have a domain configured, then via Confconsole Advanced menu, you can generate free Let's Encypt SSL/TLS certificates.

Web - point your browser at either:

  1. http://12.34.56.789/ - not encrypted so no browser warning
  2. https://12.34.56.789/ - encrypted with self-signed SSL certificate

* Replace 12.34.56.789 with a valid IP or domain name.

Note: some appliances auto direct http to https; appliances with domain set often redirect to the domain.

Username for Tranmission webui:

Login as username admin

Username for Samba & Web based file manager (WebDAV CGI & Windows file shares):

Login as username root (or other valid Samba user)

Username for OS system administration (local terminal, SSH, Webshell &/or Webmin:

Login as root - except on AWS marketplace which uses username admin.

  1. Point your browser to:
  2. Login with SSH client:
    ssh root@12.34.56.789
    

    Special case for AWS marketplace:

    ssh admin@12.34.56.789
    

* Replace 12.34.56.789 with a valid IP or domain name.

Documentation

Information related to the TurnKey Linux Torrent Server appliance

TurnKey Torrent Server uses Transmission. We understand that this may not be to everyone's liking. If you'd like to be involved in developing and maintaining an alternate torrent client/server appliance, I suggest posting on the forums and/or posting an issue on the tracker.

Using a VPN Server To Secure Internet Traffic To Your Torrent Server

You can use the Turnkey Linux OpenVPN Appliance (or another VPN provider or alternate VPN server, e.g. Wireguard appliance) to act as a router. When installing your OpenVPN appliance, use the "Client" option for setting up OpenVPN. You can read about configuring an OpenVPN Server as both a client and a router here.

You can edit your Torrent Server's defualt gateway to use the static IP of your OpenVPN router like so:

nano /etc/network/interfaces

#ISP Router IP is 192.168.1.1
#OpenVPN router IP is 192.168.1.254
#Torrent Server IP is 192.168.1.10

auto eth0
iface eth0 inet static
        address 192.168.1.10
        netmask 255.255.255.0
        gateway 192.168.1.254

 

[obsolete] Torrent Server configuration tutorial

Note: This documentation is (somewhat) obsolete. As of v14.0 the TurnKey Torrentserver appliance now uses rTorrent on the backend and ruTorrent as the WebUI. This page needs updating to cover that.

Notes:

  • If your Torrent Server has a direct connection to the internet, and is not behind a firewall or a network-address-translation (NAT) enabled router, then you most likely do not need to make any networking changes.
  • It is highly recommended (if not mandatory) to configure a static IP address when behind a NAT router, or when running an Amazon EC2 instance.

TurnKey Torrent Servers peer-to-peer (P2P) engine is called mldonkey. P2P means that other P2P users need to connect to your server to upload or download files. For that purpose, Torrent Server listens on certain ports and requires that they are reachable from the internet.

For the impatient, this is what your looking for:

  • BitTorrent: 6881-6889/TCP
  • EDonkey: 6298/TCP, 6302/UDP
  • Kademlia: 19955/UDP
  • Overnet: 4696/TCP+UDP
  • Torrent Server Handler: 12322/TCP

This is a general guide on how to open which ports. Since there are countless different routers, firewalls and NAT configurations, its almost impossible to include step-by-step instructions for every case. None the less, this guide should provide enough information to help you configure your setup correctly. You might want to refer to your routers/firewalls manual if you get stuck. If you are still having problems, consider posting to the forum. Lastly, if you successfully configure your connection but with different settings to those explained here, please update this guide or add a comment at the end.

OK, down to business...

These are exemplary steps on how to setup a TurnKey Torrent Server VM/ISO when behind a NAT router. If you are using the Amazon EC2 instance (recommended as it provides an extremely fast network connection), you will need to create appropriate "security group" with the ports described below.

1. Boot the VM or install the ISO

2. Once booted/installed, the configuration console will appear

Note that your IP address will differ.

3. If using the VM/EC2, you will want to change the default passwords

Change the root password

passwd

Set the mldonkey/webgmui/extplorer admin password and restart the services

/usr/local/bin/mldonkey-passwd p4ssw0rd
/etc/init.d/mldonkey-server start
/etc/init.d/webgmui start

4. Log into the TurnKey web control panel (http://appliance_ip) and perform a porttest

Click on "port test"

Log in to mldonkey with username admin and the password you provided during install or in step 3 above.

The below screenshot displays a failed porttest. If your porttest succeeds, then your done. If not, continue reading, thats what this guide is for.
Note that you might need to "refresh results".


5.  Log into the router administration console and configure port forwarding

If you don't know the router's IP address, you can determine it as follows:

route -n | grep UG

As mentioned above, its almost impossible to include step-by-step instructions for every router configuration. The below screenshots are specific for a DLINK wireless router I have access to, but they should be generic enough to help configure other routers.

Enable the NAT module, and then continue to Port Forwarding:

Enable and configure port forwarding:

Note: Many routers have built-in firewalls, if enabled be sure to set the appropriate configuration there as well.

6. Perform a porttest



You're done. Enjoy!

7. Bonus: Torrent Server Handler Firefox extension

It is recommended to install the TorrentServer Handler Firefox extension on computers connected to your LAN. You will need to specify the Torrent Server's IP address.

You can also install the extension on other computers not connected to your LAN, such as a laptop so you can send downloads to the Torrent Server remotely. Note that you need to specify the IP address of your router when connecting remotely. This can be determined by using such services as whatismyip.com. Additionally, you might want to use Dynamic DNS (DDNS) if the IP address provided by your ISP is dynamic.