script futtatás extension alapján

Fórumok

Adott egy raspberry pi torrentszerver R=1 usernél, távoli asztalon macerálva. Mivel így böngészni igencsak lassú, csak a *.torrent-et küldeném át, de az adott női lelket nem lehet még egy scriptből futó scp használatra sem felkészíteni.
Az elképzelés az, hogy ha automatikusan el tudnék egy scriptet indítani a *.torrent letöltésekor, a pi oldalán pedig a cron nézegetné tíz percenként, hogy jelent-e meg valami lekezelendő dolog, akkor jaj, de szép lenne minden.
Lehet valahogyan scriptet indítani az alapján, hogy milyen kitejesztésű file-t tölt le a böngésző? (Default Ffox, de lehet más is.)

Hozzászólások

Mit szólsz inkább az rtorrent + rutorrent HTTP-s GUI kombóhoz? Az utóbbival böngészőből vezérelheted az rtorrentet, és azzal töltheted fel a torrent fájlt.

Jelenleg is a transmission van fent, de nem ez a kérdés.

A baj a kibírhatatlanul lassú böngésző. Tökmindegy, mivel böngészek, távoli asztalként kezelni a pi-t kibírhatatlanul lassú.
Ezért a böngészést az asztali gépre kell bízni és csak a torrentet átadni, de azt _automatizálva_, a torrent letöltésekor indított script-tel.

Ez volt a kérdés, nem az, hogy mivel töltsem a torrentet.

csak kicsit olvasnál utána annak, amit tanácsolnak.

megy egy transmission a pi-ra. beállítod rendesen. normális böngészőn, normális gépen beírod, hogy 192.168.1.15:5555 (pi IP címe, transmissionben beállított port)

Kapsz egy weboldalt, ahol tudsz feltölteni rá .torrent fájlokat, látod, melyik hogy halad, leállítod. egy teljesen tökéletes GUIt.

Örülsz.

Semmi távoli asztal, meg semmi black magic, semmi szopás.

szerk.: a linkelt weboldalon egyből a szemembe dobja: https://www.transmissionbt.com/images/screenshots/Clutch-Large.jpg
csak neked nem localhost:port lesz, hanem ip:port. s egy teljesen másik gépről nézed meg. (akár, ha lejelszavazod, s a routeren nyitsz portot, még nagyonnagyon messziről is)
--
blogom

Létezik a transgui alkalmazás is, ehhez a .torrent fájlokat lehet társítani (is), egyébként a webes megoldásnál több lehetőséget is ad.
A .torrent-re kattintva az hozzáadódik a transmission letöltéseihez a távoli gépen a transgui-n keresztül.
Én ezt a kérdést egyébként firefox(+save to addon)-dropbox-transmission kombóval oldottam meg.
A firefox a .torrentet egy külön könyvtárba menti, ezt a dropbox szinkronizálja (a másik oldalon szelektív szinkronnal, hogy ne húzza le oda a teljes dropbox tartalmat), ott a transmission pedig automatikusan betölti, illetve törli a .torrent fáljt. (így látatlanban is tudom, hogy feldolgozta a transmission, mert eltűnik a .torrent)
Nekem már csak a végeredményt kell a megosztáson keresztül használni. (Szerintem megoldható a dropbox pi-re is.)

Nekem egy x86 -os gépre van telepítve, amin Ubuntu server fut. Erre telepítettem fel a transmission -t ami elé egy nginx -et tettem (reverse proxy), a transmission alapból a 9091 -es portra figyel (ez konfigurálható, tehát ha más miatt nem kell nginx akkor nyugottan confolhatod a 80 as portra a transmission -t)

Ha meg van konfolva minden akkor így kell kinéznie a webes felületnek:

----
올드보이
http://molnaristvan.eu/

Ez kell neked: http://hup.hu/node/95323
A kommentek kozt ajanlottak extensiont is.

Neked nem eleg a move, hanem valamilyen feltoltes is kell (akar web interface, akar scp). A torrent klienseknel meg tipikusan van valami konyvtar, amit figyelnek, es automatikusan betoltenek (vagy feltoltod scriptbol a pi-re a webes feluleten).
Esetleg felmountolod tavolrol a pi-nek ezt a konyvtarat sshfs-en, es akkor tenyleg eleg a move (vagy nem csak ezt a konyvtarat, elvegre a tartalmat valahogy el is kell majd erned ha nem csak seedbox).

