stringtranslate.com

Obtener

GNU Wget (o simplemente Wget , anteriormente Geturl , también escrito como el nombre de su paquete, wget ) es un programa informático que recupera contenido de servidores web . Forma parte del Proyecto GNU . Su nombre deriva de " World Wide Web " y " get ". Admite descargas mediante HTTP , HTTPS y FTP .

Entre sus características destacan la descarga recursiva, la conversión de enlaces para visualización offline de HTML local y soporte para proxies. Apareció en 1996, coincidiendo con el boom de popularidad de la Web, provocando su amplio uso entre los usuarios de Unix y su distribución con la mayoría de las principales distribuciones Linux . Wget está escrito en C , y puede instalarse fácilmente en cualquier sistema tipo Unix. Wget ha sido portado a Microsoft Windows , macOS , OpenVMS , HP-UX , AmigaOS , MorphOS y Solaris . Desde la versión 1.14, Wget ha podido guardar su salida en el formato estándar de archivado web WARC . [3]

Historia

Wget desciende de un programa anterior llamado Geturl del mismo autor, [4] cuyo desarrollo comenzó a fines de 1995. El nombre cambió a Wget después de que el autor se dio cuenta de un programa Amiga anterior llamado GetURL, escrito por James Burton en AREXX .

Wget llenó un vacío en el inconsistente software de descarga web disponible a mediados de los años 90. Ningún programa podía usar de manera confiable HTTP y FTP para descargar archivos. Los programas existentes admitían FTP (como NcFTP y dl) o estaban escritos en Perl , que aún no era omnipresente. Si bien Wget se inspiró en características de algunos de los programas existentes, admitía HTTP y FTP y podía crearse utilizando solo las herramientas de desarrollo estándar que se encuentran en todos los sistemas Unix.

En ese momento, muchos usuarios de Unix luchaban con conexiones a Internet universitarias y de acceso telefónico extremadamente lentas , lo que generó una creciente necesidad de un agente de descarga que pudiera lidiar con fallas transitorias de la red sin asistencia del operador humano.

Características

Robustez

Wget ha sido diseñado para ofrecer robustez en conexiones de red lentas o inestables. Si una descarga no se completa debido a un problema de red , Wget intentará automáticamente continuar la descarga desde donde la dejó y repetirá el proceso hasta que se haya recuperado todo el archivo. Fue uno de los primeros clientes en utilizar el nuevo Range encabezado HTTP para admitir esta función.

Descarga recursiva

Wget puede funcionar opcionalmente como un rastreador web extrayendo recursos vinculados desde páginas HTML y descargándolos en secuencia, repitiendo el proceso recursivamente hasta que se hayan descargado todas las páginas o se haya alcanzado una profundidad de recursión máxima especificada por el usuario. Las páginas descargadas se guardan en una estructura de directorio similar a la del servidor remoto. Esta "descarga recursiva" permite la duplicación parcial o completa de sitios web a través de HTTP. Los enlaces en las páginas HTML descargadas se pueden ajustar para que apunten a material descargado localmente para verlo sin conexión . Al realizar este tipo de duplicación automática de sitios web, Wget admite el estándar de exclusión de robots (a menos que se utilice la opción ).-e robots=off

La descarga recursiva también funciona con FTPLIST , donde Wget emite el comando para encontrar qué archivos adicionales descargar y repite este proceso para los directorios y archivos que se encuentren debajo del especificado en la URL superior . Se admiten comodines similares a los de Shell cuando se solicita la descarga de URL de FTP.

Al descargar de forma recursiva a través de HTTP o FTP , se puede indicar a Wget que inspeccione las marcas de tiempo de los archivos locales y remotos, y que descargue solo los archivos remotos más recientes que los locales correspondientes. Esto permite una fácil duplicación de sitios HTTP y FTP , pero se considera ineficiente y más propenso a errores en comparación con los programas diseñados para la duplicación desde cero, como rsync . Por otro lado, Wget no requiere un software especial del lado del servidor para esta tarea.

No interactividad

Wget no es interactivo en el sentido de que, una vez iniciado, no requiere la interacción del usuario y no necesita controlar un TTY , pudiendo registrar su progreso en un archivo separado para su posterior inspección. Los usuarios pueden iniciar Wget y cerrar sesión , dejando el programa desatendido. Por el contrario, la mayoría de los navegadores web con interfaz de usuario gráfica o de texto requieren que el usuario permanezca conectado y reinicie manualmente las descargas fallidas, lo que puede ser un gran obstáculo cuando se transfieren muchos datos.

Portabilidad

