PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Torrentmirror, generelle Überlegung zur Verbesserung



Suxxess
23.02.2010, 22:38
Speziell wollte ich Mira & Flom ansprechen und natürlich auch die Nutzer die einen V-Server ihr eigen nennen oder bereits ihren Traffic per Fritzbox, Plug oder NAS zur verfügung stellen. :)

Beim bisherigen Script wird die Verwaltung bisher per PHP gesteuert. Ein Nachteil ist die Flexibilität und der Installationsaufwand, sowie die schwierige Vernetzung.

Mira hat ja schon sehr gute Ansätze hin zur Vernetzung gebracht und Flom hat ja schon seinen Mirror hochgezogen. Die Frage ist, ob folgendes in Zukunft nicht sinnvoller wäre:
- Zentralisierung der Verteilung ( Master - Client Beziehung )
- Zentralisierung der Steuerung der Clients auf dem Master
- Drastische Vereinfachung der Installation
- Umstellung der Clients weg von der PHP Steuerung hin zur SSH Steuerung
http://www.schlittermann.de/doc/ssh.html

Ich stell mir das wie folgt vor:
Mira hat ja schon eine Oberfläche die man sicher noch nach Bedarf anpassen könnte.
Jeder Client kann sich dann dort selbst registrieren und bekommt seine eigene Oberfläche für seinen Client geboten. (Jeder Client bekommt auf dem Master sein eigene Datenbanktabelle)

Welcher Client dann welche Datei verteilt bestimmt dann der Master. (Der hat durch die Zentralisierung ja den Überblick was gerade verteilt wird.)

Durch die SSH Steuerung wäre es auch recht leicht möglich die Datei vor der eigentlichen Verteilung per Webdownload auf dem Client vorzuladen.
Ein weiterer Vorteil ist dann, dass nur der Master einen Premiumaccount besitzen müsste um an den RSS Feed zu kommen.

Was haltet Ihr alle von der Überlegung?

Eine zweite Überlegung wäre noch den Client auf uTorrent mittels Wine zu aktualisieren.
Damit hätte jeder Client die Weboberfläche von uTorrent und könnte von Webseed, dem besseren Quellenaustausch u.s.w. profitieren. Die Dateien könnten dann per generierten RSS Feed vom Masterserver gesteuert werden. Dann könnte sogar auf SSH verzichtet werden und die Windowsserver wären wieder mit im Boot.

Allerdings müsste per Crobjob / Zeitsteuerung die jeweils letzte Datei gelöcht werden da diese Option mit den Bordmitteln von uTorrent nicht zur Verfügung steht.

mira
24.02.2010, 18:05
[...]Und, wenn jemand bei dem torrentmirror.ath.cx z.b. einen Auftrag gibt, wird es auf einen anderen Server weitergeleitet, der gerade Resourcen frei hat... somit wären alles ausgelastet und man könnte die dateien länger im seed behalten
So ist es geplant nur momentan noch nicht aktiviert (System steht), die Dauer von Dateien im Seed kann dann (vorausgesetzt die Ressourcen sind frei) erhöht werden das muss dann ein wenig ausprobiert werden.

Was SSH usw. angeht wäre es auch möglich die Scripte müssten halt angepasst werden so das nicht die php Datei aufgerufen wird sondern der Server mit SSH angesteuert werden.

[...]- Zentralisierung der Verteilung ( Master - Client Beziehung )
- Zentralisierung der Steuerung der Clients auf dem Master
- Drastische Vereinfachung der Installation
- Umstellung der Clients weg von der PHP Steuerung hin zur SSH Steuerung[...]
Die Seeds werden momentan Zentral gesteuert, das mit der Installation ist in der tat ein Problem, das könnte mit ssh verbessert werden.
Ich werde mir das ganze mal duch den Kopf gehen lassen :)

gruß

flom
24.02.2010, 21:20
Das war auch meine Überlegung, ob das nicht doch dann zu unsicher ist. Ein ungewollter Fehler, in meinen Scripts, kann immer auftreten. Andererseits kann man zwar auch viel per Benutzerberechtigungen machen. Mir persönlich würde es allerdings ähnlich gehen. So das ich auch keinem SSH zugriff geben würde.


