Drón és Tech blog

Minerk Tech

Minerk Tech

Olcsó torrent szerver házilag - Raspberry Pi Transmission TorrentBox

2020. augusztus 08. - minerk

rpi_torrent_borito_wide.jpgEbből a cikkből megtudhatod, hogyan lehet egy Raspberry pi-ből egy böngészőből elérhető egész nap futó torrent szervert csinálni.

A Raspberry pi egy olcsó  mini számítógép, aminek fogyasztása nagyon kicsi, kevesebb mint 300 Ft értékű áramot eszik havonta, de teljesítménye ehhez képest elég nagy, így tökéletesen alkalmas szervernek vagy akár asztali számítógépnek.

 

Mire lesz szükség?

  • Raspberry Pi 3 vagy 4 és hozzá való tápegység
  • Minimum 16 GB-os SD kártya Raspberry Pi OS vagy Raspberry Pi OS Lite-al
  • Igény szerint külső adattároló (tárhely bővítésnek)

 

Mennyibe kerül mindez?

*Az árak csak tájékoztató jellegűek, 2020.08.8-án voltak naprakészek

 

Bár nem muszáj venned külső HDD-t ehhez a projekthez, de erősen ajánlott, mivel az SD kártya kapacitása elég kicsi és ugyan úgy, mint egy SSD hamar tönkre fog menni, ha sok adatot írsz rá.

Ebből a cikkből mindent megtudhatsz arról, hogy milyen adathordozót érdemes venni egy RPi-hez:

Ehhez a projekthez Raspberry Pi OS-t fogok használni, melynek telepítését ebből a cikkből megtudhatod: https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up

Ha csak szervernek szeretnéd használni RPi-det, akkor érdemes Raspberry Pi OS Lite-ot telepítened rá, mivel az egy kisebb és kifejezetten szervernek szánt OS. Ami nem rendelkezik asztali környezettel, csakis konzollal, de ez egy szervernél teljesen megszokott és így még több erőforrás jut a programoknak: https://desertbot.io/blog/headless-raspberry-pi-4-ssh-wifi-setup

img01.pngTorrent kliensnek Transmission-t, fogok használni. Ami az egyik legnépszerűbb ilyen program Linuxra. Nagy előnye hogy képes létrehozni egy weblapot amin keresztül, elérhetjük egyszerűen böngészőből a torrent klienst.Tudunk feltölteni torrenteket és mindent ugyan úgy beállíthatunk rajta, mint bármelyik másik torrent kliensen, egy kényelmes webes felületen.

 

Transmissions telepítése

 putty_xay9bliqui.jpg

Nyiss meg egy terminált, majd mint minden program telepítése előtt, frissítsd rendszered az alábbi paranccsal: 

sudo apt-get update && sudo apt-get upgrade

 

Telepítsd a Transmission-t.

sudo apt-get install transmission-daemon

 

A program automatikusan elindul telepítés után és a rendszer indításakor, de ahhoz hogy be tudjuk állítani ideiglenesen le kell állítanunk, az alábbi paranccsal.

sudo systemctl stop transmission-daemon

 

Nyisd meg adminisztrátori jogokkal (sudo), kedvenc szövegszerkesztőddel (nekem ez a nano) a program beállításait, amik a /etc/transmission-daemon/settings.json file-ban vannak eltárolva.

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


putty_r2az5nvepn.jpg

Valami hasonlót kell hogy láss benne:

