Rutorrent, Batch-Export von Torrent-Dateien nach Label

1373
Hayden Thring

Ich wollte von Rutorrent / Flutorrent zu Sintflut übergehen, aber alle meine Torrent-Beschriftungen beibehalten. So habe ich es mir vorgenommen, indem ich einige der Rutorrents-PHP-Dateien modifizierte und einige benutzerdefinierte Javascript verwendete.

-1

1 Antwort auf die Frage

-1
Hayden Thring

Diese Lösung verwendet das mit Rutorrent gepackte "Source" -Plugin.

Zuerst habe ich das Standardverhalten von rutorrent geändert, um ein .torrent in einem angegebenen Verzeichnis zu speichern, anstatt es im Browser zum Herunterladen anzubieten: (Ersetzen Sie "/ media / sdf1 / home / torrents /" durch den absoluten Pfad zu einem Verzeichnis, das Sie haben erstellt, um die .torrent-Dateien in

/rutorrent/php/Torrent.php

public function send( $filename = null )  { if(is_null( $filename )) $filename = $this->info['name'].'.torrent'; if(isset($_SERVER['HTTP_USER_AGENT']) && strstr($_SERVER['HTTP_USER_AGENT'],'MSIE')) $filename = rawurlencode($filename); //header( 'Content-Disposition: attachment; filename="'.$filename.'"' ); //cachedEcho( $this->__toString(), 'application/x-bittorrent', true ); $fp = fopen("/media/sdf1/home/torrents/".$filename, 'w'); fwrite($fp, $this->__toString()); fclose($fp); } 

Dann ist dieses Bit optional, es wird nur verhindert, dass ein Fehler ausgegeben wird, wenn die send-send-Funktion nichts zurückgibt, obwohl es noch funktioniert.

/rutorrent/plugins/source/action.php

if(isset($_REQUEST['hash'])) { $torrent = rTorrent::getSource($_REQUEST['hash']); if($torrent) $torrent->send(); } //header("HTTP/1.0 302 Moved Temporarily"); //header("Location: ".$_SERVER['PHP_SELF'].'?result=0'); 

Jetzt das eigentliche Skript in Javascript durchläuft die sichtbare Liste der Torrents in Rutorrent. Klicken Sie also auf das gewünschte Label, und führen Sie diesen Code aus, entweder in einer JS-Datei oder über die Firebug-JS-Konsole. Beachten Sie, dass nur die Torrents "oberhalb der Falz" sichtbar sind, und Sie müssen nach unten scrollen und erneut für alle Torrents "Seiten" ausführen, die nicht in einer Bildschirmhöhe sichtbar sind. Wenn Sie jedoch die Bildschirmgröße und die Fensterabmessungen maximieren, können Sie dies tun Holen Sie sich so viele wie möglich. (Mach dir keine Sorgen, wenn es verdoppelt wird, es hat keine Auswirkungen auf die Dinge)

//can only do visible torrents, so have to scroll and execute again   var torrents = new Array();  $("#List .stable-body tr").each(function(i){  torrents[i] = $( this ).attr("id");  })  var count = torrents.length; var i = 0; console.log( torrents );  function request(torrent){  if(i == count){ console.log( i+'/'+count ); console.log( "DONE" ); return; } $.get( "plugins/source/action.php", { hash: torrent}, function( data ) { i++;  request(torrents[i]); }); console.log( i+'/'+count ); }  request(torrents[0]); 

Jetzt befinden sich die .torrent-Dateien für diese Ansicht im angegebenen Ordner. Verschieben Sie sie, fügen Sie sie hinzu, beschriften Sie sie und wiederholen Sie den Vorgang für andere Ansichten / Beschriftungen.