De eerste stabiele release van de tool voor het downloaden van webinhoud GNU Wget2

Na drieƫnhalf jaar ontwikkeling is de eerste stabiele release van het GNU Wget2-project gepresenteerd, dat een volledig herontworpen versie van het programma voor het automatiseren van recursieve contentdownloads, GNU Wget, ontwikkelt. GNU Wget2 is vanaf de basis ontworpen en herschreven en is opmerkelijk vanwege het verplaatsen van de basisfunctionaliteit van de webclient naar de bibliotheek libwget, die afzonderlijk kan worden gebruikt in applicaties. De tool wordt geleverd onder de GPLv3+-licentie, terwijl de bibliotheek onder de LGPLv3+ valt.

In plaats van geleidelijk de bestaande codebase te herbouwen, werd besloten om alles opnieuw te doen en een aparte tak Wget2 op te richten voor het implementeren van ideeƫn voor herstructurering, functionaliteitsuitbreiding en het aanbrengen van veranderingen die de compatibiliteit verstoren. Behalve het beƫindigen van de ondersteuning voor het FTP-protocol en het WARC-formaat, kan wget2 in de meeste situaties fungeren als een transparante vervanging van de klassieke wget-tool.

Desondanks heeft wget2 enkele gedocumenteerde verschillen in gedrag, biedt het ongeveer 30 extra opties en schrapt het ondersteuning voor tientallen opties. Dit omvat het stopzetten van de verwerking van opties zoals "—ask-password", "—header", "—exclude-directories", "—ftp*", "—warc*", "—limit-rate", "—relative" en "—unlink".

Onder de belangrijkste innovaties kunnen we het volgende noemen:

  • Verplaatsing van functionaliteit naar de libwget-bibliotheek.
  • Overstap naar een multi-threaded architectuur.
  • Mogelijkheid voor gelijktijdige totstandkoming van meerdere verbindingen en downloads in meerdere threads. Ook is het mogelijk om de download van ƩƩn bestand parallel te splitsen in blokken met behulp van de optie "—chunk-size".
  • Ondersteuning voor het HTTP/2-protocol.
  • Gebruik van de HTTP-header If-Modified-Since voor het downloaden van alleen de gewijzigde gegevens.
  • Overgang naar het gebruik van externe bandbreedtebeperkingen, zoals trickle.
  • Ondersteuning voor de Accept-Encoding-header, overdracht van gegevens in gecomprimeerde vorm en compressie-algoritmen zoals brotli, zstd, lzip, gzip, deflate, lzma en bzip2.
  • Ondersteuning voor TLS 1.3, het OCSP (Online Certificate Status Protocol) voor het controleren van ingetrokken certificaten, het HSTS (HTTP Strict Transport Security)-mechanisme voor geforceerde omleiding naar HTTPS en HPKP (HTTP Public Key Pinning) voor het koppelen van certificaten.
  • Mogelijkheid om GnuTLS, WolfSSL en OpenSSL te gebruiken als backends voor TLS.
  • Ondersteuning voor de snelle opening van TCP-verbindingen (TCP FastOpen).
  • Ingebouwde ondersteuning voor het Metalink-formaat.
  • Ondersteuning voor geĆÆnternationaliseerde domeinnamen (IDNA2008).
  • De mogelijkheid om tegelijkertijd via meerdere proxy's te werken,servers (ƩƩn stroom wordt geladen via ƩƩn proxy, de tweede via een andere).
  • Ingebouwde ondersteuning voor nieuwsfeeds in Atom- en RSS-indelingen (bijvoorbeeld voor het scannen en laden van links). RSS/Atom-gegevens kunnen worden geladen vanuit een lokaal bestand of via het netwerk.
  • Ondersteuning voor het extraheren van URL's uit Sitemap-bestanden. Beschikbaarheid van parsers voor het extraheren van links uit CSS- en XML-bestanden.
  • Ondersteuning voor de 'include'-directive in configuratiebestanden en het verdelen van instellingen over meerdere bestanden (/etc/wget/conf.d/*.conf).
  • Ingebouwd mechanisme voor het cachen van DNS-aanvragen.
  • Mogelijkheid om inhoud te hercoderen met wijziging van de documentcodering.
  • Rekening houden met het bestand 'robots.txt' bij recursieve downloads.
  • Betrouwbare schrijfmodus met aanroep van fsync() na het opslaan van gegevens.
  • Mogelijkheid om onderbroken TLS-sessies te hervatten, evenals het cachen en opslaan van TLS-sessieparameters in een bestand.
  • Modus ā€˜ā€”input-file —’ voor het downloaden van URL's die binnenkomen via de standaardinvoer.
  • Controle van de reikwijdte van cookies op basis van de publieke domeinsuffixenlijst (Public Suffix List) voor isolatie van verschillende sites die zijn ondergebracht in hetzelfde tweede-niveau domein (bijvoorbeeld ā€˜a.github.io’ en ā€˜b.github.io’).
  • Ondersteuning voor het streamen van downloads in ICEcast / SHOUTcast-indeling.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster