Ebbő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?
- Raspberry Pi 4 MODEL B 2GB (Málna PC): 16.000 Ft
- Tápegység (Málna PC): 3.500 Ft
- Kingston Canvas Select Plus 32GB memóriakártya (edigital): 5.000 Ft
- Külső adattároló (nem kötelező): 10.000-50.000 Ft
*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
Torrent 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
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
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.
Adjunk 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/
Ké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.
Az én esetemben ez van a böngészőbe írva:
http://192.168.0.106:9091/transmission/
Ha 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/
A 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.
Bal 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
- Milyen adattárolót vegyek a Raspberry Pi -hez? - HDD vagy SSD - tárhely bővítés
- Statikus IP beállítása Raspberry Pi -hez - Még készül
- UPnP , Port Forwarding , port nyitás - Raspberry Pi Torrentkliens Aktív mód - Még készül
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/