Eigentlich wollte ich diese noch nicht freigeben falls noch Änderungen anfallen. Aber ich werde mal schauen.


gruß

Schön, dass du mich verstehst ;)
Ist doch kein Prob, wenn du ein Update hast im Script, schickst du es uns einfach, sind doch sowieso nur 2-3Leute. Aber wir bzw. ich kann noch gerne warten ;)

mira
24.02.2010, 21:36
Schön, dass du mich verstehst ;)
Ist doch kein Prob, wenn du ein Update hast im Script, schickst du es uns einfach, sind doch sowieso nur 2-3Leute. Aber wir bzw. ich kann noch gerne warten ;)

Ich habe mich eben nochmal ran gesetzt und eine Authentifizierung mit rein getippt (wenn mein Server auf den Client-Server zugreift), wenn ich morgen die zeit finde werde ich mal ein Zip File mit den beiden Scripten, für die Client Server, hoch laden.

Suxxess
24.02.2010, 21:51
Ok SSH kann ein Sicherheitsrisiko sein, und der Installationsaufwand ist wohl größer wenn man mit Methoden hantiert um das ganze dann wieder einzuschränken.

Was haltet Ihr denn von der uTorrent Idee? Gesteuert wird dann halt per RSS Feed.
Der Master generiert eine RSS Liste für jeden Client, die jeweiligen uTorrent Clients sind dann so eingestellt, dass jede Torrentdatei im RSS Feed heruntergeladen wird.

Das Hauptproblem wird dann allerdings werden wie bekomme ich die alten Dateien wieder runter vom Server. Natürlich kann man einen Cronjob schreiben, der die älteste Datei einfach löscht, aber es geht ja auch gerade darum das ganze dynamischer hinzubekommen und dabei auf die PHP Geschichte beim Client zu verzichten.

rupert
24.02.2010, 23:05
Ich habe mir das System noch nicht angeschaut, aber vermutlich muss man zum Installieren an mehreren Stellen selbst Hand anlegen. Eine Möglichkeit das zu umgehen, wäre es, das ganze in einem chroot zu erstellen, so dass das Setup bei jedem gleich ist und daher leicht verteilt werden kann. Das hätte natürlich auch den Vorteil etwas sicherer zu sein. Dann wäre ich auch eher bereit dem Master einen unprivilegierten SSH-Zugriff zu gewähren.

uTorrent mit Wine wäre nichts für mich.

flom
25.02.2010, 19:42
Ok SSH kann ein Sicherheitsrisiko sein, und der Installationsaufwand ist wohl größer wenn man mit Methoden hantiert um das ganze dann wieder einzuschränken.

Was haltet Ihr denn von der uTorrent Idee? Gesteuert wird dann halt per RSS Feed.
Der Master generiert eine RSS Liste für jeden Client, die jeweiligen uTorrent Clients sind dann so eingestellt, dass jede Torrentdatei im RSS Feed heruntergeladen wird.

Das Hauptproblem wird dann allerdings werden wie bekomme ich die alten Dateien wieder runter vom Server. Natürlich kann man einen Cronjob schreiben, der die älteste Datei einfach löscht, aber es geht ja auch gerade darum das ganze dynamischer hinzubekommen und dabei auf die PHP Geschichte beim Client zu verzichten.

Ne, Sorry uTorrent Variant eist auch nix für mich...


Ich habe mir das System noch nicht angeschaut, aber vermutlich muss man zum Installieren an mehreren Stellen selbst Hand anlegen. Eine Möglichkeit das zu umgehen, wäre es, das ganze in einem chroot zu erstellen, so dass das Setup bei jedem gleich ist und daher leicht verteilt werden kann. Das hätte natürlich auch den Vorteil etwas sicherer zu sein. Dann wäre ich auch eher bereit dem Master einen unprivilegierten SSH-Zugriff zu gewähren.

uTorrent mit Wine wäre nichts für mich.

