Où sont stockées les règles HTTPS Everywhere dans Google Chrome?

8

J'utilise Google Chrome sur Windows 7. J'ai installé l'extension HTTPS Everywhere et je souhaite ajouter ma propre règle personnalisée.

Selon ce document, il devrait être stocké dans un HTTPSEverywhereUserRulesrépertoire quelque part sur mon disque. Malheureusement, je ne le trouve pas.

Avez-vous une idée où chercher?

Jakub Šturc
la source

Réponses:

5

Les règles définies via l'interface utilisateur sont ajoutées au stockage local de l'extension: Local Storage/chrome-extension_gcbommkclmclpchllfjekcdonpmejbdp_0.localstoragedans le répertoire de votre profil Chrome¹. Il s'agit d'une base de données SQLite, si vous souhaitez la modifier manuellement.

Vous pouvez également définir des règles manuellement (grâce à MCL pour l'astuce). Les versions actuelles de Chrome refusent de charger une extension si elle a été modifiée, vous devez donc soit faire une copie de l'extension en dehors du répertoire de profil Chrome, soit mettre à jour la signature stockée de Chrome après avoir modifié l'extension.

Dans les deux cas, accédez au répertoire de l'extension, qui se trouve Extensions/gcbommkclmclpchllfjekcdonpmejbdp/2014.9.11_0dans le répertoire du profil Chrome¹ (remplacez-le 2014.9.11_0par la version que vous avez installée). Si vous choisissez de mettre à jour la signature, vous devrez modifier les fichiers _metadata/computed_hashes.jsonet _metadata/verified_contents.json; Je ne sais pas exactement ce que vous devez mettre à jour ni comment. Si vous choisissez de faire une copie, copiez le gcbommkclmclpchllfjekcdonpmejbdprépertoire en dehors de votre profil, désinstallez l'extension et faites glisser le répertoire contenant la copie externe sur la page Extensions dans Chrome.

Dans le répertoire d'extension, il existe un fichier appelé rules_list.jscontenant une référence à la bibliothèque d'ensemble de règles par défaut. Ajoutez le vôtre:

var rule_list = [
"rules/default.rulesets",
"rules/personal.rulesets",
];

Créez un fichier appelé personal.rulesetsdans le rulessous - répertoire. À partir de là, pour modifier les règles, éditez ce fichier. Le contenu de ce fichier devrait ressembler à ceci:

<rulesetlibrary>
<ruleset name="Example ruleset">
  <target host="*.example.com" />
  <target host="*.example.net" />
  <rule from="http:" to="https:" />
</ruleset>
</rulesetlibrary>

Chaque ensemble de règles peut être activé ou désactivé indépendamment via l'interface utilisateur.

Pour que HTTPS Everywhere recharge vos règles, accédez à la page Outils → Extensions. Décochez la case «Activé» à côté de «HTTPS Everywhere» et cochez-la.

Cliquez sur «page d'arrière-plan» dans le bloc «HTTPS Everywhere» et sélectionnez l'onglet «Console». Si vous voyez un message d'erreur en rouge, il y a eu une erreur dans vos règles; corrigez-le et réessayez. Sinon, vos règles fonctionnent.

¹ Le répertoire de profil Chrome par défaut est situé %LOCALAPPDATA%\Google\Chrome\User Data\Defaultsous Windows et ~/.config/google-chrome/Defaultsous Linux

Gilles 'SO- arrête d'être méchant'
la source
Uupon apportant la modification aux fichiers d'extension, les versions plus récentes de Chrome (la mienne a 41 ans) désactivent l'extension avec un message - "" Cette extension peut avoir été corrompue "et propose une option de réparation pour la télécharger / installer à nouveau ( support.google. com / chrome_webstore / answer / 187443? hl = en ).
Anand Bhat
@andy Oui, Google a ajouté une autre couche d'agacement. Vous devez déplacer l'extension en dehors du répertoire Chrome et l'installer à partir de là. J'ai mis à jour la réponse, merci de me le rappeler.
Gilles 'SO- arrête d'être méchant'
Existe-t-il un moyen d'ajouter des règles personnalisées via une interface graphique, quelque chose de similaire à <chrome: // net-internals / # hsts>?
Franklin Yu
@FranklinYu Oui, il y en a. Cliquez sur le bouton de cette extension. Le point de cette question était ce qui se passe sous cette interface.
Gilles 'SO- arrête d'être méchant'
@Gilles Merci. Je n'ai pas remarqué que le lien pour ajouter des règles personnalisées n'apparaît dans HTTPS pages, donc je dois créer la règle sur le site cible au lieu du site source ( ce qui fait réellement sens). Soit dit en passant, existe-t-il un moyen de répertorier (indexer) toutes les règles personnalisées ajoutées par ce lien "ajouter une règle personnalisée"? Et même pour changer / supprimer certaines règles?
Franklin Yu
2
  • Dans votre système d'exploitation, accédez au dossier dans lequel l'extension HTTPS Everywhere a été installée. Sous Windows, c'est
    %LOCALAPPDATA%\Google\Chrome\User Data\Default\Extensions\gcbommkclmclpchllfjekcdonpmejbdp\VERSION
    (remplacer VERSION, bien sûr).
  • Placez le ou les fichiers XML dans le rulessous - dossier.
  • Modifiez rule_list.js et ajoutez le ou les nouveaux fichiers à la liste, comme ceci ( THEFILE.xmlest le nouveau jeu de règles):

    var rule_list = ["rules/default.rulesets","rules/THEFILE.xml"];

  • Redémarrez Chrome.

Copié d' ici et légèrement modifié.

MCL
la source