webtransmission modded by Coolphoenix & Mulder (BitTorrent client für FritzBoxen)

edit: War mit meiner Antwort etwas spät dran
 
Der einzige Bua und des an Depp ...

Den Schritt hab ich vergessen weil er noch im anderen Thread stand. Ich probiers nochmal.

Hab die beiden Schritte ausgeführt, aber jetzt kommt folgendes:

jars@jars-desktop:~/freetz-trunk$ make menuconfig
ERROR: The program g++ was not found in path.
WARNING: The program bison was not found in path.
WARNING: The program flex was not found in path.
WARNING: The program jam was not found in path.
ERROR: The header file ncurses.h was not found in /usr/(local/)include.
ERROR: The header file zlib.h was not found in /usr/(local/)include.
Makefile:95: *** Some build prerequisites are missing! Please install the missing packages before trying again. Schluss.
jars@jars-desktop:~/freetz-trunk$
 
sudo apt-get install g++ bison flex jam libncurses libz
 
@mulder

Code:
jars@jars-desktop:~$ sudo apt-get install g++ bison flex jam libncurses libz
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut       
Reading state information... Fertig
E: Konnte Paket libncurses nicht finden
jars@jars-desktop:~$
 
das hat hier irgendwie nur indirekt mit webtransmission zu tun und ist etwas ot oder?

wie man freetz installiert (inklusive der benötigten pakete wie z.b. libncurses5-dev) steht dort: http://trac.freetz.org/wiki/help/howtos/common/install

ansonsten bei problemen mit freetz: freetz-forum!

wenn natürlich das kompilieren von webtransmission nicht klappt, dann gerne hier weiter...
 
[Edit frank_m24: Sinnfreies Vollzitat vom Beitrag direkt darüber gelöscht. Lies noch mal die Forumregeln.]

Entschuldigung, ich bin etwas abgeschweift.

Ich hab jetzt eine lauffähige Umgebung und mal ein erstes Freetz image erstellt. Was muss ich denn mit dem transmission machen? Muß ich das package auswählen und dann ist es schon im image drin? Bisher wars doch so das ich es separat auf USB hatte und es auch von dort laufen hab lassen, also nicht mit Freetz image, oder?
 
Hi,

es wird derzeit daran gearbeitet, das Clutch-Webinterface in freetz zu integrieren (hier).

Wo liegt der Mehrwert mit webtransmission? Sorry, dass ich so blöd frag, aber es gibt halt auch ein Ticket, um webtransmission zu integrieren, und ich frag mich, ob das wirklich notwendig ist.

Beste Grüße,
Whoopie
 
ohne webtransmission kann man transmission nicht wirklich gut bedienen. ob es nun überhaupt nötig ist die kompletten dateien einzubauen ist ne andere frage. an sich bräuchte man nur die dateien einbauen, die bei der installation auf dem stick nicht dabei sind.
eventuell läufts aber stabiler oder schneller, wenn man es nicht vom stick, sondern aus dem flash laufen lassen kann.
 
webtransmission ist nicht nur ein webinterface, sondern eine komplette applikation. d.h., es ist nicht "nur" ein webinterface für transmission, sondern eine torrent-applikation die auf libtransmission basiert - also sozusagen daemon und webinterface (client) in einem.

ich würde sagen, es zur zeit ist einfach eine alternative (inwiefern es mehr features als clutch hat, weiß ich nicht - habe ich noch nicht benutzt :)). falls es in freetz aufgenommen wird, dann könnte man es in diesem sinne weiter entwickeln - sodass es sich gut in das layout einreiht, mit freetz zusammenspielt, usw. - es wäre halt in kompletter hand von uns und müsste nicht mit patches bei jeder neuen version mit freetz am laufen gehalten/gefixt werden.

das einzige problem zur zeit ist: zu wenig entwickler. ich komme kaum noch dazu, es weiterzuentwickeln - ne integration in freetz könnte ich auch vornehmen, nur ein zeitfenster kann ich bei weitem nicht nennen (vllt morgen, vllt in einem monat). aber ich denke ich setze mich mal daran - sodass man das teil einfach bauen kann, ohne 100 schritten in der readme zu folgen. ursprünglich wollte ich damit eigentlich nur C lernen (was ja irgendwie geklappt hat - habe ohne vorkenntnisse damit angefangen), dass es soweit wie jetzt gekommen ist, hätte ich nicht gedacht :)

erm soll also heißen: ich setz mich mal an die integration. und wenn es keiner will, dann benutz ich es halt für mich ;)
 
Da ich mir kürzlich Clutch angesehen habe, kann ich den Unterschied zwischen Webtransmission und Clutch ganz gut einschätzen.