Escrito en un estilo de C altamente portable con dependencias mínimas de bibliotecas de terceros, Wget requiere poco más que un compilador de C y una interfaz tipo BSD para redes TCP/IP . [ cita requerida ] Diseñado como un programa Unix invocado desde el shell de Unix , el programa ha sido portado a numerosos entornos y sistemas similares a Unix, incluidos Microsoft Windows a través de Cygwin y macOS . También está disponible como un programa nativo de Microsoft Windows como uno de los paquetes GnuWin .

Otras características

Autores y derechos de autor

GNU Wget fue escrito por Hrvoje Nikšić con contribuciones de muchas otras personas, incluyendo Dan Harkless, Ian Abbott y Mauro Tortonesi. Las contribuciones significativas se acreditan en el archivo AUTHORS incluido en la distribución, y todas las restantes están documentadas en los registros de cambios , también incluidos con el programa. Actualmente, Wget es mantenido por Giuseppe Scrivano, Tim Rühsen y Darshit Shah. [5]

Los derechos de autor de Wget pertenecen a la Free Software Foundation , cuya política es exigir cesiones de derechos de autor para todas las contribuciones no triviales al software GNU. [6]

Licencia

GNU Wget se distribuye bajo los términos de la Licencia Pública General de GNU , versión 3 o posterior, con una excepción especial que permite la distribución de binarios vinculados con la biblioteca OpenSSL . El texto de la excepción es el siguiente: [2]

Permiso adicional bajo la sección 7 de la GNU GPL versión 3

Si modifica este programa, o cualquier trabajo cubierto, vinculándolo o combinándolo con la biblioteca OpenSSL del proyecto OpenSSL (o una versión modificada de esa biblioteca), que contenga partes cubiertas por los términos de las licencias OpenSSL o SSLeay, la Free Software Foundation le otorga permiso adicional para transmitir el trabajo resultante. El código fuente correspondiente a una forma no fuente de dicha combinación deberá incluir el código fuente de las partes de OpenSSL utilizadas, así como el del trabajo cubierto.

Se espera [¿ quién lo espera? ] que la cláusula de excepción se elimine una vez que Wget se modifique para vincularse también con la biblioteca GnuTLS .

La documentación de Wget , en forma de manual de referencia de Texinfo , se distribuye bajo los términos de la Licencia de Documentación Libre de GNU , versión 1.2 o posterior. La página del manual que se distribuye habitualmente en sistemas tipo Unix se genera automáticamente a partir de un subconjunto del manual de Texinfo y se rige por los términos de la misma licencia.

Desarrollo

Wget se desarrolla de forma abierta y la mayoría de las decisiones de diseño se suelen discutir en la lista de correo pública [7], seguida por los usuarios y los desarrolladores. Los informes de errores y los parches se envían a la misma lista.

Contribución de la fuente

El método preferido para contribuir al código y la documentación de Wget es a través de actualizaciones de código fuente en forma de parches de texto generados por la utilidad diff . Los parches que se pretende incluir en Wget se envían a la lista de correo [7] donde son revisados ​​por los mantenedores. Los parches que pasan el escrutinio de los mantenedores se instalan en los códigos fuente. Las instrucciones sobre la creación de parches, así como las pautas de estilo, se describen en la wiki del proyecto. [8]

El código fuente también se puede rastrear a través de un repositorio de control de versiones remoto que aloja el historial de revisiones a partir de la versión 1.5.3. El repositorio está ejecutando actualmente Git . [9] Antes de eso, el código fuente había estado alojado en (en orden inverso): Bazaar , [10] Mercurial , Subversion y a través de CVS .

Liberar

Cuando se acumula una cantidad suficiente de características o correcciones de errores durante el desarrollo, Wget se lanza al público general a través del sitio FTP de GNU y sus réplicas. Al estar completamente administrado por voluntarios, no hay presión externa para publicar una versión ni hay plazos de publicación obligatorios.

Las versiones se numeran como versiones de la forma de major.minor[.revision] , como Wget 1.11 o Wget 1.8.2 . Un aumento del número de versión principal representa cambios grandes y posiblemente incompatibles en el comportamiento de Wget o un rediseño radical de la base de código. Un aumento del número de versión secundaria designa la incorporación de nuevas características y correcciones de errores. Una nueva revisión indica una versión que, en comparación con la revisión anterior, solo contiene correcciones de errores. Se omite la revisión cero, lo que significa que, por ejemplo, Wget 1.11 es igual a 1.11.0. Wget no utiliza la convención de número de versión par-impar popularizada por Linux.

Wget aparece en la película The Social Network , estrenada en 2010 por Columbia Pictures . El personaje principal, una versión un tanto ficticia del cofundador de Facebook , Mark Zuckerberg , utiliza Wget para recopilar fotos de estudiantes de varios directorios de residencias de la Universidad de Harvard .

