Onde as regras do HTTPS Everywhere estão armazenadas no Google Chrome?

8

Estou usando o Google Chrome no Windows 7. Instalei a extensão HTTPS Everywhere e quero adicionar minha própria regra personalizada.

De acordo com este documento, ele deve ser armazenado em um HTTPSEverywhereUserRulesdiretório em algum lugar do meu disco. Infelizmente não consigo encontrá-lo.

Você tem alguma ideia de onde procurar?

Jakub Šturc
fonte

Respostas:

5

As regras definidas pela interface do usuário são adicionadas ao armazenamento local da extensão: Local Storage/chrome-extension_gcbommkclmclpchllfjekcdonpmejbdp_0.localstorageno diretório de perfil do Chrome¹. Este é um banco de dados SQLite, se você quiser editá-lo manualmente.

Você também pode definir regras manualmente (obrigado ao MCL pela dica). As versões atuais do Chrome se recusam a carregar uma extensão, caso ela tenha sido modificada, portanto, é necessário fazer uma cópia da extensão fora do diretório de perfil do Chrome ou atualizar a assinatura armazenada do Chrome após modificar a extensão.

De qualquer forma, vá para o diretório da extensão, que está Extensions/gcbommkclmclpchllfjekcdonpmejbdp/2014.9.11_0no diretório de perfil do Chrome¹ (substitua 2014.9.11_0pela versão que você instalou). Se você optar por atualizar a assinatura, precisará modificar os arquivos _metadata/computed_hashes.jsone _metadata/verified_contents.json; Não sei exatamente o que você precisa atualizar ou como. Se você optar por fazer uma cópia, copie o gcbommkclmclpchllfjekcdonpmejbdpdiretório fora do seu perfil, desinstale a extensão e arraste e solte o diretório que contém a cópia externa na página Extensões no Chrome.

No diretório de extensão, há um arquivo chamado que rules_list.jscontém uma referência à biblioteca do conjunto de regras padrão. Adicione o seu:

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

Crie um arquivo chamado personal.rulesetsno rulessubdiretório. A partir de então, para modificar regras, edite esse arquivo. O conteúdo deste arquivo deve ser algo como isto:

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

Cada conjunto de regras pode ser ativado ou desativado independentemente por meio da interface do usuário.

Para fazer com que o HTTPS Everywhere recarregue suas regras, vá para a página Ferramentas → Extensões. Desmarque a caixa "Ativado" ao lado de "HTTPS em todos os lugares" e marque-o novamente.

Clique em "página de plano de fundo" no bloco "HTTPS em todos os lugares" e selecione a guia "Console". Se você vir uma mensagem de erro em vermelho, houve um erro nas suas regras; corrija-o e tente novamente. Caso contrário, suas regras estão funcionando.

¹ O diretório perfil Chrome padrão está localizado na %LOCALAPPDATA%\Google\Chrome\User Data\Defaultno Windows e ~/.config/google-chrome/Defaultno Linux

Gilles 'SO- parar de ser mau'
fonte
Ao fazer a alteração nos arquivos de extensão, as versões mais recentes do Chrome (a minha é 41) desabilitam a extensão com uma mensagem - "" Esta extensão pode estar corrompida "e fornece uma opção de Reparo para fazer o download / instalar novamente ( support.google. com / chrome_webstore / answer / 187443? hl = pt-BR ).
Anand Bhat #
@andy Sim, o Google adicionou outra camada de aborrecimento. Você precisa mover a extensão para fora do diretório do Chrome e instalá-la a partir daí. Atualizei a resposta, obrigado por me lembrar.
Gilles 'SO- stop be evil'
Existe alguma maneira de adicionar regras personalizadas através de alguma interface gráfica, algo semelhante ao <chrome: // net-internals / # hsts>?
Franklin Yu
@FranklinYu Sim, existe. Clique no botão para esta extensão. O ponto desta pergunta foi o que acontece abaixo dessa interface.
Gilles 'SO- stop be evil'
@Gilles Obrigado. Eu não percebi que o link para adicionar regras personalizadas aparece nas páginas HTTPS ; portanto, preciso criar a regra no site de destino em vez do site de origem (o que realmente faz sentido). A propósito, existe alguma maneira de listar (indexar) todas as regras personalizadas adicionadas pelo link "adicionar regra personalizada"? E mesmo para alterar / excluir algumas regras?
Franklin Yu
2
  • No seu sistema operacional, vá para a pasta em que a extensão HTTPS Everywhere foi instalada. No Windows, é isso
    %LOCALAPPDATA%\Google\Chrome\User Data\Default\Extensions\gcbommkclmclpchllfjekcdonpmejbdp\VERSION
    (substitua VERSION, é claro).
  • Coloque o (s) arquivo (s) XML na rulessubpasta.
  • Edite rule_list.js e adicione o (s) novo (s) arquivo (s) à lista, assim (este THEFILE.xmlé o novo conjunto de regras):

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

  • Reinicie o Chrome.

Copiado daqui e ligeiramente alterado.

MCL
fonte