Ed2k links handling-de

From AMule Project FAQ
Revision as of 17:28, 17 May 2009 by Myth (Talk | contribs | merge | delete)

Jump to: navigation, search

English | Deutsch | Nederlands | Korean | Español

Die Art wie aMule die ed2k-Links mit deinem favorisierten Browser handhabt, hängt davon ab, welchen Webbrowser du nutzt. Also ist hier eine Liste mit Mini-HowTos für jeden der populärsten Webbrowser. Beachte, dass überall in diesem Dokument /path/to/ed2k mit /usr/local/bin/ed2k, /usr/bin/ed2k, C:\Programme\aMule\ed2k.exe oder etwas anderem ersetzt werden sollte, je nachdem wie dein System konfiguriert ist.

Allgemein wird bei den meisten Linuxsystemen ein selbstkompiliertes aMule das ed2k Hilfsprogramm in /usr/local/bin/ed2k installieren, wohingegen bei einer Paketinstallation von aMule es nach /usr/bin/ed2k installiert wird. Als Ausnahme ist es bekannt, dass SuSe-Pakete es nach /usr/local/bin/ed2k installieren. Man kann unter Linux auch einfach which amule und which ed2k in die Konsole eingeben, um zu sehen, wo die selben liegen!

Internet Explorer

Gehe zu "Start" -> "Ausführen" und starte "regedit" (ohne Anführungszeichen).

Gehe nun im regedit zu HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ed2k\shell\open\command

Anmerkung: Es könnte passieren, dass ed2k und/oder seine Unterordner nicht existieren. Erstelle sie in diesem Fall einer nach dem anderen durch rechtsklicken "Neu" -> "Schlüssel" und der Eingabe von ed2k oder was auch immer der Wert ist.

http://www.amule.org/dev-up/ed2k-win1.jpg

Nun klicke einfach doppelt auf "(Standard)" (oder was auch immer der erste Wert dort ist) und gib den Pfad zur ed2k-Anwendung ein, gefolgt von "%1" (mit Anführungszeichen), so dass am Ende ein Wert wie C:\Programme\aMule2\ed2k "%1" vorhanden ist.

http://www.amule.org/dev-up/ed2k-win2.jpg

Mache das gleiche schlussendlich auch in HKEY_CLASSES_ROOT\ed2k\shell\open\command.

Konqueror

/usr/kde/3.1/share/services du kannst den richtigen Pfad bei dir finden, in dem du nach Namen die auf .protocol enden suchst. z.B. `find /usr -name "*.protocol"` oder `find /opt -name "*.protocol"` oder nimm / als Pfad, wenn du willst.

Wenn die Suche erfolgreich war, erstelle eine Datei namens ed2k.protocol im der angesprochenen Ordner:

[Protocol]
exec=/path/to/ed2k "%u"
protocol=ed2k
input=none
output=none
helper=true
listing=false
reading=false
writing=false
makedir=false
deleting=false

Nun starte Konqueror einfach neu.

Anmerkung: Du könntest eine Sicherheitswarnung erhalten. Keine Sorge, es ist nur eine Warnung, dass dein Link zu einer externen Anwendung gesendet wird.

Anmerkung 2: Wenn nach dem Klicken von OK Bei der Sicherheitswarnung der Link immer noch nicht zu aMule gesendet wird, klicke einfach mit rechts auf den ed2k-Link und befehle Konqueror es in einem neuen Tab/Fenster zu öffnen.

Galeon

Methode 1

Gehe im GNOME Control Center zu "Komplex" -> "Dateitypen und Programme" -> "Internetdienste" -> "Dienst hinzufügen...".

Gib ed2k in das Protokollfeld ein.

Gib ed2k %s in das Programmfeld ein.

Deselektiere "In Terminal ausführen." wenn es ausgewählt ist.

Klicke auf OK und es ist geschafft!

Methode 2

