Posso configurar o Chromium ou Firefox para permitir extensões em qualquer lugar?

Posso configurar o Chromium ou Firefox para permitir extensões em qualquer lugar?

Quero poder usar extensões como vimium e um inversor de cores em todas as páginas, incluindo os integrados como chrome://settingsou about:newtab.

Nem o Firefox nem o Chromium permitem que extensões modifiquem páginas internas.

Esse comportamento pode ser mudado? Não gosto de nenhum dos navegadores em particular, só preciso que ele funcione em um deles. Fico feliz em mexer nas fontes e recompilar, se necessário.

Responder1

WebExtensions não podem modificar about:páginas chrome://, portanto, o comportamento mencionado não pode ser alterado. Esta é a única API de extensões suportada pelo Firefox e pelo Chrome, já que o primeiro abandonou o suporte para extensões XUL.

As extensões podem injetar scripts de conteúdo em guias que correspondam a padrões de URL ou guias específicas por meio de arquivos tabs.executeScript(). Ambos os métodos adotam um "padrão de correspondência" para a página de destino que começa com <scheme>o qual deve ser http[s], file, ftp, ou app(para Firefox), portanto, qualquer acesso a chrome://ou about:URLs é impossível. A API de injeção CSS tabs.insertCSS()também usa o padrão de correspondência e não pode ser usada para modificar páginas protegidas.

As extensões também podem ter scripts em segundo plano que não têm acesso a páginas da web e devem modificá-las indiretamente por meio de scripts de conteúdo, portanto, estão sujeitas às mesmas restrições.

Como o código-fonte do Firefox e do Chromium está disponível, você certamente pode fazer as alterações necessárias para conceder permissões extras às extensões, mas não há algo tão simples quanto uma mudança em tempo de compilação.

Os atalhos de teclado registrados por meio de um script em segundo plano são eficazes em todas as páginas, mas a API necessária para combinações de teclas verdadeiramente arbitrárias não existe no momento. Se você estiver estilizando o Firefox, poderá afetar about:as páginas com userChrome.cssmodificações.

https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Content_scripts https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Match_patterns https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/Tabs/executeScript https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/tabs/insertCSS https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts

informação relacionada