Ayant passé bien 5 minutes sous Firefox 3.5.3 sur Linux / Open Suse pour réparamétrer les liens ed2k://, afin qu’un simple click sur ces liens déclenche le téléchargement distant MLDonkey, voici la marche à suivre.
1. Configuration FireFox.
Dans FireFox, taper about:config. Créer les nouvelles valeurs suivantes :
network.protocol-handler.app.ed2k : (chaîne de caractères), valeur “/usr/bin/ed2k”
network.protocol-handler.expose.ed2k : (booléan), valeur “true”
network.protocol-handler.external.e2dk : (booléan), valeur “true”
network.protocol-handler.warn-external.ed2k : (booléan), valeur “false”
Méthode alternative, ajouter ces lignes directement dans le fichier prefs.js (dans le répertoire du profile Firefox, ~/.mozilla/firefox/…) - attention dans ce cas à faire cette modification FireFox éteint :
user_pref(“network.protocol-handler.app.ed2k”, “/usr/bin/ed2k”);
user_pref(“network.protocol-handler.expose.ed2k”, true);
user_pref(“network.protocol-handler.external.e2dk”, true);
user_pref(“network.protocol-handler.warn-external.ed2k”, false);
2. Script de lancement de sancho.
Créer dans /usr/bin/ le fichier ed2k avec le contenu ci-dessous, et rendez ce fichier exécutable (chmod a+x /usr/bin/ed2k) :
#!/bin/sh
nohup /usr/bin/sancho -l $* > /dev/null 2>&1 &
N.B. : le chemin vers sancho est éventuellement à adapter.
Remarque 1 : lancement en nohup pour rendre la main immédiatement.
Remarque 2 : le paramètre -l est pour indiquer à sancho de prendre le lien fourni et de l’envoyer vers MLDonkey.
3. Forcer la prise en compte
C’est là où j’ai un peu galéré, les étapes ci-dessus ne suffisaient pas, il fallait réactiver la demande de sélection pour avoir le choix du protocole. Pour ce faire :
- Arrêter FireFox
- Dans le répertoire du profile FireFox (~/.mozilla/firefox/…), éditer le fichier mimeTypes.rdf et chercher les 2 lignes correspodant à :
<RDF:Description RDF:about="urn:scheme:handler:ed2k" NC:alwaysAsk="false">
- Remplacer le alwaysAsk=”false” par alwaysAsk=”true”
- Relancer FireFox, clicker sur un lien ed2k://, FireFox demande quel protocole choisir, le choisir dans la liste, et ensuite tout marche.
Les autres blocs de configuration dans ce fichier mimeTypes.rdf sont donc au final :
<RDF:Description RDF:about=”urn:handler:local:/usr/bin/ed2k”
NC:prettyName=”ed2k”
NC:path=”/usr/bin/ed2k” />
Puis :
Et :<RDF:Description RDF:about=”urn:scheme:handler:ed2k”
NC:alwaysAsk=”false”>
<NC:externalApplication RDF:resource=”urn:scheme:externalApplication:ed2k”/>
<NC:possibleApplication RDF:resource=”urn:handler:local:/usr/bin/ed2k”/>
</RDF:Description>
C’est pas fini … :<RDF:Description RDF:about=”urn:scheme:externalApplication:ed2k”
NC:prettyName=”ed2k”
NC:path=”/usr/bin/ed2k” />
Et enfin en complément de la balise root :<RDF:Description RDF:about=”urn:scheme:ed2k”
NC:value=”ed2k”>
<NC:handlerProp RDF:resource=”urn:scheme:handler:ed2k”/>
</RDF:Description>
<RDF:Seq RDF:about=”urn:schemes:root”>
<RDF:li RDF:resource=”urn:scheme:mailto”/>
<RDF:li RDF:resource=”urn:scheme:webcal”/>
<RDF:li RDF:resource=”urn:scheme:ed2k”/>
<RDF:li RDF:resource=”urn:scheme:irc”/>
<RDF:li RDF:resource=”urn:scheme:ircs”/>
</RDF:Seq>
Au final mon fichier a donc le contenu suivant : mimeTypes.rdf