stringtranslate.com

Wget

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

Sus características incluyen descarga recursiva, conversión de enlaces para visualización sin conexión de HTML local y soporte para servidores proxy. Apareció en 1996, coincidiendo con el auge de popularidad de la Web, provocando su amplio uso entre los usuarios de Unix y con la mayoría de las principales distribuciones de Linux . Wget está escrito en C portátil y se puede instalar 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 WARC estándar de archivo web . [3]

Historia

Wget desciende de un programa anterior llamado Geturl del mismo autor, [4] cuyo desarrollo comenzó a finales de 1995. El nombre cambió a Wget después de que el autor se enteró 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 la década de 1990. Ningún programa por sí solo podría utilizar HTTP y FTP de manera confiable para descargar archivos. Los programas existentes soportaban FTP (como NcFTP y dl) o estaban escritos en Perl , que aún no era omnipresente. Si bien Wget se inspiró en las características de algunos de los programas existentes, admitía tanto HTTP como FTP y podía crearse utilizando únicamente las herramientas de desarrollo estándar que se encuentran en todos los sistemas Unix.

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

Características

Robustez

Wget ha sido diseñado para ser robusto 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 lo repetirá hasta que se haya recuperado todo el archivo. Fue uno de los primeros clientes en utilizar el entonces nuevo Range encabezado HTTP para admitir esta función.

Descarga recursiva

Opcionalmente, Wget puede funcionar como un rastreador web extrayendo recursos vinculados desde páginas HTML y descargándolos en secuencia, repitiendo el proceso de forma recursiva 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 directorios 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 al 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 esta opción).-e robots=off

La descarga recursiva también funciona con FTPLIST , donde Wget emite el comando para buscar qué archivos adicionales descargar, repitiendo este proceso para directorios y archivos bajo el especificado en la URL superior . Se admiten comodines tipo Shell cuando se solicita la descarga de URL FTP.

Al realizar descargas recursivas 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 descargue solo los archivos remotos más recientes que los locales correspondientes. Esto permite duplicar fácilmente sitios HTTP y FTP , pero se considera ineficiente y más propenso a errores en comparación con programas diseñados para duplicar desde cero, como rsync . Por otro lado, Wget no requiere ningún 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 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 al transferir una gran cantidad de datos.

Portabilidad

Escrito en un estilo de C altamente portátil 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 necesaria ] Diseñado como un programa Unix invocado desde el shell Unix , el programa ha sido portado a numerosos entornos y sistemas similares a Unix, incluido Microsoft Windows a través de Cygwin y macOS . También está disponible como 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, incluidos Dan Harkless, Ian Abbott y Mauro Tortonesi. Las contribuciones importantes se acreditan en el archivo AUTORES 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 está 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 asignaciones 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 GNU , versión 3 o posterior, con una excepción especial que permite la distribución de archivos binarios vinculados a la biblioteca OpenSSL . El texto de la excepción es el siguiente: [2]

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

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 contiene partes cubiertas por los términos de las licencias OpenSSL o SSLeay, la Free Software Foundation otorga su permiso adicional para transmitir el trabajo resultante. La fuente correspondiente para una forma no fuente de dicha combinación incluirá el código fuente de las partes de OpenSSL utilizadas, así como el del trabajo cubierto.

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

La documentación de Wget , en forma de manual de referencia Texinfo , se distribuye bajo los términos de la Licencia de documentación libre GNU , versión 1.2 o posterior. La página de manual que normalmente se distribuye 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 normalmente se discuten en la lista de correo pública [7], seguida por usuarios y desarrolladores. Los informes de errores y los parches se transmiten 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 del código fuente en forma de parches textuales generados por la utilidad diff . Los parches destinados a ser incluidos 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 las fuentes. Las instrucciones sobre la creación de parches y 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 actualmente ejecuta Git . [9] Antes de eso, el código fuente se había alojado en (en orden inverso): Bazaar , [10] Mercurial , Subversion y mediante CVS .

Liberar

