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 :

  <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>

Et :

   <RDF:Description RDF:about=”urn:scheme:externalApplication:ed2k”
                    NC:prettyName=”ed2k”
                    NC:path=”/usr/bin/ed2k” />

C’est pas fini … :

  <RDF:Description RDF:about=”urn:scheme:ed2k”
                   NC:value=”ed2k”>
    <NC:handlerProp RDF:resource=”urn:scheme:handler:ed2k”/>
  </RDF:Description>

Et enfin en complément de la balise root :

   <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

Liens.

Liens : MLDonkey, Sancho.