Führe die folgenden 3 Befehle aus um die entsprechenden gconf-Schlüssel zu erstellen:

  • gconftool-2 -t string -s /desktop/gnome/url-handlers/ed2k/command "/usr/local/bin/ed2k %s"
  • gconftool-2 -t bool -s /desktop/gnome/url-handlers/ed2k/enabled true
  • gconftool-2 -t bool -s /desktop/gnome/url-handlers/ed2k/needs_terminal false

Ersetze "/usr/local/bin/ed2k" oben mit dem Pfad und dem Namen der ed2k-Anwendung in deinem System.

Die Deinstallation ist ähnlich einfach:

  • gconftool-2 -u /desktop/gnome/url-handlers/ed2k --recursive-unset

Opera

Auf die saubere Art und Weise

Gehe in Opera zu Werkzeuge->Einstellungen->Pfade und Programme->Hinzufügen...

Gib im "Protokoll"-Feld ed2k ein.

Gib im "Pfad" oder "öffne mit anderer Anwendung"-Feld /path/to/ed2k ein.

http://www.amule.org/dev-up/ed2k-op.jpg

Auf die schmutzige Art und Weise

Wenn die obigen Anweisungen nicht funktioniert haben, kannst du versuchen /etc/opera6rc als root oder ~/.opera/opera6.ini als normaler Benutzer zu editieren und folgende Änderungen machen:

[User Prefs]
TrustedExternalURLProtocols=ed2k
[Trusted Applications]
ed2k=ed2k

Opera 6 Fehler

Opera 6 gibt keine kompletten URLs an externe Programme weiter, nur URLs ohne Protokoll. Die Art und Weise das zu Umgehen folgt.

Linux oder ein anderes Unix-ähnliches Betriebssystem

Erstelle die Datei amule_submit.sh mit diesem Inhalt:

#!/bin/sh
/path/to/ed2k "ed2k://$1"

Ändere nun in Werkzeuge->Einstellungen->Pfade und Programme->Hinzufügen... oder in der opera6rc Datei ed2k=/path/to/ed2k mit ed2k=/path/to/amule_submit.sh.

Windows

Erstelle die Datei amule_submit.bat mit diesem Inhalt:

X:\path\to\ed2k.exe "ed2k://%1"

Ändere ed2k=/path/to/ed2k ed2k://%u zu ed2k=X:\path\to\amule_submit.bat ed2k://%u

Mozilla 1.7 (oder neuer) & Firefox 0.9 (oder neuer)

Mozex funktioniert nicht mehr mit Mozilla 1.7 und Firefox 0.9. Es gibt eine alternative Methode, die mit beiden zu funktionieren scheint:

  • Entferne MozEx wenn es installiert ist oder entferne zumindestens die ed2k-Eingabe (nur wenn MozEx installiert ist.)
  • Füge about:config in der Adresszeile ein.
  • Klicke mit rechts auf die Liste, wähle Neu, dann Boolean; füge network.protocol-handler.external.ed2k als Einstellungsname und true als Wert ein.
  • Nun ein weiterer Rechtsklick, wähle Neu und String; füge network.protocol-handler.app.ed2k als Einstellungsname und /path/to/ed2k (Der Pfad wo die Datei auf dem System installiert ist.) als Wert ein.

http://www.amule.org/dev-up/ed2k-ff9.jpg

Anmerkung 1: Seit der Version 1.5.x von Mozilla Firefox funktioniert diese Methode nicht mehr für die Windowsversion. Du musst stattdessen die Internet Explorer-Methode mit den Registrierungseinträgen nutzen.

Firefox v0.8

Gehe zu MozExs Webseite und installiere die mozex-1.07.xpi-Datei.

Starte FireFox neu, gehe zu Bearbeiten -> Einstellungen -> Erweiterungen -> mozex -> Optionen -> ED2K und lege es als /path/to/ed2k %r fest.

Klicke auf OK und es ist geschafft.

http://www.amule.org/dev-up/ed2k-firefox.png

http://www.amule.org/dev-up/ed2k-mozex.png

Mozilla 1.3 bis 1.6 & Firebird v0.6

Gehe zu MozEx's Webseite und installiere die mozex-1.07.xpi-Datei.

