Greasemonkey - Greasemonkey

Greasemonkey
Greasemonkey.svg
Autor (es) original (is) Aaron Boodman
Desenvolvedor (s) Anthony Lieuallen, Johan Sundström, mais 13
lançamento inicial 28 de março de 2005 ; 16 anos atrás  ( 2005-03-28 )
Versão estável
4.11 / 27 de janeiro de 2021 ; 3 meses atrás  ( 2021-01-27 )
Repositório Edite isso no Wikidata
Escrito em JavaScript , XUL , CSS
Sistema operacional Plataforma cruzada
Disponível em inglês
Modelo Extensão Mozilla
Licença Licença MIT
Local na rede Internet www .greasespot .net

Greasemonkey é um gerenciador de userscript disponibilizado como uma extensão do Mozilla Firefox . Ele permite que os usuários instalem scripts que fazem alterações dinâmicas no conteúdo da página da web antes ou depois de a página ser carregada no navegador (também conhecido como navegação aumentada ).

As alterações feitas nas páginas da web são executadas toda vez que a página é visualizada, tornando-as efetivamente permanentes para o usuário que executa o script.

O Greasemonkey pode ser usado para personalizar a aparência da página, adicionar novas funções às páginas da web (por exemplo, incorporar comparações de preços em sites de compras), corrigir bugs de renderização, combinar dados de várias páginas da web e vários outros propósitos.

História

O projeto Greasemonkey começou em 28 de novembro de 2004, escrito por Aaron Boodman. Boodman se inspirou para escrever o Greasemonkey depois de olhar para uma extensão do Firefox projetada para limpar a interface do AllMusic , escrita por Adrian Holovaty , que mais tarde se tornou um desenvolvedor de userscript. Em maio de 2005, havia aproximadamente 60 scripts de usuário gerais e 115 scripts de usuário específicos do site distribuídos para o Greasemonkey. Em julho de 2005, vulnerabilidades graves foram encontradas no Greasemonkey por Mark Pilgrim e corrigidas na versão 3.5 do Greasemonkey. Durante esse tempo, um compilador Greasemonkey também foi desenvolvido para converter um script de usuário em uma extensão independente do Firefox. Greasemonkey foi inicialmente recebido com reclamações de editores por sua capacidade de bloquear anúncios. No entanto, essa crítica mudou seu foco para outros addons a partir do lançamento de 2006 do Adblock Plus .

Userscripts.org

Para acomodar o crescente número de scripts, userscripts.org foi fundado por Britt Selvitelle e outros membros da comunidade Greasemonkey no final de 2005. Userscripts.org teve o código aberto em 2007, mas o site posteriormente se afastou dessa base de código. Como o principal repositório de scripts listado no site oficial do Greasemonkey, userscripts.org acumulou milhares de scripts por ano.

Em 2010, o último administrador conhecido Jesse Andrews postou que o site estava em modo de manutenção por falta de tempo e pediu um novo mantenedor para se voluntariar. No entanto, ele permaneceu como o único administrador do site até que uma discussão sobre contagens de instalação começou em 1 de abril de 2013. Antes disso, muitos dos "scripts mais populares" listados pelo site tinham contagens de instalação nominais de zero. No ano seguinte, os scripts de spam se tornaram mais comuns, o tempo de inatividade do servidor aumentou e o bug de contagem de instalação permaneceu. Sem nenhuma comunicação posterior por Andrews, os escritores do userscript descreveram o site como negligenciado e o site oficial do Greasemonkey removeu o link da página inicial. Em resposta, os escritores de script e outros desenvolvedores começaram a trabalhar no fork "openuserjs.org" e, posteriormente, em greasyfork.org, como um substituto imediato.

Em maio de 2014, userscripts.org tornou-se inacessível na porta 80, solicitando que os usuários o acessassem na porta 8080. Em agosto de 2014, o site foi totalmente fechado. A maioria de seus scripts foram copiados para o espelho estático userscripts-mirror.org onde agora podem ser encontrados.