Clutch bietet mehr oder weniger nur eine Weboberfläche zur Starten und Stoppen von Torrents und zeigt den aktuellen Status an. Das ganze verwendet inzwischen einen im Transmission-Daemon integrierten Webserver mit einem eigenen Port. Optisch sieht es schöner aus, als Webtransmission, bietet aber weniger Funktionalität. Wenn ein Torrent aus mehreren Dateien besteht, können diese nicht separat behandelt werden.

Webtransmission läuft sowohl mit dem AVM Webserver, als auch mit dem Freetz Webserver. Demzufolge läßt es sich auch einfach über das AVM Fernwartungsinterface bedienen. Im Gegensatz zu Clutch können einzelne Dateien eines Torrents behandelt werden. Außerdem bietet Webtransmission eine Funktionalität zum Queuen von Torrents, so dass z.B. immer gleichzeitig 2 Torrents aktiv sein können und wenn einer fertig ist, der nächste automatisch aktiviert werden kann. Im Gegensatz können Torrents erneut geöffnet werden, nachdem sie in der Weboberfläche geschlossen wurden. Dabei ist keine erneute Haschprüfung erforderlich. In der Weboberfläche von Webtransmission sind aufgrund des Designs mehr Torrents gleichzeitig darstellbar.

Viele Grüße.
M.
 
Möchte mich an die Webtransmission-Entwickler wenden und auch etwas zum Thema sagen. Das, was ich hier veröffentlicht habe, soll keineswegs als Konkurrenz zu Webtransmission betrachtet werden :)

Der einzige Grund, warum ich mir Clutch überhaupt angesehen habe, ist die Tatsache, dass, als ich mich nach einem Webinterface umgeschaut habe (so um August/September rum), die Webtransmission-Website nicht funktioniert hat bzw. kein Checkout möglich war. Als sie dann lief, hat man sich um die Funktionalität gekümmert (was an sich nicht schlecht ist), um die User, die ihre Box nicht freetzen möchten usw., eine Integration war aber nicht wirklich in Sicht. Die Integration des offiziellen Webinterfaces erschien mir schlicht und ergreifend einfacher, was sich auch bestätigt hat, da ich das Ganze in Prinzip in 1,5 Tagen geschafft habe, wobei die meiste Zeit drauf ging, es mit dem 1.4x-Branch zum Laufen (letztenendes nicht) zu kriegen.

Ein weiterer Punkt, warum ich mich fürs offzielle Webinterface entschieden habe, war der (jetzt kommt ein wenig Kritik an Webtransmission), dass ich mir Euren Code angeschaut habe und dabei etwas überrascht war, dass Ihr Eure Zeit teilweise in die Sachen investiert, die es eigentlich schon gibt. Sprich einen Fork betreibt, anstatt nur den Mehrwert von Webtransmission in den Upstream einfließen zu lassen. Ich spreche da in erster Linie von Eurem Daemon (transmissiond.c). Im Prinzip ist es ja der gleiche Daemon wie der offizielle, auch mit einer "RPC"-Sprache, bloß mit eigener :) Der Mehrwert besteht meiner Meinung nach
  • in der Möglichkeit die Anzahl aktiver Torrents zu begrenzen und wenn einer davon fertig ist, einen weiteren automatisch starten zu lassen;
  • einzelne Dateien eines Torrents herunterladen zu lassen;
  • (die bei Euch vorhandene Priorisierung von Torrents ist in dieser Version von Clutch auch vorhanden).
Das alles kann man bestimmt in Upstream einfließen lassen -> den eigenenen Daemon, eigene RPC-Sprache, die Parserei davon kann man sich komplett sparen. Übers Webinterface kann man sich auch streiten, mir persönlich erscheint das offizielle einfach schöner. Das Fehlen der Möglichkeit, das offizielle Webinterface über AVM-Fernwartung anzusprechen, kann man meiner Meinung nach auch verkraften, denn es gibt ja stunnel.

Mit anderen Worten, überlegt es Euch, ob es nicht besser wäre, den Upstream mitzuentwickeln, anstatt den Fork zu pflegen (oder überzeugt mich vom Gegenteil :)). Ich könnte Euch gelegentlich (bin leider kein Student mehr) helfen :)
 
Hi!

Habe heute mal die aktuellste Version aus dem ersten Beitrag ausprobiert, funktioniert soweit ganz gut, außer das auf der Hauptseite die Links nicht funktionieren.

Beispiel: http://fritz.box/cgi-bin/transmissiondcgi funktioniert, sobald ich dann
aber auf ADD-Torrent klicke steht in der Adresszeile

http://fritz.box/cgi-bin/${CGI} usw.

ersetze ich ${CGI} durch transmissiondcgi, dann gehen die Links.

Auch sonst gehen alle Links außer die im hauptfenster ganz unten...

Weiß jemand Rat?

mfg
eMd
 