Lanzamientos destacados

Las siguientes versiones representan hitos importantes en el desarrollo de Wget. Las características que aparecen junto a cada versión se han editado para abreviar y no constituyen información completa sobre la versión, que está disponible en el archivo NEWS distribuido con Wget. [4]

Wget2

GNU Wget2 2.0.0 se lanzó el 26 de septiembre de 2021. Tiene licencia GPL-3.0 o posterior y está encapsulado en Libwget, que tiene licencia LGPL-3.0 o posterior . [14] Tiene muchas mejoras en comparación con Wget, en particular, en muchos casos Wget2 se descarga mucho más rápido que Wget1.x debido al soporte de los siguientes protocolos y tecnologías: [15]

Trabajos relacionados

Obtener GW

GWget es una interfaz gráfica de usuario de software libre para Wget. Fue desarrollada por David Sedeño Fernández basándose en la pila de software GNOME . GWget admite todas las características principales de Wget, así como también descargas paralelas. [16]

Clíget

Cliget es un descargador de complementos de código abierto para Firefox que utiliza Curl , Wget y Aria2. Fue desarrollado por Zaid Abdulla. [17] [18] [19]

Clones

Existen clones de GNU Wget pensados ​​para sistemas embebidos , que suelen estar limitados en memoria y almacenamiento. Soportan sus opciones más básicas, normalmente limitadas a la descarga.

Véase también

Notas

  1. ^ GPL-3.0 o posterior con excepción de OpenSSL.

Referencias

  1. ^ Darshit Shah (11 de noviembre de 2024). «wget-1.25.0 lanzado [estable]» . Consultado el 11 de noviembre de 2024 .
  2. ^ ab "Archivo README" . Consultado el 1 de diciembre de 2014 .
  3. ^ ab Scrivano, Giuseppe (6 de agosto de 2012). «GNU wget 1.14 released». GNU wget 1.14 released . Free Software Foundation, Inc. Consultado el 25 de febrero de 2016 .
  4. ^ ab "GNU Wget NEWS – history of user-visible changes". Svn.dotsrc.org. 20 de marzo de 2005. Archivado desde el original el 13 de marzo de 2007. Consultado el 8 de diciembre de 2012. Wget 1.4.0 [antes conocido como Geturl] es una reescritura extensa de Geturl.
  5. ^ "Wget - Proyecto GNU". 30 de noviembre de 2018. Consultado el 30 de noviembre de 2018 .
  6. ^ "Por qué la FSF obtiene asignaciones de derechos de autor de los colaboradores - Proyecto GNU - Free Software Foundation (FSF)". Gnu.org . Consultado el 8 de diciembre de 2012 .
  7. ^ ab "Gmane Loom". News.gmane.org. Archivado desde el original el 9 de enero de 2013. Consultado el 8 de diciembre de 2012 .
  8. ^ "PatchGuidelines - The Wget Wgiki". Wget.addictivecode.org. 22 de septiembre de 2009. Consultado el 8 de diciembre de 2012 .
  9. ^ "RepositoryAccess". 31 de julio de 2012. Consultado el 7 de junio de 2013 .
  10. ^ "RepositoryAccess". 22 de mayo de 2010. Consultado el 20 de junio de 2010 .
  11. ^ Niksic, Hrvoje (24 de junio de 1996). «Geturl: software para descargas no interactivas». comp.infosystems.www.announce . Consultado el 17 de noviembre de 2016 .
  12. ^ "/wget/trunk : contenidos de NEWS en la revisión 2608". bzr.savannah.gnu.org .
  13. ^ Tim Rühsen (31 de agosto de 2023). «wget2-2.1.0 lanzado» . Consultado el 31 de agosto de 2023 .
  14. ^ ab "Lanzamiento de GNU Wget2 2.0.0". gnu.org . 26 de septiembre de 2021.
  15. ^ "wget2". GitLab .
  16. ^ "Página de inicio de GWget". 22 de marzo de 2013.
  17. ^ "zaidka/cliget". GitHub . Consultado el 25 de agosto de 2016 .
  18. ^ "Conoce al desarrollador de Cliget :: Complementos para Firefox". addons.mozilla.org . Archivado desde el original el 21 de septiembre de 2016 . Consultado el 25 de agosto de 2016 .
  19. ^ "cliget". addons.mozilla.org . Consultado el 25 de agosto de 2016 .
  20. ^ "git.openwrt.org Git - project/uclient.git/summary". git.openwrt.org . Archivado desde el original el 6 de octubre de 2021 . Consultado el 6 de octubre de 2021 .
  21. ^ ab "landley/toybox". 6 de octubre de 2021 – vía GitHub.

Enlaces externos