Joa Installation muss man schon alles selbst machen, schaffe ich aber mittlerweile bei nem neuen vServer mit der EInrichtung von apache, php, innerhalb einer guten viertel Stunde.
Denn es ist im Grunde genommen überall gleich...

Suxxess
25.02.2010, 21:43
uTorrent hat wohl Probleme wenn es nicht unter X ausgeführt wird.
Eventuell ist ja kTorrent eine Alternative. (Dort kann man allerdings nicht jede Funktion per Webinterface steuern, dafür läuft es sehr wahrscheinlich auf der Console.

rupert
26.02.2010, 19:12
Ich benutze auch rtorrent. Einziger Nachteil, den ich bei mir beobachten konnte, das Upload-Limit pro torrent (nicht das globale) verursacht kurzzeitige CPU-Spitzen. Allerdings spielt das bei dem hier angedachten System wohl keine Rolle und wird sicherlich eh irgendwann gefixt werden.

RSS ist meiner Meinung nach kein Kriterium. Das hat man in maximal einer Stunde selbst geskriptet.

Falls ihr euch für rtorrent entscheiden solltet, könnte ich euch ein Kommandozeilen-tool anbieten, das die xml-rpc Schnittstelle von rtorrent direkt anspricht, ohne dass man dazu extra etwas am HTTP-Server konfigurieren muss. Die Schnittstelle ist übrigens echt klasse und lässt einem enorm viel Spielraum bei der Anbindung eigener Programme bzw. Skripts.

Für diejenigen, die unbedingt eine neuere Version von rtorrent wollen, kann man eine statisch verlinkte Version kompilieren, die dann nur entpacket werden braucht.

rupert
27.02.2010, 12:05
Klinkt grunsätzlich gut, aber wieso sollte man einen Torrent limitieren? ........das man das ein wenig limitiert, aber pro torrent, das halte ich für blöd...

Wie ich schon geschrieben habe, gehe ich ebenfalls davon aus, dass das bei eurem Vorhaben keiner brauchen wird.


Allerdings spielt das bei dem hier angedachten System wohl keine Rolle und wird sicherlich eh irgendwann gefixt werden.

rupert
27.02.2010, 16:14
...., sondern kann diese einfach über die Debian sid Repos installieren

Dann hat man halt wegen den Abhängigkeiten kein reines Stable mehr, worauf ich auf meinen Servern Wert lege.

mira
28.02.2010, 01:11
Moin,
erstmal sorry das ich mich erst jetzt melde, hat leider ein wenig gedauert, ich werde die Scripte für die client-Server morgen mal online stellen (sofern es zeitlich passt) und was die limitierung der torrents angeht so sollte das auch so mehr oder weniger funktionieren. Allerdings wird der traffic erst dann gutgeschrieben wenn der torrent aus dem seed entfernt wird und es wird bisher nur der upload gezählt (also nich der download des otrkey files).


gruß

flom
04.03.2010, 14:07
Moin,
erstmal sorry das ich mich erst jetzt melde, hat leider ein wenig gedauert, ich werde die Scripte für die client-Server morgen mal online stellen (sofern es zeitlich passt) und was die limitierung der torrents angeht so sollte das auch so mehr oder weniger funktionieren. Allerdings wird der traffic erst dann gutgeschrieben wenn der torrent aus dem seed entfernt wird und es wird bisher nur der upload gezählt (also nich der download des otrkey files).

gruß


Das ist ja jetzt doch ein wenig her... hat mittlerweile jemand die Scripts?

mira
04.03.2010, 15:39
Das ist ja jetzt doch ein wenig her... hat mittlerweile jemand die Scripts?

Ups... sorry total vergessen, hatte auch zeitlich nicht wirklich Zeit, bis gestern gar nicht zu hause und bin auch eben erst von der Arbeit zurück.
Hänge die Scripts jetzt hier mal heran. Anleitung ist relativ kurz geworden, sonnst einfach fragen. Sorry nochmal für die Verspätung :(

gruß

flom
04.03.2010, 16:14
Ah super...bin grad am testen...

mira
04.03.2010, 17:30
Ah super...bin grad am testen...

hab dich gerade mal freigeschaltet mal sehen obs was wird :D

flom
04.03.2010, 19:28
hab dich gerade mal freigeschaltet mal sehen obs was wird :D

Eine Datei, Seede ich bereits... obwohl bei dir in der Wartschlange unmengen von Dateien liegen, wird aber von meinem Server nur 1 Datei geseedet. Warum ist das so?

mira
04.03.2010, 19:47
Eine Datei, Seede ich bereits... obwohl bei dir in der Wartschlange unmengen von Dateien liegen, wird aber von meinem Server nur 1 Datei geseedet. Warum ist das so?

Ich weiß garnicht wieso du überhaupt Dateien im Seed hast, du hast bei dir in den einstellungen angegeben das bei dir 0 Dateien im Seed sein sollen. Ich weiß jetzt nur nicht wieso mehr bei dir drinne sind.

gruß

flom
04.03.2010, 20:09
Ich dachte 0 sind unlimited. Ok, dann ändere ich das mal^^

mira
04.03.2010, 20:12
Ich dachte 0 sind unlimited. Ok, dann ändere ich das mal^^

Das stimmt auch, allerdings nur bei dem Traffic. ;)
Sonnst würde ja nie ein File bei dir gelöscht werden. :) Und irgendwann knickt dann auch der schnellste Server weg :P