@er13

schon klar dass du nicht "böses" wolltest ;)

ich habe mal ein bisschen den code des daemons von transmission studiert - und der kann ja im prinzip kaum was. nun ist es natürlich die frage, falls man dort weiterentwickeln würde, wo denn die neuen features hin sollen - direkt nach libtransmission oder in den daemon? denn zur zeit sieht es für mich bei dem daemon einfach nur danach aus, einen prozess von libtransmission zu forken - dieser wird dann per rpc-server (client muss aktiv was senden) kontrolliert und fertig. das geht ja etwas mit dem auseinander, was in webtransmission passiert ist, nämlich ein aktives programm im hintergrund, das kontinuierlich den status mittels (hauptsächlich) libtransmission-aufrufen überwacht und änderungen durchführt, wenn nötig.

man müsste mal fragen, wie das von den transmission-entwicklern gewollt ist. aber da es ja z.b. sowas wie automatischen stop bei erreichter ratio auch nicht gibt (was an sich einfach zu implementieren ist), sollte soetwas sicherlich in den daemon - nur müsste man sich dann was überlegen, wie man mittels rpc-server von libtransmission sachen an den daemon weiterleitet und evtl. auch zurück (falls es nicht schon irgendwie geht, so weit bin ich da noch nicht durchgestiegen) - denn der rpc-server ist im prinzip ne feine sache, jetzt wo ich endlich verstanden habe, wozu der gut ist ;)

sollte das ganze direkt in libtransmission rein, entfiele natürlich die sache mit dem rcp-server-durchschleifen - nur müsste ich mich dann ordentlich in die internals von libtransmission einarbeiten, was sicherlich nicht so einfach ist - und man könnte auch mehr kaputt machen ;)

falls es möglich ist, im daemon rpc-aufrufe zu verarbeiten, könnte man ganz einfach die neuen funktionen in den daemon von transmission implementieren und die dann mittels des neuen webinterfaces kontrollieren. man müsste sich dann "nur" in das neue webinterface einarbeiten (abgesehen von den rpc-aufrufen) - das wäre im prinzip das, was ich am besten fände.

ansonsten bestünde noch die möglichkeit, das webinterface von webtransmission auf den rpc-server umzustellen - damit fiele der großteil des unnötigen krames mit den sockets heraus, wie du sagst, und am ende hätte man einen daemon, der wirklich nur die routinen im hintergrund abfährt und libtransmission per interner aufrufe kontrolliert und ein webinterface, das libtransmission direkt per dessen rpc-server ohne umweg über den daemon kontrolliert (und nur im allernötigsten fall auf den socket zurückgreift, um sachen an den daemon zu senden, wie z.b. nach welcher ratio ein torrent gestoppt werden soll).

dann zumindest hätte man mal eine übersicht, und könnte evtl. besser entscheiden: direkt in libtransmission oder doch lieber die möglichkeit, den daemon per rpc-server in libtransmission zu kontrollieren, einbauen und dann den rest im daemon.

also wie ihr seht: ich bin grad noch am rumüberlegen, aber im prinzip bin ich "bereit für neues" ;) nur leider geht das nicht von heute auf morgen...

@eMd

sehr komischer fehler. dürfte so eigentlich nicht vorkommen. ehrlich gesagt weiß ich nicht, was da schief laufen könnte. steht evtl. etwas im webtransmission.log (mit debuglevel -v3)?

moment mal - hauptfenster ganz unten? sicher, dass du die neuste version hast (Webtransmission 1.42-v2.3b-svn101 ( 27.12.2008 ))?
 
Zuletzt bearbeitet:
ja, sind auch unterstrichene textlinks, und mir ist eben aufgefallen, das oben über der tabelle Template not found! steht.

edit:
nach einem restart der box funktioniert jetzt alles, waren noch die alten links über uralt webtransmission im system, nun geht alles einwandfrei ^^

trotzdem danke für die hilfe


mfg
eMd
 
Zuletzt bearbeitet:
/var/media/ftp/uStor05/web # ./rc.webtransmission start
-sh: ./rc.webtransmission: Permission denied

und was kann ich nun dagegen tun? als root bin ich ja eingeloggt
fb7170 Firmware-Version 29.04.59freetz-1.1-stable-2972
und

Webtransmission 1.42-v2.3b-svn101 ( 27.12.2008 )
 
chmod 755 rc.webtransmission

wenns dann noch nicht gehen sollte,Rechte mal auf 777
 
danke hat geklappt, leider seh ich das webinterface nicht bzw nur irgendwelche hyroglyphen wenn ich http://fritz.box/cgi-bin/transmissiondcgi starte und kurz danach kommt der 404 not found error, was hab ich nun wieder falsch gemacht? sieht mir irgendwie nach nem interpretierungsfehler aus (einfach mal aus meiner unwissenheit heraus gesagt)

