Ma 1ère extension Firefox : Disable GeoIP Cookie

Comme je n’ai pas trouvé de solution par l’effacement de ce cookie de géolocalisation envoyé par Wikipédia à Firefox et comme tout le monde s’en fout, je me suis décidé à écrire une extension Firefox au nom de Disable GeoIP Cookie. Il ne m’a pas fallu bien longtemps pour le faire. Elle est actuellement en attente de validation.

L’extension

J’ai créé un répertoire dans lequel j’ai créé un fichier manifest.json, trois dossiers icons, content_scripts (non utilisé au final), background_scripts. Dans le dossier icons, j’ai mis deux images en 48×48 et en 96×96.

Le fichier manifest.json

C’est le fichier qui définit tous les éléments de l’extension.

{

  "manifest_version": 2,
  "name": "Disable GeoIP cookie",
  "version": "1.0",

  "description": "Disable GeoIP cookie",

  "icons": {
    "48": "icons/disable-geoip-cookie-48.png",
    "96": "icons/disable-geoip-cookie-96.png"
  },

  "permissions": [
    "activeTab",
    //"tabs",
    "cookies",
    //"",
    "*://*.wikipedia.org/*",
    "webRequest",
    "webNavigation",
    "storage",
    "webRequestBlocking"
  ],

  //"content_scripts": [
  //{
  //  "matches": ["*://*.wikipedia.org/*"],
  //  "js": ["disable-geoip-cookie.js"]
  //  }
  //],

  "background": {
    "scripts": ["background_scripts/disable-geoip-cookie.js"]
  },

  "applications": {
    "gecko": {
      "id": "dszalkowski@gmail.com"
    }
  }
}

Le code de l’extension

J’ai eu l’idée d’intercepter et de modifier la valeur de l’en-tête de réponse Set-Cookie envoyée par le site Wikipédia au navigateur Firefox.

var targetPage = "*://*.wikipedia.org/*";

function rewriteCookie(e) {
  e.responseHeaders.forEach(function(header){
    if (header.name.toLowerCase() == "set-cookie" && header.value.match(/GeoIP/)) {
      //console.log("back "+header.value);
      header.value = header.value.replace(/GeoIP=[^:]+:[^:]+:[^:]+:[^:]+:[^:]+:v4/,"GeoIP=:::::v4")
    }
  });
  return {responseHeaders: e.responseHeaders};
}

browser.webRequest.onHeadersReceived.addListener(
  rewriteCookie,
  {urls: [targetPage]},
  ["blocking", "responseHeaders"]
);

Tester le module

A partir de la barre d’adresses, tapez about:debugging#/runtime/this-firefox. Cliquez sur Charger un module complémentaire et sélectionnez votre fichier manifest.json. Vérifiez votre code en faisant Examiner.

Firefox > about > debugging > runtime > this-firefox

L’envoi du module

Vous devez zipper les fichiers et dossiers de l’extension cités ci-dessus. L’envoi du module se fait à partir du Centre développeur de modules. Le module Disable GeoIP Cookie est actuellement en cours de validation.

Ma 1ère extension Firefox : Disable GeoIP Cookie

Firefox Addons  / Extensions Firefox 

Commentaires

« comme tout le monde s’en fout »
hahaha et ça te pose pas question ?

Tu espères faire quoi en touchant à ce cookie ?
Explique nous ta démarche stp.

Non, tous le monde s’en fou pas mais pas forcement les connaissances pour…Merci pour ton travail

J’attends sa validation et l’installe.

Cela fonctionne (et ce depuis le site des modules officiel).
Il faut d’abord supprimer le-dit cookie.

Je pensait qu’il était utilisé pour vérifier les modifications de pages Wikipedia par des gens ou des organisations peu neutres.

@Alfred

La géolocalisation ne serait donc pas un problème en soi ? En fait, c’est un galop d’essai. J’ai bien d’autres idées.

Nos ip sont lues par tous les sites web qu’on consulte.
N’importe qui peut localiser une adresse ip sur une carte, il y a plein de sites qui fournissent ce service (tape ip location dans google).

Donc supprimer ce cookie ne sert… à rien.
Si tu veux cacher ta localisation passe par un proxy, un vpn ou tor.

@alfred

Il y a beaucoup d’informations conservées dans les cookies. C’était un galop d’essai.

Quant au VPN, pense bien à regarder tes certificats. ;+) Tu vas avoir des surprises.

Donc tu n’as toujours pas d’explication rationnelle à cette fixation que tu fais sur ce pauvre cookie.
Manque de sérieux un peu décevant pour le coup.

@Alfred

Tu commences à me gonfler.

@Denis

je te rejoins à 100% dans ta demarche de blocage des trackers, cookies et autres et plus globalement de la surveillance generalisée. Depuis bien des années maintenant, j’ai constaté l’augmentation de la technique du « phone home » de la plupart des logiciels installés que ce soit sur pc ou smartphone. Ce que les gens ne comprennent pas c’est que des qu’ils sont connectes a internet, c’est la porte ouverte. Le danger vient en effet desormais autant (et meme plus) du reseau local et des differents peripheriques qui y sont connectes que de ce qui essaye de rentrer depuis internet (le nat procurant une protection de fait dans ce sens). Chez moi, j’utilise un routeur linux et je bloque tout ce qui sort depuis mon lan, sauf certains service (mail par ex) et meme dans ce cas, je n’autorise que le passage des paquets que vers certaines ip (serveur smtp) et certains ports. Ceci n’est qu’un exemple, j’ai des regles bien plus poussées. Pour le web, j’utilise un proxy squid et firefox (car chrome est non seulement un cheval de troyes mais utilise par defaut le proxy systeme, ce qui n’a aucun interet). De ce fait, chez moi, seul firefox peut acceder au web (avec authentification sur le proxy) mais je peu laissé passer certaines ip ou applis au cas par cas. Ce systeme a prouvé son efficacité au fil des années et est de plus obligatoire pour moi de nos jours au vu de la quantité incroyable d’espions se trouvant dans la majorité des applications.

@François

J’utilise le pare-feu Windows sur chaque station. L’avantage est que je contrôle les process associés aux ports utilisés.

salut denis
en ajoutant « *.wikipedia.org/GeoIP » a cookiebro, cela me semble bien aussi ;)

@jp

Sans le cookie, je crois qu’on ne peut pas s’authentifier.

Laisser un commentaire

(requis)

(requis)