La primera versión estable de la utilidad para descargar contenido web GNU Wget2

Tras tres años y medio de desarrollo se ha presentado la primera versión estable del proyecto GNU Wget2, desarrollando una versión completamente rediseñada del programa para automatizar la descarga recursiva de contenidos GNU Wget. GNU Wget2 fue diseñado y reescrito desde cero y se destaca por trasladar la funcionalidad básica de un cliente web a la biblioteca libwget, que se puede usar por separado en las aplicaciones. La utilidad tiene licencia GPLv3+ y la biblioteca tiene licencia LGPLv3+.

En lugar de reelaborar gradualmente la base del código existente, se decidió rehacer todo desde cero y establecer una rama Wget2 separada para implementar ideas de reestructuración, aumentar la funcionalidad y realizar cambios que rompan la compatibilidad. Con la excepción de la obsolescencia del protocolo FTP y el formato WARC, wget2 puede actuar como un reemplazo transparente de la utilidad wget clásica en la mayoría de situaciones.

Sin embargo, wget2 tiene algunas diferencias de comportamiento documentadas, proporciona alrededor de 30 opciones adicionales y deja de admitir varias docenas de opciones. Se ha incluido el procesamiento de opciones como “-ask-password”, “-header”, “-exclude-directories”, “-ftp*”, “-warc*”, “-limit-rate”, “-relative”. detenido " y "--desvincular".

Las innovaciones clave incluyen:

  • Mover funcionalidad a la biblioteca libwget.
  • Transición a una arquitectura multiproceso.
  • Capacidad para establecer múltiples conexiones en paralelo y descargar a múltiples subprocesos. También es posible paralelizar la descarga de un archivo dividido en bloques usando la opción "-chunk-size".
  • Soporte del protocolo HTTP/2.
  • Utilice el encabezado HTTP If-Modified-Since para descargar solo los datos modificados.
  • Cambie al uso de limitadores de ancho de banda externos, como el goteo.
  • Soporte para encabezado Accept-Encoding, transferencia de datos comprimidos y algoritmos de compresión brotli, zstd, lzip, gzip, deflate, lzma y bzip2.
  • Soporte para TLS 1.3, OCSP (Protocolo de estado de certificados en línea) para verificar certificados revocados, mecanismo HSTS (HTTP Strict Transport Security) para forzar la redirección a HTTPS y HPKP (HTTP Public Key Pinning) para vincular certificados.
  • Posibilidad de utilizar GnuTLS, WolfSSL y OpenSSL como backends para TLS.
  • Soporte para apertura rápida de conexiones TCP (TCP FastOpen).
  • Soporte integrado para el formato Metalink.
  • Soporte para nombres de dominio internacionalizados (IDNA2008).
  • La capacidad de trabajar simultáneamente a través de varios servidores proxy (una transmisión se cargará a través de un proxy y la segunda a través de otro).
  • Soporte integrado para fuentes de noticias en formatos Atom y RSS (por ejemplo, para escanear y descargar enlaces). Los datos RSS/Atom se pueden descargar desde un archivo local o a través de la red.
  • Soporte para extraer URL de Sitemaps. Disponibilidad de analizadores para extraer enlaces de archivos CSS y XML.
  • Soporte para la directiva 'incluir' en archivos de configuración y distribución de configuraciones en varios archivos (/etc/wget/conf.d/*.conf).
  • Mecanismo de almacenamiento en caché de consultas DNS incorporado.
  • Posibilidad de recodificar contenidos cambiando la codificación del documento.
  • Contabilización del archivo “robots.txt” durante descargas recursivas.
  • Modo de escritura confiable con llamada fsync() después de guardar datos.
  • La capacidad de reanudar sesiones TLS interrumpidas, así como almacenar en caché y guardar parámetros de sesión TLS en un archivo.
  • Modo "--input-file-" para cargar URL que provienen del flujo de entrada estándar.
  • Comparar el alcance de la cookie con el directorio de sufijos de dominio público (Lista de sufijos públicos) para aislar entre sí diferentes sitios alojados en el mismo dominio de segundo nivel (por ejemplo, “a.github.io” y “b.github. yo”).
  • Admite la descarga de transmisiones ICEcast/SHOUTcast.

Fuente: opennet.ru

Añadir un comentario