{

    "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,

    "bind-address-ipv4": "0.0.0.0",

    "bind-address-ipv6": "::",

    "blocklist-enabled": false,

    "blocklist-url": "http://www.example.com/blocklist",

    "cache-size-mb": 4,

    "dht-enabled": true,

    "download-dir": "/var/lib/transmission-daemon/downloads",

    "download-limit": 100,

    "download-limit-enabled": 0,

    "download-queue-enabled": true,

    "download-queue-size": 5,

    "encryption": 1,

    "idle-seeding-limit": 30,

    "idle-seeding-limit-enabled": false,

    "incomplete-dir": "/var/lib/transmission-daemon/Downloads",

    "incomplete-dir-enabled": false,

    "lpd-enabled": true,

    "max-peers-global": 200,

    "message-level": 1,

    "peer-congestion-algorithm": "",

    "peer-id-ttl-hours": 6,

    "peer-limit-global": 200,

    "peer-limit-per-torrent": 50,

    "peer-port": 57461,

    "peer-port-random-high": 65535,

    "peer-port-random-low": 49152,

    "peer-port-random-on-start": false,

    "peer-socket-tos": "default",

    "pex-enabled": true,

    "port-forwarding-enabled": false,

    "preallocation": 1,

    "prefetch-enabled": true,

    "queue-stalled-enabled": true,

    "queue-stalled-minutes": 30,

    "ratio-limit": 2,

    "ratio-limit-enabled": false,

    "rename-partial-files": true,

    "rpc-authentication-required": true,

    "rpc-bind-address": "0.0.0.0",

    "rpc-enabled": true,

    "rpc-host-whitelist": "",

    "rpc-host-whitelist-enabled": true,

    "rpc-password": "{5c1a2df9dd07ee354ccf27715994d4a1884a5b7fgpWbHOSs",

    "rpc-port": 9091,

    "rpc-url": "/transmission/",

    "rpc-username": "transmissions",

    "rpc-whitelist": "127.0.0.1",

    "rpc-whitelist-enabled": true,

    "scrape-paused-torrents-enabled": true,

    "script-torrent-done-enabled": false,

    "script-torrent-done-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,

    "trash-original-torrent-files": false,

    "umask": 18,

    "upload-limit": 100,

    "upload-limit-enabled": 0,

    "upload-slots-per-torrent": 14,

    "utp-enabled": true

}

 

Most csak a legfontosabb beállításokra fogok koncentrálni.

Az első az a letöltési könyvtár (download_dir) alapértelmezetten /var/lib/transmission-daemon/downloads ennek a helyére kell beírnod a könyvtár elérési útját ahová szeretnéd menteni a kész torrenteket.

Ha nem csatlakoztattál külső adathordozót a gépre ezt nyugodtan hagyd alap beállításon. Ha igen írd be ide a csatolt meghajtón lévő letöltések könyvtár elérési útját.

"download-dir": "/var/lib/transmission-daemon/downloads",

 

A következő fontos beállítás az az átmeneti file-ok helye (incomplete-dir), ha engedélyezve van ez a funkció ide menti a program az épp letöltődő torrenteket. Alapértelmezett a /var/lib/transmission-daemon/Downloads , ha külső meghajtót csatlakoztattál írd be ennek a helyére az azon lévő mappa helyét, ha nem nem fontos átállítanod. Az incomplete-dir-enabled opcióval tudod ezt a funkciót ki vagy be kapcsolni, alapértelmezetten false azaz kikapcsolt. Én be szoktam kapcsolni, azzal hogy átírom true -ra.

"incomplete-dir": "/var/lib/transmission-daemon/Downloads",

"incomplete-dir-enabled": true,

 

A következő és egyben a legfontosabb beállítás az rpc-username és az rpc-password. A felhasználónév alapértelmezetten transmission , ezt írd át valami általad választott szóközt, ékezetes betűt vagy bármilyen speciális karaktert  nem tartalmazó névre. A jelszó (rpc-password) “titkosítva” van, nem kell félni ettől írd át egy általad választott jelszóra az idézőjelek között lévő írásjeleket. A biztonság érdekében a következő indulásnál a Transmissions automatikusan át fogja alakítani a jelszót látszólag értelmetlen szám és betű sorozattá, annak érdekében, hogy ne lehessen simán elolvasni a file-ból a jelszót. Ezért jól jegyezd meg, mivel legközelebb nem fogod tudni megnézni mi a jelszavad csak átállítani.

"rpc-username": "felhasznalo",

"rpc-password": "jelszo",

 

Az utolsó fontos beállítás az az rpc-whitelist, ez a funkció arra szolgál, hogy csakis a listán szereplő ip címekről lehessen csatlakozni weben keresztül a Transmissions-höz. Ha használni szeretnéd ezt a funkciót, írd az idézőjelek közé annak a gépnek az ip címét, amiről el szeretnéd érni a Transmissions-t. Itt akár több IP-t is megadhatsz vesszővel elválasztva Ne feledd, sok router időnként automatikusan új ip-t állít be a gépeknek, így ha nincs statikus ip-je a gépednek, időnként frissítened kell majd ezt az értéket.