Cuando se acumula una cantidad suficiente de funciones o correcciones de errores durante el desarrollo, Wget se lanza al público en general a través del sitio FTP de GNU y sus espejos. Al estar dirigido íntegramente por voluntarios, no existe presión externa para emitir una autorización ni tampoco existen plazos de liberación exigibles.

Las versiones están numeradas como versiones del formato major.minor[.revision] , como Wget 1.11 o Wget 1.8.2 . Un aumento en el número de la versión principal representa cambios grandes y posiblemente incompatibles en el comportamiento de Wget o un rediseño radical de la base del código. Un aumento del número de versión menor indica la adición de nuevas funciones 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 lo mismo que 1.11.0. Wget no utiliza la convención de números de versión par impar popularizada por Linux.

Wget aparece en el estreno de la película Columbia Pictures de 2010, The Social Network . El personaje principal, una versión algo ficticia del cofundador de Facebook , Mark Zuckerberg , utiliza Wget para agregar fotografías de estudiantes de varios directorios de instalaciones de alojamiento de la Universidad de Harvard .

Lanzamientos notables

Los siguientes lanzamientos representan hitos notables en el desarrollo de Wget. Las características enumeradas junto a cada versión están editadas por motivos de brevedad 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 la licencia GPL-3.0 o posterior y está incluido en Libwget, que está bajo la licencia LGPL-3.0 o posterior . [14] Tiene muchas mejoras en comparación con Wget, particularmente, en muchos casos Wget2 descarga mucho más rápido que Wget1.x debido al soporte de los siguientes protocolos y tecnologías: [15]

Obras relacionadas

GWobtener

GWget es una interfaz gráfica de usuario de software gratuito para Wget. Está desarrollado por David Sedeño Fernández basándose en la pila de software GNOME . GWget admite todas las funciones principales que ofrece Wget, así como descargas paralelas. [dieciséis]

cliget

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

Clones

Existen clones de GNU Wget destinados a sistemas integrados , que suelen tener memoria y almacenamiento limitados. Admiten sus opciones más básicas, generalmente limitadas a la descarga.

Ver también

Notas

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

Referencias

  1. ^ Darshit Shah (10 de marzo de 2024). "wget-1.24.5 lanzado [estable]" . Consultado el 22 de marzo de 2024 .
  2. ^ ab "archivo LÉAME" . Consultado el 1 de diciembre de 2014 .
  3. ^ ab Scrivano, Giuseppe (6 de agosto de 2012). "Lanzamiento de GNU wget 1.14". Lanzamiento de GNU wget 1.14 . Fundación de Software Libre, Inc. Consultado el 25 de febrero de 2016 .
  4. ^ ab "GNU Wget NEWS - historial de cambios visibles para el usuario". 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 [anteriormente 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 recibe asignaciones de derechos de autor de los contribuyentes - Proyecto GNU - Free Software Foundation (FSF)". Gnu.org . Consultado el 8 de diciembre de 2012 .
  7. ^ ab "Telar Gmane". News.gmane.org. Archivado desde el original el 9 de enero de 2013 . Consultado el 8 de diciembre de 2012 .
  8. ^ "PatchGuidelines: Wget Wgiki". Wget.addictivecode.org. 22 de septiembre de 2009 . Consultado el 8 de diciembre de 2012 .
  9. ^ "Acceso al repositorio". 31 de julio de 2012 . Consultado el 7 de junio de 2013 .
  10. ^ "Acceso al repositorio". 22 de mayo de 2010 . Consultado el 20 de junio de 2010 .
  11. ^ Niksic, Hrvoje (24 de junio de 1996). "Geturl: Software para descarga no interactiva". comp.infosystems.www.announce . Consultado el 17 de noviembre de 2016 .
  12. ^ "/wget/trunk: contenido de NOTICIAS 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. ^ "Conozca 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. ^ "cliente". addons.mozilla.org . Consultado el 25 de agosto de 2016 .
  20. ^ "git.openwrt.org Git - proyecto/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/caja de juguetes". 6 de octubre de 2021 – vía GitHub.

enlaces externos