Starte Mozilla/FireBird neu, gehe zu Bearbeiten -> Einstellungen -> mozex -> ED2K und lege es als /path/to/ed2k %r fest.

Klicke auf OK und es ist geschafft.

http://www.amule.org/dev-up/ed2k-moz.png

Mozilla 1.2.1 oder früher

1) Gehe zu Protozillas Webseite
Wähle die zu deiner Mozilla-Version passende Version aus und klicke auf Installieren. Es wird Protozilla automatisch installieren.
Schliesse nun Mozilla völlig.

Anmerkungen für Linux-Nutzer und Nutzer anderer Unix-artigen Systeme
- Du benötigst Schreibrechte für Mozillas Installationverzeichnis. Wenn du Mozilla nach /usr installiert hast, musst du wahrscheinlich root sein.
- Das Herunterladen der vorkompilierten Version von Protozilla funktioniert augenscheinlich nicht mit Debians Mozilla-Paketen. Es funktioniert beispielsweise mit der vorkompilierten Version 1.2.1, die auf Mozillas Webseite verfügbar ist. (Oder du kannst sowohl Mozilla als auch Protozilla selbst kompilieren).

2) Dieser Schritt ist nur nötig, wenn du Mozilla/FireBird/FireFox im ersten Schritt als root starten musstest.

Führe als root aus: cp -r /root/.mozilla/PROFILENAME/RANDOM.slt/protozilla/ /home/USERNAME/.mozilla/PROFILENAME2/RANDOM.slt/

Das kopiert die protozilla-Konfiguration von roots Homeverzeichnis zum Homeverzeichnis des Benutzers.

cd /home/USERNAME/.mozilla/PROFILENAME/RANDOM.slt/ chown -R DEIN_NUTZER.DEINE_GRUPPE protozilla

Das ändert die Datei-Eigentumsverhältnisparameter in den Benutzerdateien.

Anmerkungen:
USERNAME: Name des normalen, nicht-root Benutzers.
PROFILENAME: Name des Profiles, welches du nutzen möchtest.
RANDOM: Zufälliger alphanumerische Zeichenkette, automatisch von Mozilla generiert.
DEIN_NUTZER, DEINE_GRUPPE: Benutzer und Gruppe des normalen Benutzers.

3) Richte eine Protokollbehandlung für ed2k-Links ein:
cd ~/.mozilla/PROFILENAME/RANDOM.slt/protozilla/protocol

Erstelle eine Datei namens ed2k.cmd mit dem folgenden Inhalt:

ed2k ed2k:$URI_DATA

(Die Datei muss nicht ausführbar sein.).

Starte nun Mozilla neu.

Links

(Das wird wahrscheinlich auch für normale links und/oder elinks funktionieren.)

Füge folgendes der url.c nach den Zeilen über telnet und tn3270 hinzu:

 --snip
 {"ed2k", 0, NULL, ed2k_func, 0, 0, 0},
 --snap

Füge folgendes der links.h nach den Definitionen von /* mailto.c */ hinzu:

 --snip
 void ed2k_func(struct session *, unsigned char *);
 --snap

Füge folgendes der mailto.c am Ende hinzu:

 --snip
 void ed2k_func(struct session *ses, unsigned char *url)
 {
 tn_func(ses, url, options_get("network_program_ed2k"), TEXT(T_ED2K), TEXT(T_BAD_ED2K_URL));
 }
 --snap

Füge dieses der options_register.c nach telnet und tn3270 hinzu:

 --snip
 register_option_char("network_program_ed2k", TEXT(T_ED2K_PROG),NULL,2);
 --snap