gestartet scheint es zu haben laut dem prompt den ich angehängt habe
Code:
/var/media/ftp/uStor05/web # chmod 755 rc.webtransmission
/var/media/ftp/uStor05/web # ./rc.webtransmission start
Starting webtransmission...
Jan 10 12:03:13 ctlmgr[993]: stopped.
Webtransmission started.
/var/media/ftp/uStor05/web # Jan 10 12:03:17 ctlmgr[1006]: process priority is 1                  9
Jan 10 12:03:17 ctlmgr[1014]: [main.c:821] **** cwd -> {/}
Jan 10 12:03:17 ctlmgr[1014]: FactoryDefault=/etc/default/1und1/user.cfg (user)
Jan 10 12:03:17 ctlmgr[1014]: load_config(user): factory default loaded
Jan 10 12:03:17 ctlmgr[1014]: FactoryDefault=/etc/default/1und1/tr069.cfg (tr069                  )
Jan 10 12:03:17 ctlmgr[1014]: load_config(tr069): factory default loaded
Jan 10 12:03:18 ctlmgr[1014]: dlopen(/usr/share/ctlmgr/libdect.so) failed: File                   not found
Jan 10 12:03:18 ctlmgr[1014]: VPNConn_Register called...
Jan 10 12:03:18 ctlmgr[1014]: internal vcc:
Jan 10 12:03:18 ctlmgr[1014]:   name=voip vpi=1 vci=32 encap=4 sep_config=0 vcc=                  0x2aab67c0
Jan 10 12:03:18 ctlmgr[1014]:   name=internet vpi=1 vci=32 encap=4 sep_config=0                   vcc=0x2aab67c0
Jan 10 12:03:18 ctlmgr[1014]: AVM_TIATM_IOCTL_DSLPARAMS_GET failed ret=-1
[00133599]DSP: XDU=0( ) OVR=0 MIPS_OVR=1
Jan 10 12:03:18 ctlmgr[1014]: mapping to info-LED already exist
Jan 10 12:03:18 ctlmgr[1014]: box init ok
Jan 10 12:03:18 ctlmgr[1014]: ipmasqfwruleex_parse ret=0 'tcp 0.0.0.0:8089 0.0.0                  .0:8089'
Jan 10 12:03:18 ctlmgr[1014]: forwardrules: internal rule
Jan 10 12:03:18 ctlmgr[1014]: ipmasqfwruleex_parse ret=0 'udp 0.0.0.0:5060 0.0.0                  .0:5060'
Jan 10 12:03:18 ctlmgr[1014]: forwardrules: internal rule
Jan 10 12:03:18 ctlmgr[1014]: ipmasqfwruleex_parse ret=0 'tcp 0.0.0.0:5060 0.0.0                  .0:5060'
Jan 10 12:03:18 ctlmgr[1014]: forwardrules: internal rule
Jan 10 12:03:18 ctlmgr[1014]: ipmasqfwruleex_parse ret=0 'udp 0.0.0.0:7078+32 0.                  0.0.0:7078'
Jan 10 12:03:18 ctlmgr[1014]: forwardrules: internal rule
Jan 10 12:03:18 ctlmgr[1014]: next auto check for firmware updates sheduled in 1                  53431 seconds (2009-01-12 06:40:29)
Jan 10 12:03:18 ctlmgr[1014]: sipextra my_init
Jan 10 12:03:19 ctlmgr[1014]: capiotcp My_Init
Jan 10 12:03:19 ctlmgr[1014]: FactoryDefault=/etc/default/1und1/vpn.cfg (vpn)
Jan 10 12:03:19 ctlmgr[1014]: load_config(vpn): factory default loaded
Jan 10 12:03:19 ctlmgr[1014]: VPNConn_Register called...
Jan 10 12:03:19 ctlmgr[1014]: VPNConn_Init called...
Jan 10 12:03:19 ctlmgr[1014]: /dev/avm_power <-- MODE=ata
Jan 10 12:03:19 ctlmgr[1014]: WAN (ata) led value = 1
Jan 10 12:03:19 ctlmgr[1014]: [../webserver/webserver.c:583] Initialisation of w                  ebserver configuration
Jan 10 12:03:19 ctlmgr[1014]: symbol TI_Interpreter_LookupDBField not found
Jan 10 12:03:19 ctlmgr[1014]: startup (Jun 27 2008 18:17:31)
Jan 10 12:03:19 ctlmgr[1014]: [main.c:1163] *** WEBSERVER started successfully
Jan 10 12:03:19 ctlmgr[1014]: verbose: DISABLED
Jan 10 12:03:23 usermand[482]: load_config(user): factory default loaded
 
Zuletzt bearbeitet von einem Moderator:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.