Greasemonkey

Extensión del administrador de scripts de usuario para Firefox

Greasemonkey
Autor(es) original(es)Aarón Boodman
Desarrollador(es)Anthony Lieuallen, Johan Sundström, [1] 13 más [2]
Lanzamiento inicial28 de marzo de 2005 ; hace 19 años [3] ( 28-03-2005 )
Versión estable
4.13 / 5 de agosto de 2024 ; hace 3 meses ( 05-08-2024 )
Repositorio
  • github.com/greasemonkey/greasemonkey
Escrito enJavaScript , XUL , CSS
Sistema operativoMultiplataforma
Disponible enInglés
TipoExtensión de Mozilla
LicenciaLicencia MIT
Sitio webwww.greasespot.net

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.

Historia

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 .

Usuarioscripts.org

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]

Detalles técnicos

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.

Scripts de usuario

Los servidores de alojamiento de archivos para Greasemonkey requieren que las URL de los scripts terminen con .user.jsy 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]

  • Gist , un servicio de pastebin operado por GitHub donde se alojan archivos simples. Los archivos se pueden pegar en un formulario web y guardar. Se utiliza HTTPS de forma predeterminada. Los archivos pueden seguir el esquema de nombres con el sufijo ".user.js" para la URL que sirve como enlace de instalación.
  • Greasy Fork, un sitio creado por el mantenedor de userstyles.org. [21]
  • OpenUserJS.org, un sitio que comenzó como una bifurcación del repositorio de scripts obsoleto userscripts.org. [19] [20]

Compatibilidad

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 .

Véase también

Referencias

  1. ^ botas (23 de agosto de 2009). "Greasespot: Outie". Greasespot .
  2. ^ "El gráfico de red de Greasemonkey". GitHub .
  3. ^ "Historial de versiones – Wiki de GreaseSpot". wiki.greasespot.net .
  4. ^ "Información del proyecto Greasemonkey". Archivado desde el original el 25 de marzo de 2012. Consultado el 31 de agosto de 2011 .
  5. ^ Pilgrim, Mark (2005). Greasemonkey Hacks. O'Reilly. ISBN 978-0-596-55357-9.
  6. ^ Boodman, Aaron (1 de febrero de 2010). «¡40 000 extensiones más!». Blog de Chromium . Consultado el 5 de marzo de 2023 .
  7. ^ ab Singel, Ryan (17 de mayo de 2005). "¿Los usuarios de Firefox se meten con la Web?". Revista Wired.
  8. ^ "[Greasemonkey] Greasemonkey para proteger datos en redes y sitios inseguros". Archivado desde el original el 3 de marzo de 2020. Consultado el 24 de febrero de 2021 .
  9. ^ "Seguridad [LWN.net]".
  10. ^ "mozdev.org – : /pipermail/greasemonkey/2005-July/004379". mozdev.org . Archivado desde el original el 29 de julio de 2005.
  11. ^ Nivi (8 de mayo de 2005). «Greasemonkey hará estallar los modelos de negocio (y también tu mente)». Archivado desde el original el 3 de junio de 2006. Consultado el 22 de julio de 2010 .
  12. ^ Festa, Paul (24 de marzo de 2005). "El complemento de Firefox permite a los usuarios modificar los sitios, pero ¿es seguro?". CNET.
  13. ^ Selvitelle, Britt (3 de enero de 2007). «Userscripts.org... ¡Opensource!». Archivado desde el original el 17 de enero de 2007. Consultado el 21 de mayo de 2014 .
  14. ^ "Pasando la antorcha en userscripts.org". Hacker News . 2010 . Consultado el 24 de octubre de 2014 .
  15. ^ "Arreglando el conteo de instalaciones". 1 de abril de 2013. Archivado desde el original el 3 de noviembre de 2013. Consultado el 21 de mayo de 2014 .
  16. ^ abc Brinkmann, Martin (9 de mayo de 2014). «¿Userscripts.org ha dejado de funcionar para siempre? Aquí hay alternativas» . Consultado el 21 de mayo de 2014 .
  17. ^ "Alojamiento de scripts de usuario". 16 de mayo de 2014. Consultado el 21 de mayo de 2014 .
  18. ^ "Por favor, cambien el sitio oficial de userscript". greasemonkey-dev (Lista de correo). 21 de abril de 2014. Consultado el 21 de mayo de 2014 .
  19. ^ desde "OpenUserJS". openuserjs.org .
  20. ^ ab "Corrección del recuento de instalaciones: página 6". 1 de abril de 2013. Archivado desde el original el 3 de noviembre de 2013. Consultado el 5 de noviembre de 2015 .
  21. ^ ab "Tenedor grasiento". greasyfork.org .
  22. ^ Barnabe, Jason (19 de febrero de 2014). «Presentación de Greasy Fork, un sitio de scripts de usuario» . Consultado el 5 de noviembre de 2015 .
  23. ^ "XPCNativeWrapper – MDC Docs". Archivado desde el original el 28 de junio de 2011. Consultado el 16 de marzo de 2011 .
  24. ^ "Alojamiento de scripts de usuario – Wiki de GreaseSpot". wiki.greasespot.net . Consultado el 22 de julio de 2019 .
  25. ^ "Greasemonkey". mozdev.org . mozdev . Archivado desde el original el 23 de abril de 2015 . Consultado el 5 de mayo de 2009 .
  26. ^ "Puerto de Greasemonkey para SeaMonkey – Acerca de – OpenUserJS". openuserjs.org .
  27. ^ ianloic. "Greasemonkey". Songbird . Archivado desde el original el 2 de junio de 2008. Consultado el 5 de mayo de 2009 .
  28. ^ "janekptacijarabaci/greasemonkey". GitHub . Consultado el 23 de marzo de 2020 .
  29. ^ "Mejoras en la compatibilidad con GreaseMonkey · Issue #3238 · qutebrowser/qutebrowser". GitHub . Consultado el 19 de mayo de 2020 .

Medios relacionados con Greasemonkey en Wikimedia Commons

  • Sitio web oficial
Obtenido de "https://es.wikipedia.org/w/index.php?title=Greasemonkey&oldid=1244878496"