--
What's worse than finding a worm in your apple?
Finding a U2 album on your iPhone.

Hasonló problémán gondolkodtam, csak annyi volt a plusz, hogy nem egy, hanem két gépről kellene a torrentet leszedni.
Ahogy én oldottam meg:

#!/bin/sh

PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin

RSYNC="rsync -q -e ssh --remove-source-files -r --include '*.torrent' --exclude '*' "
TORRENTDIR="/usr/home/hdd/torrent/torrentek/"

if ping -q -c 1 -t 2 gep1 >/dev/null; then
	eval ${RSYNC} user1@gep1:/home/user1/Downloads/ ${TORRENTDIR} > /dev/null 2>&1
fi

if ping -q -c 1 -t 2 gep2 >/dev/null; then
	eval ${RSYNC} user2@gep2:/home/user2/downloads/ ${TORRENTDIR} > /dev/null 2>&1
fi

Percenként lefut ez a szkript az RPI-n és nem kell mindenfélét csatolgatni. Annyi kell, hogy minden gépen a böngészős letöltés mindig (gépenként) ugyanabba a könyvtárba történjen (Downloads és downloads, jó, ilyen hülyén lett megoldva) - ezt firefox-ban be lehet állítani, de szerintem a többi böngészőben is. Persze sshd fusson, és az RPI be tudjon lépni jelszó nélkül is. Az RPI-n meg be van állítva a transmission, hogy a ${TORRENTDIR} könyvtárban nézelődjön.
A webes felülethez meg be kell állítani egy gyorsindítót, és nem kell IP-címeket és portokat gépelgetni. A letöltött torrentekhez meg ftp-n keresztül lehet hozzáférni (ezt találtam a legegyszerűbbnek és leggyorsabbnak, sshfs-t és nfs-t próbáltam) - böngészőbe is be lehet ütni (akár gyorsindító is lehet), illetve a fájlkezelők tudnak ftp-t (krusader biztosan, total commander biztosan).
Párom, aki szintén nem szkriptelő bajnok, teljesen jól elvan ezzel a megoldással (meg persze én is).
Még annyit állítottam be az RPI-n, hogy mikor egy torrent letöltődött, egy email-t küld, hogy kész van.

Én „fordítva” csinálom. A kliens gépen figyelem az incronnal a könyvtárat, majd egy scripttel felmásolom a szerverre.


ironcat@ipd:~$ incrontab -l
/home/ironcat/downloads IN_CLOSE_WRITE /home/ironcat/bin/moveTorrent $@/$#

A moveTorrent script tartalma tetszés szerinti lehet. Azaz, mozgathat egy nfs vagy samba csatolásra is.


#!/usr/bin/env bash

SRV="server"
SRVUSER="user"
TORRENTDIR="torrent/torrents"


if [ -f "$1" ] ; then
    EXTENSION="${1##*.}"
    if [ "$EXTENSION" = "torrent" ] ; then
       scp "$1" "$SRVUSER@$SRV:$TORRENTDIR"
       rm "$1"
    fi
fi

-----

(&%;_98\<|{3W10Tut,P0/on&Jkj"Fg}|B/!~}|{z(8qv55sr1C/n--k**;gfe$$5a!BB]\.-

Mint már előbbiek is írták a problémát már megoldották, például transmission háza táján. Otthon úgy használom, hogy a szerveren (esetemben nem ARM, hanem alacsony fogyasztású x86) fut egy transmission, aminek be van állítva, hogy egy adott könyvtárat figyeljen. Ez a könyvtár jelenleg Samba, NFS, Natatalk valamelyikével érhető el így simán felcsatolás után csak oda kell rakni a torrentet. Ezt amúgy már rPi-n is meg lehet csinálni, inotify kell hozzá a kernelbe.

Szintén a fent leírt rsynces megoldások is jók fognak működni, bár én nem szeretnék adott esetben 10 percet várni, mire elindít egy mondjuk 30 megás letöltést, ezért én azt a megoldást is feltunningolnám inotify-al.

FathoM