gruß

flom
04.03.2010, 20:39
Das stimmt auch, allerdings nur bei dem Traffic. ;)
Sonnst würde ja nie ein File bei dir gelöscht werden. :) Und irgendwann knickt dann auch der schnellste Server weg :P

gruß

Ja *schäm* stimmt natürlich... habe aber nie gesagt das meiner der schnellste ist^^
Sind aber leider immer nur 1 Datei, naja ma guggn

mira
04.03.2010, 20:41
Ja *schäm* stimmt natürlich... habe aber nie gesagt das meiner der schnellste ist^^
Sind aber leider immer nur 1 Datei, naja ma guggn

mhh laut meiner Datenbank sollten schon 4 Dateien drin sein bzw mindestens 1 am Seeden und die Restlichen 3 am downloaden.
schau bitte mal ob da was in deinem File Ordner drin steht.

gruß

Suxxess
04.03.2010, 20:45
Ähm, ich bin zu doof mich bei dir einzuloggen :p

http://torrentmirror.ath.cx => Hab da ein paar Nutzeraccounts erstellt. (vermutlich)
Aber keiner der Logins funktionierte danach und eine Email hab ich auch nicht bekommen.

Eine Passwort vergessen Funktion wäre auch gut,)
<?php mail('benutzer@example.com', 'Mein Betreff', $nachricht); p>

Dann einfach das Passwort mit einem Randomwert überschreiben
@Mira, die Accounts ohne Logins kannst du leider wieder löschen.

mira
04.03.2010, 20:55
Ähm, ich bin zu doof mich bei dir einzuloggen :p

http://torrentmirror.ath.cx => Hab da ein paar Nutzeraccounts erstellt. (vermutlich)
Aber keiner der Logins funktionierte danach und eine Email hab ich auch nicht bekommen.

Eine Passwort vergessen Funktion wäre auch gut,)
<?php mail('benutzer@example.com', 'Mein Betreff', $nachricht); p>

Dann einfach das Passwort mit einem Randomwert überschreiben
@Mira, die Accounts ohne Logins kannst du leider wieder löschen.

Die mail zum Aktivieren wird momentan und wurde auch nie versendet, den text hatte ich zwischenzeitlich geändert.
Momentan hast du einen Account (Login: Suxxess). Passwort-vergessen Funktion ist ne gute idee kommt auf meine ToDo kann aber ein wenig dauern :)

gruß

Suxxess
04.03.2010, 21:05
Ah danke geht jetzt :) Die Passwortvergessen Funktion sollte jetzt nicht so schwer sein.
Aber vermutlich bist du ebenfalls berufstätig.

Einfach mit Random ein neues generieren, dies schreibst du in mit der Verschlüsselungsfunktion in die Nutzerdatenbank.
Und dann schickst du das Passwort mit der PHP E-Mail geschichte von oben an den Nutzer.
Mich bitte auch freischalten ;)