Füge der intl/*.lng nach

 "T_TN3270_PROG": T_ED2K_PROG, "ed2k program", (oder was auch immer es in deiner Sprache ist), nach
 "T_TN3270": T_ED2K, "ed2k", und nach 
 "T_BAD_TN3270_URL": T_BAD_ED2K_URL (Ich denke du hast das Prinzip verstanden) hinzu.

Wenn du das ganze automatisieren willst, führe folgendes aus:

 cd intl
 for l in *.lng; do
   cp $l $l.bak
   cat $l.bak | sed -e "/T_TN3270_PROG*/aT_ED2K_PROG\, \"ed2k program\"\," \
    -e "/T_TN3270,\ */aT_ED2K\, \"ed2k\"\," \
    -e "/T_BAD_TN3270_URL*/aT_BAD_ED2K_URL\, \"Bad ed2k url\"\," > $l
 done
 

Wie auch immer, führe nachher bevor du links-hacked neu kompiliert folgendes aus:

 ./synclang
 cd ..

Nun kannst du kompilieren mit

 ./configure (füge deine bevorzugten Optionen hier ein) &&
 make &&
 make install

Weil links irgendwie die URLs verstümmelt, benötigen wir einen kleinen bash-Skript:

 cat > /usr/bin/ed2k4links.sh << "EOF"

 #!/bin/bash

 ed2k $(echo "ed2k://$1" | sed s/_/\|/g)
 EOF
 chmod a+x /usr/bin/ed2k4links.sh

Vergiss nicht links so einzurichten (Optionen->Netzwerkoptionen->Mail und Telnet Programme) unseren ed2k4links.sh-Skript für ed2k-Links aufzurufen:

 ed2k4links.sh %

Achtung: Das Prozentzeichen ist wichtig! Nun sollte links mit ed2k-Link arbeiten.

Fernverarbeitung von Links

Du kannst Links auch entfernt verarbeiten, was bedeutet, dass du einen ed2k-Link in einem Browser irgendwo in der Welt anklickst und es in die Warteschlange deines aMules zu Hause kommt.

Wie?

Einfach genug: mit Hilfe von aMuleCMD (Danke an djtm für diesen Tipp). Benutze anstelle des ed2k-Befehls, das folgende als zu benutzenden Befehl:

/path/to/amulecmd -rh $server -pw $pw -c "Add %u"

Offensichtlich musst du $server und $pw mit den Daten deines Servers IP (oder DNS) und deines Externe Verbindungs Passwort ersetzen.

Dieser Tipp ist erst ab aMule 2.0.0rc8 möglich.

Anmerkung 1: Mit Firefox ist es nicht möglich ein Programm mit Parametern zu starten. Eine einfache Lösung ist ein Shellskript mit dem oben beschriebenen Befehl. Du musst nur %u mit $1 ersetzen. Dieser Shellskript muss ausführbar sein (chmod +x ed2k.sh) und als externe ed2k-Anwendung in Firefox definiert sein.

Anmerkung 2: Wenn du einfache Werkzeuge bevorzugst, versuche dieses Shellskript (für Linux) - kann mit dem oben erwähnten Tipp verwendet werden:

#!/bin/bash
beep -f 100 -l 40 -r2
(sleep 1; echo dllink $1; sleep 2; echo q;) | nc IP PORT
beep -l 15 -r3

nc ist Netcat, aber du kannst auch Telnet nutzen (das ist ein wenig einfacher mit Cygwin), beep ist ein einfaches Programm zum 'Beepen'. IP und PORT sollten mit der IP Addresse und dem Port des entfernten Rechners ersetzt werden. Das war's.

Anmerkung: Ich habe die perfekte Art gefunden das zu tun.

Um Firefox ed2k-Links korrekt an aMule übergeben zu lassen, musst du ein paar einfachen Schritten folgen, um Firefox zu sagen, wie es ein neues externes Protokoll behandeln soll. Dies sollte den "ed2k ist kein registriertes Protokoll"-Fehler beseitigen, den du wahrscheinlich vorher hattest.

  • Gib about:config in die Adresszeile ein.
  • Klicke mit rechts auf die Liste, wähle Neu aus, dann Boolean; gib
 network.protocol-handler.external.ed2k als Einstellungsnamen und true als Wert ein.
  • Klicke nun mit rechts, wähle Neu und String aus; setze als Wert
network.protocol-handler.app.ed2k als Einstellungsnamen und /usr/bin/ed2k