Ed2k links handling-de
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!
Contents
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
Firefox 2 und 3 (oder neuere Version)
Das ed2k Handling kann im Firefox auf 2 verschiedene Methoden konfiguriert werde: nur fuer den einen Benutzer, oder fuer alle Benutzer des Computers.
Konfiguration fuer einen Benutzer
- Schreibe about:config in die Adresszeile
- Rechtsklick auf die Liste, waehle Neu, dann Boolean; gebe network.protocol-handler.external.ed2k als Einstellungsname und true als Wert ein
- Ein zweiter rechtsklick, waehle Neu dann String; gebe network.protocol-handler.app.ed2k als Einstellungsname ein und /pfad/zu/ed2k (Pfad wo die Datei auf deinem System installiert ist) als Wert.
Fuer Firefox 3 und neuer sollte man auch:
- Rechtsklick auf die Liste, waehle Neu, dann Boolean; gebe network.protocol-handler.expose.ed2k als Einstellungsname und false als Wert ein
Danach, klicke auf einen ed2k Link, und Firefox sollte fragen mit welchem Programm man den Link oeffnen will. Waehle /usr/bin/ed2k und es sollte gehen.
Systemweite Konfiguration
- Mit Rootrechten, die Datei /usr/share/firefox/greprefs/all.js (oder /usr/local/share/firefox/greprefs/all.js) in einem Texteditor oeffnen
- Fuege am Ende der Datei folgende Zeilen hinzu:
// ED2K link handling pref("network.protocol-handler.external.ed2k", true); pref("network.protocol-handler.app.ed2k", "/path/to/ed2k");
Ersetze den "/path/to/ed2k" String mit dem Richtigen Pfad des Programms.
Fuer Firefox 3 und neuer sollte man auch:
- Fuege noch eine Zeile zur all.js Datei hinzu:
pref("network.protocol-handler.expose.ed2k", false);
Nach speichern der Einstellungen, Browser neustarten. Danach, klicke auf einen ed2k Link, und Firefox sollte fragen mit welchem Programm man den Link oeffnen will. Waehle /usr/bin/ed2k und es sollte gehen.
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