A primeira versión estable da utilidade para descargar contido web GNU Wget2

Despois de tres anos e medio de desenvolvemento, presentouse a primeira versión estable do proxecto GNU Wget2, desenvolvendo unha versión totalmente redeseñada do programa para automatizar a descarga recursiva de contido GNU Wget. GNU Wget2 foi deseñado e reescrito desde cero e destaca por mover a funcionalidade básica dun cliente web á biblioteca libwget, que se pode usar por separado nas aplicacións. A utilidade ten licenza GPLv3+ e a biblioteca ten licenza LGPLv3+.

En lugar de reelaborar gradualmente a base de código existente, decidiuse refacer todo desde cero e establecer unha rama Wget2 separada para implementar ideas para reestruturar, aumentar a funcionalidade e facer cambios que rompen a compatibilidade. Con excepción da desaprobación do protocolo FTP e do formato WARC, wget2 pode actuar como un substituto transparente para a clásica utilidade wget na maioría das situacións.

Dito isto, wget2 ten algunhas diferenzas documentadas no comportamento, ofrece unhas 30 opcións adicionais e deixa de admitir varias ducias de opcións. Inclúese o procesamento de opcións como “-ask-password”, “-header”, “-exclude-directories”, “-ftp*”, “-warc*”, “-limit-rate”, “-relative” detivo " e "--desligar".

As principais innovacións inclúen:

  • Mover a funcionalidade á biblioteca libwget.
  • Transición á arquitectura multiproceso.
  • Capacidade para establecer varias conexións en paralelo e descargar a varios fíos. Tamén é posible paralelizar a descarga dun ficheiro dividido en bloques usando a opción "-chunk-size".
  • Soporte de protocolo HTTP/2.
  • Use a cabeceira HTTP If-Modified-Since para descargar só os datos modificados.
  • Cambia ao uso de limitadores de ancho de banda externos, como trickle.
  • Soporte para a cabeceira Accept-Encoding, a transferencia de datos comprimidos e os algoritmos de compresión brotli, zstd, lzip, gzip, deflate, lzma e bzip2.
  • Soporte para TLS 1.3, OCSP (Online Certificate Status Protocol) para comprobar certificados revogados, mecanismo HSTS (HTTP Strict Transport Security) para forzar a redirección a HTTPS e HPKP (HTTP Public Key Pinning) para a vinculación de certificados.
  • Capacidade de usar GnuTLS, WolfSSL e OpenSSL como backends para TLS.
  • Soporte para a apertura rápida de conexións TCP (TCP FastOpen).
  • Soporte de formato Metalink incorporado.
  • Soporte para nomes de dominio internacionalizados (IDNA2008).
  • A capacidade de traballar simultaneamente a través de varios servidores proxy (un fluxo cargarase a través dun proxy e o segundo a través doutro).
  • Compatibilidade integrada para fontes de noticias en formatos Atom e RSS (por exemplo, para dixitalizar e descargar ligazóns). Os datos RSS/Atom pódense descargar desde un ficheiro local ou a través da rede.
  • Soporte para extraer URL de mapas do sitio. Dispoñibilidade de analizadores para extraer ligazóns de ficheiros CSS e XML.
  • Soporte para a directiva "include" nos ficheiros de configuración e distribución de axustes en varios ficheiros (/etc/wget/conf.d/*.conf).
  • Mecanismo de caché de consulta de DNS integrado.
  • Posibilidade de recodificar o contido cambiando a codificación do documento.
  • Contabilidade do ficheiro "robots.txt" durante as descargas recursivas.
  • Modo de escritura fiable coa chamada fsync() despois de gardar os datos.
  • A capacidade de retomar sesións TLS interrompidas, así como almacenar na caché e gardar os parámetros da sesión TLS nun ficheiro.
  • Modo "--input-file-" para cargar URL que chegan a través do fluxo de entrada estándar.
  • Comprobando o alcance da cookie co directorio de sufixos de dominio público (Lista de sufixos públicos) para illar entre si diferentes sitios aloxados no mesmo dominio de segundo nivel (por exemplo, "a.github.io" e "b.github. io”).
  • Admite a descarga de streaming de ICEcast/SHOUTcast.

Fonte: opennet.ru

Engadir un comentario