Articulo de referencia

Greasemonkey

{{Cite web|url=https://www.greasespot.net/2009/08/outie.html|title=Greasespot: Outie|last=boots|date=23 August 2009|website=Greasespot}} 13 more {{cite web|url=https://github.co...

Greasemonkey es un gestor de scripts de usuario disponible como extensión para Mozilla Firefox . Permite a los usuarios instalar scripts que modifican el contenido de las páginas web sobre la marcha, antes o después de que la página se cargue en el navegador (lo que se conoce 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 prácticamente permanentes para el usuario que ejecuta el script.

Greasemonkey se puede utilizar para personalizar la apariencia de las páginas, agregar nuevas funciones a las páginas web (por ejemplo, integrar comparaciones de precios en sitios de compras), corregir errores de renderizado, combinar datos de varias páginas web y para muchos otros fines.

Historia

El proyecto Greasemonkey comenzó el 28 de noviembre de 2004, escrito por Aaron Boodman. [ 5 ] [ 6 ] [ 7 ] Boodman se inspiró para escribir Greasemonkey después de ver una extensión de Firefox diseñada para limpiar la interfaz de AllMusic , [ 8 ] escrita por Adrian Holovaty , quien más tarde se convirtió en desarrollador de userscript. Para mayo de 2005, había aproximadamente 60 userscripts generales y 115 userscripts específicos de sitios distribuidos para Greasemonkey. [ 8 ] En julio de 2005, Mark Pilgrim encontró vulnerabilidades graves en Greasemonkey, [ 9 ] [ 10 ] y se corrigieron en la versión 3.5 de Greasemonkey. [ 11 ] Durante este tiempo, también se desarrolló un compilador de Greasemonkey para convertir un userscript en una extensión independiente de Firefox. [ 12 ] Inicialmente, Greasemonkey recibió quejas de los editores por su capacidad para bloquear anuncios. [ 13 ] Sin embargo, esta crítica cambió su enfoque hacia otros complementos a partir del lanzamiento de Adblock Plus en 2006 .

Userscripts.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 posteriormente el sitio dejó de utilizar esta base de código. [ 14 ] Como principal repositorio de scripts que figuraba en el sitio oficial de Greasemonkey, userscripts.org acumulaba miles de scripts al 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 solicitó un nuevo mantenedor voluntario. [ 15 ] Sin embargo, siguió siendo el único administrador del sitio hasta que comenzó una discusión sobre el número de instalaciones el 1 de abril de 2013. [ 16 ] Antes de esto, muchos de los "scripts más populares" que figuraban en el sitio tenían un número nominal de instalaciones 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 número de instalaciones persistió. [ 17 ] 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 de la página principal. [ 18 ] [ 19 ] En respuesta, los escritores de scripts y otros desarrolladores comenzaron a trabajar en la bifurcación "openuserjs.org", [ 20 ] [ 21 ] y más tarde greasyfork.org, [ 22 ] como reemplazo inmediato. [ 23 ]

En mayo de 2014, userscripts.org dejó de ser accesible en el puerto 80, lo que obligó a los usuarios a acceder a él a través del puerto 8080. [ 17 ] En agosto de 2014, el sitio se cerró definitivamente. La mayoría de sus scripts se guardaron en el repositorio estático userscripts-mirror.org, donde ahora se pueden encontrar. [ 17 ]

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 del Documento ( DOM). Generalmente, los scripts se escriben para ser específicos de una página o de un dominio (aplicándose a todas las páginas dentro de un dominio), pero también pueden etiquetarse para aplicarse a todos los dominios y así mejorar la experiencia del navegador. Los usuarios de Greasemonkey pueden escribir o descargar scripts y guardarlos en su biblioteca personal. Cuando un usuario visita un sitio web que coincide con un script de su biblioteca personal, Greasemonkey ejecuta los scripts correspondientes.

Los scripts de Greasemonkey pueden modificar una página web de cualquier forma que permita JavaScript, con ciertas restricciones de seguridad propias de Greasemonkey. Además, pueden acceder a otras páginas web y servicios web mediante una solicitud XMLHTTP sin restricciones de dominio , lo que permite integrar contenido externo con el contenido original de la página.

Los scripts se denominan algo del tipo nombre.usuario.js , y Greasemonkey ofrece instalar cualquier script de este tipo cuando se solicita una URL que termine con ese sufijo. Los scripts de Greasemonkey contienen metadatos que especifican el nombre del script, una descripción, los recursos que requiere, una URL de espacio de nombres que se utiliza para diferenciar scripts con el mismo nombre y patrones de URL para los que se pretende invocar el script o no.

Escribir un script de Greasemonkey es similar a escribir JavaScript para una página web, con algunas excepciones adicionales como las solicitudes XMLHttpRequest entre sitios . En comparación con escribir una extensión completa de Firefox, la programación de scripts por parte del usuario supone un pequeño aumento de complejidad 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 [ 24 ]. Por ejemplo, los scripts de Greasemonkey no tienen acceso a muchos componentes de Firefox, como el gestor 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. Por este motivo, gestionar listas de elementos globalmente es difícil. No obstante, los programadores de scripts han estado utilizando cookies, e incluso Greasemonkey ofrece API como GM_getValue y GM_setValue para solucionar este problema.

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 el verificador de actualizaciones integrado de Greasemonkey. A partir de julio de 2019, el proyecto Greasemonkey enumera tres alojamientos de scripts de usuario recomendados: [ 25 ]

  • Gist es un servicio de intercambio de archivos gestionado por GitHub donde se alojan archivos sencillos. Estos archivos se pueden pegar en un formulario web y guardar. El protocolo HTTPS se utiliza por defecto. Los archivos pueden seguir el esquema de nomenclatura con el sufijo ".user.js" para la URL, que funciona como enlace de instalación.
  • Greasy Fork, un sitio creado por el mantenedor de userstyles.org. [ 22 ]
  • OpenUserJS.org, un sitio que comenzó como una bifurcación del repositorio de scripts obsoleto userscripts.org. [ 20 ] [ 21 ]

Compatibilidad

Greasemonkey está disponible para Firefox , Flock y GNOME Web (anteriormente llamado Epiphany). La extensión Greasemonkey para Web forma 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 existen versiones personalizadas para SeaMonkey , [ 26 ] [ 27 ] Songbird , [ 28 ] Pale Moon , [ 29 ] qutebrowser , [ 30 ] 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 greasemonkey" . GitHub .
  3. Boodman, Aaron (6 de diciembre de 2004). "Me complace anunciar" . Archivado del original el 12 de diciembre de 2004. Recuperado el 29 de mayo de 2026 .
  4. "mozdev.org - greasemonkey: índice" . 28 de enero de 2005. Archivado del original el 28 de enero de 2005. Consultado el 29 de mayo de 2026 .
  5. "Información del proyecto Greasemonkey" . Archivado del original el 25 de marzo de 2012. Consultado el 31 de agosto de 2011 .
  6. Pilgrim, Mark (2005). Greasemonkey Hacks . O'Reilly. ISBN 978-0-596-55357-9.
  7. Boodman, Aaron (1 de febrero de 2010). "¡40.000 extensiones más!" . Blog de Chromium . Consultado el 5 de marzo de 2023 .
  8. 1 2 Singel, Ryan (17 de mayo de 2005). "¿Los usuarios de Firefox hacen el tonto con la web?" . Revista Wired.
  9. " [ Greasemonkey ] greasemonkey para datos seguros en redes inseguras / Sitios" . Archivado del original el 3 de marzo de 2020. Recuperado el 24 de febrero de 2021 .
  10. "Seguridad [ LWN.net ] " .
  11. "mozdev.org – : /pipermail/greasemonkey/2005-July/004379" . mozdev.org . Archivado del original el 29 de julio de 2005. 
  12. Nivi (8 de mayo de 2005). "Greasemonkey hará estallar los modelos de negocio (así como tu mente)" . Archivado del original el 3 de junio de 2006. Recuperado el 22 de julio de 2010 .
  13. Festa, Paul (24 de marzo de 2005). "El complemento de Firefox permite a los usuarios modificar sitios web, pero ¿es seguro?" . CNET.
  14. Selvitelle, Britt (3 de enero de 2007). "Userscripts.org... ¡Código abierto!" . Archivado del original el 17 de enero de 2007. Recuperado el 21 de mayo de 2014 .
  15. "Pasando el testigo en userscripts.org" . Hacker News . 2010. Consultado el 24 de octubre de 2014 .
  16. "Corrección de recuentos de instalaciones" . 1 de abril de 2013. Archivado del original el 3 de noviembre de 2013. Consultado el 21 de mayo de 2014 .
  17. 1 2 3 Brinkmann, Martin (9 de mayo de 2014). "¿Userscripts.org fuera de servicio definitivamente? Aquí hay alternativas" . Recuperado el 21 de mayo de 2014 .
  18. "Alojamiento de scripts de usuario" . 16 de mayo de 2014. Consultado el 21 de mayo de 2014 .
  19. "Por favor, cambie el sitio oficial del script de usuario" . greasemonkey-dev (Lista de correo). 21 de abril de 2014. Consultado el 21 de mayo de 2014 .
  20. 1 2 "OpenUserJS" . openuserjs.org .
  21. 1 2 "Corrección de recuentos de instalaciones – Página 6" . 1 de abril de 2013. Archivado del original el 3 de noviembre de 2013. Recuperado el 5 de noviembre de 2015 .
  22. 1 2 "Greasy Fork" . greasyfork.org .
  23. Barnabe, Jason (19 de febrero de 2014). "Presentamos Greasy Fork: un sitio de scripts de usuario" . Recuperado el 5 de noviembre de 2015 .
  24. "XPCNativeWrapper – Documentación de MDC" . Archivado del original el 28 de junio de 2011. Consultado el 16 de marzo de 2011 .
  25. "Alojamiento de scripts de usuario – Wiki de GreaseSpot" . wiki.greasespot.net . Consultado el 22 de julio de 2019 .
  26. "Greasemonkey" . mozdev.org . mozdev . Archivado del original el 23 de abril de 2015. Consultado el 5 de mayo de 2009 .
  27. "Puerto Greasemonkey para SeaMonkey – Acerca de – OpenUserJS" . openuserjs.org .
  28. ianloic. "Greasemonkey" . Pájaro cantor . Archivado del original el 2 de junio de 2008. Recuperado el 5 de mayo de 2009 .
  29. ^ "janekptacijarabaci/greasemonkey" . GitHub . Consultado el 23 de marzo de 2020 .
  30. "Mejoras para la compatibilidad con GreaseMonkey · Problema n.° 3238 · qutebrowser/qutebrowser" . GitHub . Consultado el 19 de mayo de 2020 .

Logotipo de Wikimedia CommonsContenido multimedia relacionado con Greasemonkey en Wikimedia Commons

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