¿Dónde se almacenan las reglas HTTPS Everywhere en Google Chrome?

8

Estoy usando Google Chrome en Windows 7. He instalado la extensión HTTPS Everywhere y quiero agregar mi propia regla personalizada.

De acuerdo con este documento , debe almacenarse en un HTTPSEverywhereUserRulesdirectorio en algún lugar de mi disco. Lamentablemente no puedo encontrarlo.

¿Tienes alguna idea de dónde buscar?

Jakub Šturc
fuente

Respuestas:

5

Las reglas definidas a través de la interfaz de usuario se agregan al almacenamiento local de la extensión: Local Storage/chrome-extension_gcbommkclmclpchllfjekcdonpmejbdp_0.localstorageen su directorio de perfil de Chrome¹. Esta es una base de datos SQLite, si desea editarla manualmente.

También puede definir reglas manualmente (gracias a MCL por la sugerencia). Las versiones actuales de Chrome se niegan a cargar una extensión si se ha modificado, por lo que debe hacer una copia de la extensión fuera del directorio del perfil de Chrome o actualizar la firma almacenada de Chrome después de modificar la extensión.

De cualquier manera, vaya al directorio de la extensión, que se encuentra Extensions/gcbommkclmclpchllfjekcdonpmejbdp/2014.9.11_0en el directorio del perfil de Chrome¹ (reemplácelo 2014.9.11_0por la versión que haya instalado). Si elige actualizar la firma, deberá modificar los archivos _metadata/computed_hashes.jsony _metadata/verified_contents.json; No sé qué necesitas actualizar exactamente ni cómo. Si elige hacer una copia, copie el gcbommkclmclpchllfjekcdonpmejbdpdirectorio fuera de su perfil, desinstale la extensión y arrastre y suelte el directorio que contiene la copia externa en la página Extensiones en Chrome.

En el directorio de extensiones, hay un archivo llamado que rules_list.jscontiene una referencia a la biblioteca de conjunto de reglas predeterminada. Agrega el tuyo:

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

Cree un archivo llamado personal.rulesetsen el rulessubdirectorio. A partir de ese momento, para modificar las reglas, edite ese archivo. El contenido de este archivo debería ser algo como esto:

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

Cada conjunto de reglas se puede habilitar o deshabilitar de forma independiente a través de la interfaz de usuario.

Para que HTTPS Everywhere vuelva a cargar sus reglas, vaya a la página Herramientas → Extensiones. Desmarca la casilla "Activado" junto a "HTTPS en todas partes" y vuelve a marcarlo.

Haga clic en "página de fondo" en el bloque "HTTPS en todas partes" y seleccione la pestaña "Consola". Si ve un mensaje de error en rojo, hubo un error en sus reglas; arréglalo e inténtalo de nuevo. De lo contrario, sus reglas están funcionando.

¹ El directorio predeterminado del perfil de Chrome se encuentra en %LOCALAPPDATA%\Google\Chrome\User Data\DefaultWindows y ~/.config/google-chrome/Defaulten Linux

Gilles 'SO- deja de ser malvado'
fuente
Al realizar el cambio a los archivos de extensión, las versiones más nuevas de Chrome (la mía es 41) deshabilitan la extensión con un mensaje: "" Esta extensión puede haberse dañado "y proporciona una opción de Reparación para descargarla / instalarla de nuevo ( support.google. com / chrome_webstore / answer / 187443? hl = es ).
Anand Bhat
@andy Sí, Google ha agregado otra capa de molestia. Debe mover la extensión fuera del directorio de Chrome e instalarla desde allí. He actualizado la respuesta, gracias por recordármelo.
Gilles 'SO- deja de ser malvado'
¿Hay alguna forma de agregar reglas personalizadas a través de una interfaz gráfica, algo similar a <chrome: // net-internals / # hsts>?
Franklin Yu
@FranklinYu Sí, lo hay. Haga clic en el botón para esta extensión. El punto de esta pregunta era qué sucede debajo de esa interfaz.
Gilles 'SO- deja de ser malvado'
@Gilles Gracias. No noté que el enlace para agregar reglas personalizadas solo aparece en las páginas HTTPS , por lo que necesito crear la regla en el sitio de destino en lugar del sitio de origen (lo que en realidad tiene sentido). Por cierto, ¿hay alguna forma de enumerar (indexar) todas las reglas personalizadas agregadas por ese enlace "agregar regla personalizada"? ¿E incluso para cambiar / eliminar algunas reglas?
Franklin Yu
2
  • En su sistema operativo, vaya a la carpeta donde se instaló la extensión HTTPS Everywhere. En Windows, eso es
    %LOCALAPPDATA%\Google\Chrome\User Data\Default\Extensions\gcbommkclmclpchllfjekcdonpmejbdp\VERSION
    (reemplazar VERSION, por supuesto).
  • Coloque los archivos XML en la rulessubcarpeta.
  • Edite rule_list.js y agregue los nuevos archivos a la lista, de esta manera ( THEFILE.xmles el nuevo conjunto de reglas):

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

  • Reinicia Chrome.

Copiado desde aquí y ligeramente alterado.

MCL
fuente