Detalhes técnicos

Os scripts de usuário do Greasemonkey são escritos em JavaScript e manipulam o conteúdo de uma página da web usando a interface do Document Object Model . Os scripts geralmente são escritos para serem específicos da página ou do domínio (aplicando-se a todas as páginas de um domínio), mas também podem ser marcados para serem aplicados a todos os domínios para aprimoramentos globais do navegador. Os usuários do Greasemonkey podem escrever ou baixar scripts e salvá-los em suas bibliotecas pessoais. Quando os usuários visitam um site que corresponde a um script em sua biblioteca pessoal de scripts, o Greasemonkey invoca os scripts relevantes.

Os scripts do Greasemonkey podem modificar uma página da Web de qualquer maneira permitida pelo JavaScript, com certas restrições de segurança do Greasemonkey. Os scripts também podem acessar outras páginas da web e serviços da web por meio de uma solicitação XMLHTTP não restrita ao domínio , permitindo que o conteúdo externo seja mesclado com o conteúdo da página original.

Os scripts são nomeados como somename .user.js , e Greasemonkey oferece a instalação de qualquer script quando uma URL que termina com esse sufixo é solicitada. Os scripts Greasemonkey contêm metadados que especificam o nome do script, uma descrição, os recursos exigidos pelo script, uma URL de namespace usada para diferenciar scripts com nomes idênticos e padrões de URL para os quais o script deve ser chamado ou não.

Escrever um script Greasemonkey é semelhante a escrever JavaScript para uma página da web, com algumas permissões adicionais, como XMLHttpRequests entre sites . Comparado a escrever uma extensão completa do Firefox, o script do usuário é um passo muito modesto na complexidade da programação básica da web. No entanto, os scripts do Greasemonkey são limitados devido a restrições de segurança impostas pelo XPCNativeWrappers do Mozilla. Por exemplo, os scripts do Greasemonkey não têm acesso a muitos componentes do Firefox, como o gerenciador de download, processos de I / O ou suas barras de ferramentas principais. Além disso, os scripts Greasemonkey são executados por instância de uma página da Web correspondente. Por causa disso, é difícil gerenciar listas de itens globalmente. No entanto, os escritores de script têm usado cookies e o Greasemonkey oferece até APIs como GM_getValue e GM_setValue para superar isso.

Scripts de usuário

Os servidores de hospedagem de arquivos para Greasemonkey requerem que os URLs dos scripts terminem com .user.js e não com um tipo MIME como text/html . O suporte para HTTPS encontrará o verificador de atualização embutido do Greasemonkey. Desde julho de 2019, o projeto Greasemonkey lista três hospedagens de script de usuário recomendadas:

  • Gist , um serviço pastebin operado pelo GitHub onde arquivos simples são hospedados. Os arquivos podem ser colados em um formulário da web e salvos. HTTPS é usado por padrão. Os arquivos podem seguir o esquema de nomenclatura com o sufixo ".user.js" para a URL servindo como um link de instalação.
  • Greasy Fork, um site criado pelo mantenedor do userstyles.org.
  • OpenUserJS.org, um site que começou como uma bifurcação para o repositório de scripts obsoleto userscripts.org.

Compatibilidade

Greasemonkey está disponível para Firefox , Flock e GNOME Web (anteriormente chamado de Epiphany). A extensão Greasemonkey para a Web faz parte do pacote de extensões da Web . No entanto, esta extensão não é totalmente compatível a partir da versão 2.15.1, uma vez que algumas funções da API Greasemonkey (por exemplo, GM_getValue ) não são suportadas. Existem também versões personalizadas para SeaMonkey , Songbird , Pale Moon , qutebrowser e navegador Falkon .

Veja também

Referências

links externos

Mídia relacionada ao Greasemonkey no Wikimedia Commons