mira
05.03.2010, 11:43
Ah danke geht jetzt :) Die Passwortvergessen Funktion sollte jetzt nicht so schwer sein.
Aber vermutlich bist du ebenfalls berufstätig.

Einfach mit Random ein neues generieren, dies schreibst du in mit der Verschlüsselungsfunktion in die Nutzerdatenbank.
Und dann schickst du das Passwort mit der PHP E-Mail geschichte von oben an den Nutzer.
Mich bitte auch freischalten ;)

Jop so ist es :) und mit der Mail Funktion kenne ich mich schon aus so ein ganz wenig Ahnung hab ich, ob ihrs glaubt oder nicht auch :D

Suxxess: Du musst dir noch einen Auth-Code generieren, (einstellungen, und dann bei neuen Auth code ein häkchen setzten). Wird momentan nicht bei dem erstellen eines neuen Servers mit erstellt das muss ich nochma ändern :)

gruß

flom
05.03.2010, 13:14
mhh laut meiner Datenbank sollten schon 4 Dateien drin sein bzw mindestens 1 am Seeden und die Restlichen 3 am downloaden.
schau bitte mal ob da was in deinem File Ordner drin steht.

gruß

Ja, klappt jetzt :)

Suxxess
10.03.2010, 22:00
Naja ich meine eine Möglichkeit da selbst noch nachhelfen zu können.
Das Problem ist im Moment, dass er denkt dass 6 Dateien geshared werden.

Da aber zwischenzeitlich mein Speicherplatz erreicht war und ich so manuell welche löschen musste, ist die Seedliste wahrscheinlich nicht aktuell. :rolleyes:
Von den 6 habe ich also nur 3 davon im Seed. ( Die zuletzt hinzugefügten ) :)

mira
11.03.2010, 15:11
Naja ich meine eine Möglichkeit da selbst noch nachhelfen zu können.
Das Problem ist im Moment, dass er denkt dass 6 Dateien geshared werden.

Da aber zwischenzeitlich mein Speicherplatz erreicht war und ich so manuell welche löschen musste, ist die Seedliste wahrscheinlich nicht aktuell. :rolleyes:
Von den 6 habe ich also nur 3 davon im Seed. ( Die zuletzt hinzugefügten ) :)

Ok wenn ich das nächste mal wieder etwas Zeit habe bau ich da mal ein rotes X hinter die persönliche otrkey liste ;)

gruß

dmjr
11.03.2010, 18:29
Ich hab gerade versucht deine Seite zu nutzen.
Datei: Newton_10.03.11_13-15_3sat_25_TVOON_DE.mpg.avi.otrkey
Resultat ist, ich bekomme keinen Seed sonder ein weiterer Peer mit 0% ist aufgetaucht, laut Website wird schon geseedet.

mira
11.03.2010, 20:18
Danke für die Info. Ich weiß auch schon woran es liegt, das File lag nie auf meinem Server und dadurch konnte auch kein vollständiges File geseedet werden.

gruß

mira
13.03.2010, 21:45
[...]Kannst ja mal schauen was sich damit machen lässt. Also wenn du Zeit und Lust hast ;)

Jop, werd ich wenn ich mal wieder mehr Zeit machen, aber ich würde das dann wahrscheinlich so machen das ich die Dateien die auf dem jeweiligen Server(n) liegen in der DB speichere und dann, immer wenn eine neue Datei hinzukommt, nachgeschaut wird ob noch genug Speicherplatz vorhanden ist. So würde ich mir den umweg über den Client ersparen ;) Momentan werden die Dateien ja direkt gelöscht wenn sie aus dem Seed genommen werden.

gruß

mira
14.03.2010, 15:54
Das manuelle Löschen der Seeds vom eigenen Server sollte jetzt funktionieren. :)


gruß

mira
16.03.2010, 16:15
Hier nochmal überarbeitete Scripts das umbenennen der torrentdatei hat teilweise leider nicht so geklappt.
Es muss nur die t1.sh ausgetauscht werden.

gruß