Én nem látom értelmét ennek a funkciónak, mivel nem szoktam kiengedni az internetre az RPi-met, lokális hálózaton pedig számomra elegendő védelmet biztosít a felhasználónév és a jelszó, ami a bejelentkezéshez kell,  ezért ki szoktam kapcsolni a Whitelist-et. Írd át az rpc-host-whitelist-enabled utáni true -t false -ra, ezzel letiltva ezt a funkciót.

"rpc-host-whitelist-enabled": false,


Végül a Ctrl+x billentyű kombinációval lehet kilépni, aztán Y -al menteni, majd Enter -el felülírni az előző file-t.

 

putty_1s3jevgkgs.jpgAdjunk mindenkinek hozzáférést a mappához ahová a torrentek letöltődnek. Írd át a /könytár-at a könyvtár elérési útjára amit beállítottál a download-dir résznél letöltési könyvtárnak.

 sudo chmod 777 -R  /könyvtár

 

Ha alapértelmezetten hagytad a letöltési könyvtárat ezt kell beírnod 

 sudo chmod 777 -R  /var/lib/transmission-daemon/

 

putty_itfn13ukai.jpgKész vagyunk a torrent kliens beállításával, ideje újraindítani a Transmission-t az alábbi paranccsal.

sudo systemctl start transmission-daemon

Kiléphetsz a terminálból, már nem lesz rá szükség.

 

Hozzáférés a webes felülethez

A következő lépéshez tudnod kell a Raspberry Pi-d IP címét. Ezt meg tudod nézni a router-ed konfigurációs menüjében, vagy az Advanced IP Scanner nevű programmal.

 

http://RPi IP címe:9091/transmission/

Írd be egy böngészőbe az URL címet, értelem szerint az az RPi IP címe helyére írd a raspberry pi IP címét. A 9091 az alapértelmezett port amin keresztül kommunikál, a /transmission/ pedig az alapértelmezett url utótag.

 

chrome_ysplt6vy2m.jpgAz én esetemben ez van a böngészőbe írva:

http://192.168.0.106:9091/transmission/

 

chrome_wia6rpdini.jpgHa mindent jól csináltál kérni fog egy Felhasználónevet és jelszavat az oldal, itt add meg az előbb beállított rpc-username-t felhasználónévnek és rpc -password-öt jelszónak.

Majd feltárul előtted a Transmissions webes felülete, ahol már grafikus felületen tudsz torrenteket hozzáadni, törölni és néhány beállítást személyre szabni.

 

Hogyan tudom letölteni a Raspberry pi-ről a fájlokat?

A legegyszerűbb módszer az SFTP. Ehhez nincs másra szükség, csak egy FileZilla nevű programra: https://filezilla-project.org/

filezilla_srxp5yopz8.jpgA program megnyitása után Fájl > Kedvenc Helyek > New site

A protokollt átváltod SFTP-re, a címhez beírod az RPi IP címét, a felhasználónévhez a Raspberry Pi (nem a Transmissions) felhasználónevét, a jelszóhoz a jelszavát, majd csatlakozás.

 

filezilla_8jathjevig.jpgBal oldalt látod a saját géped, jobb oldalt az RPi-t. Elnavigálsz a torrentek mappájába jobb oldalon, rányomsz a másolni kívánt file-ra vagy mappára és a letöltés gombbal át tudod másolni a bal oldalon kiválasztott mappába. Ugyan így tudsz fel is tölteni bármit az RPi tárhelyére, csak bal oldalon kell kiválasztani a feltöltendő fájlt vagy mappát.

 

Kapcsolódó cikkek

 

 

Iratkozz fel Facebook oldalamra, hogy értesítést kapj, ha elérhetőek lesznek legújabb cikkeim ebben a témában.

Facebook oldalam: https://www.facebook.com/minerktech/

 

 

A bejegyzés trackback címe:

https://minerktech.blog.hu/api/trackback/id/tr9216118968

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Migmir 2021.03.10. 16:41:45

Ezt a hibauzenetet kapom belepes utan:

409: Conflict
Your request had an invalid session-id header.

To fix this, follow these steps:

When reading a response, get its X-Transmission-Session-Id header and remember it
Add the updated header to your outgoing requests
When you get this 409 error message, resend your request with the updated header
This requirement has been added to help prevent CSRF attacks.

X-Transmission-Session-Id: 16sfKlQZRCvjbHK18r3qPCVJ66PxSaqg3w6MQsjXSDapTXQ7
süti beállítások módosítása