Autor(es) original(es) | Aarón Boodman |
---|---|
Desarrollador(es) | Anthony Lieuallen, Johan Sundström, [1] 13 más [2] |
Lanzamiento inicial | 28 de marzo de 2005 ( 28-03-2005 ) | [3]
Versión estable | 4.13 / 5 de agosto de 2024 ( 05-08-2024 ) |
Repositorio |
|
Escrito en | JavaScript , XUL , CSS |
Sistema operativo | Multiplataforma |
Disponible en | Inglés |
Tipo | Extensión de Mozilla |
Licencia | Licencia MIT |
Sitio web | www.greasespot.net |
Artículos relacionados |
---|
Orígenes y linaje |
Categoría |
Greasemonkey es un gestor de scripts de usuario disponible como extensión de Mozilla Firefox . Permite a los usuarios instalar scripts que realizan cambios sobre la marcha en el contenido de la página web antes o después de que la página se cargue en el navegador (también conocido como navegación aumentada ).
Los cambios realizados en las páginas web se ejecutan cada vez que se visualiza la página, lo que los hace efectivamente permanentes para el usuario que ejecuta el script.
Greasemonkey se puede utilizar para personalizar la apariencia de la página, agregar nuevas funciones a las páginas web (por ejemplo, incorporar comparaciones de precios en sitios de compras), corregir errores de renderizado, combinar datos de múltiples páginas web y muchos otros propósitos.
El proyecto Greasemonkey comenzó el 28 de noviembre de 2004, escrito por Aaron Boodman. [4] [5] [6] Boodman se inspiró para escribir Greasemonkey después de ver una extensión de Firefox diseñada para limpiar la interfaz de AllMusic , [7] escrita por Adrian Holovaty , quien más tarde se convirtió en un desarrollador de scripts de usuario. Para mayo de 2005, había aproximadamente 60 scripts de usuario generales y 115 específicos del sitio distribuidos para Greasemonkey. [7] En julio de 2005, Mark Pilgrim encontró vulnerabilidades graves en Greasemonkey, [8] [9] y las corrigió en la versión 3.5 de Greasemonkey. [10] Durante este tiempo, también se desarrolló un compilador de Greasemonkey para convertir un script de usuario en una extensión independiente de Firefox. [11] Greasemonkey inicialmente recibió quejas de los editores por su capacidad para bloquear anuncios. [12] Sin embargo, esta crítica se centró en otros complementos a partir del lanzamiento de Adblock Plus en 2006 .
Para dar cabida al creciente número de scripts, Britt Selvitelle y otros miembros de la comunidad Greasemonkey fundaron userscripts.org a finales de 2005. Userscripts.org se convirtió en código abierto en 2007, pero más tarde el sitio se alejó de esta base de código. [13] Como principal repositorio de scripts que figura en el sitio oficial de Greasemonkey, userscripts.org acumulaba miles de scripts por año.
En 2010, el último administrador conocido, Jesse Andrews, publicó que el sitio estaba en modo de mantenimiento debido a la falta de tiempo y pidió un nuevo mantenedor voluntario. [14] Sin embargo, siguió siendo el único administrador del sitio hasta que comenzó una discusión sobre los recuentos de instalaciones el 1 de abril de 2013. [15] Antes de esto, muchos de los "scripts más populares" enumerados por el sitio tenían recuentos de instalaciones nominales de cero. Durante el año siguiente, los scripts de spam se volvieron más comunes, el tiempo de inactividad del servidor aumentó y el error del recuento de instalaciones permaneció. [16] Sin más comunicación por parte de Andrews, los escritores de scripts de usuario describieron el sitio como descuidado y el sitio oficial de Greasemonkey eliminó su enlace a la página principal. [17] [18] En respuesta, los escritores de scripts y otros desarrolladores comenzaron a trabajar en la bifurcación "openuserjs.org", [19] [20] y más tarde en greasyfork.org, [21] como un reemplazo inmediato. [22]
En mayo de 2014, userscripts.org dejó de ser accesible en el puerto 80, lo que llevó a los usuarios a acceder a él en el puerto 8080. [16] En agosto de 2014, el sitio fue cerrado por completo. La mayoría de sus scripts fueron respaldados en el espejo estático userscripts-mirror.org, donde ahora se pueden encontrar. [16]
Los scripts de usuario de Greasemonkey están escritos en JavaScript y manipulan el contenido de una página web mediante la interfaz del Modelo de objetos de documento . Los scripts se escriben generalmente para que sean específicos de una página o de un dominio (se aplican a todas las páginas de un dominio), pero también se pueden etiquetar para que se apliquen a todos los dominios para lograr mejoras globales del navegador. Los usuarios de Greasemonkey pueden escribir o descargar scripts y guardarlos en su biblioteca personal. Cuando los usuarios visitan un sitio web que coincide con un script de su biblioteca personal, Greasemonkey invoca los scripts pertinentes.
Los scripts de Greasemonkey pueden modificar una página web de cualquier forma que permita JavaScript, con ciertas restricciones de seguridad de Greasemonkey. Los scripts también pueden acceder a otras páginas web y servicios web a través de una solicitud XMLHTTP sin restricciones de dominio , lo que permite fusionar contenido externo con el contenido de la página original.
Los scripts se denominan somename.user.js y Greasemonkey ofrece instalar cualquier script de este tipo cuando se solicita una URL que termina en ese sufijo. Los scripts de Greasemonkey contienen metadatos que especifican el nombre del script, una descripción, los recursos que requiere el script, una URL de espacio de nombres que se utiliza para diferenciar scripts con nombres idénticos y patrones de URL para los cuales se pretende invocar o no el script.
Escribir un script de Greasemonkey es similar a escribir JavaScript para una página web, con algunas concesiones adicionales como XMLHttpRequests entre sitios . En comparación con escribir una extensión de Firefox completa, la creación de scripts de usuario es un paso muy modesto en complejidad con respecto a la programación web básica. Sin embargo, los scripts de Greasemonkey están limitados debido a las restricciones de seguridad impuestas por XPCNativeWrappers de Mozilla [23]. Por ejemplo, los scripts de Greasemonkey no tienen acceso a muchos de los componentes de Firefox, como el administrador de descargas, los procesos de E/S o sus barras de herramientas principales. Además, los scripts de Greasemonkey se ejecutan por instancia de una página web coincidente. Debido a esto, la gestión de listas de elementos de forma global es difícil. Sin embargo, los escritores de scripts han estado utilizando cookies, y Greasemonkey incluso ofrece API como GM_getValue y GM_setValue para superar esto.
Los servidores de alojamiento de archivos para Greasemonkey requieren que las URL de los scripts terminen con .user.js
y no con un tipo MIME como text/html
. La compatibilidad con HTTPS se cumplirá con [ aclaración necesaria ] el verificador de actualizaciones integrado de Greasemonkey. A partir de julio de 2019, el proyecto Greasemonkey enumera tres alojamientos de scripts de usuario recomendados: [24]
Greasemonkey está disponible para Firefox , Flock y GNOME Web (antes llamado Epiphany). La extensión Greasemonkey para Web es parte del paquete de extensiones Web . Sin embargo, esta extensión no es totalmente compatible a partir de la versión 2.15.1, ya que algunas funciones de la API de Greasemonkey (por ejemplo, GM_getValue ) no son compatibles. También hay versiones personalizadas para SeaMonkey , [25] [26] Songbird , [27] Pale Moon , [28] qutebrowser , [29] y el navegador Falkon .
Medios relacionados con Greasemonkey en Wikimedia Commons