Den første stabile utgivelsen av verktøyet for nedlasting av GNU-nettinnhold Wget2

Etter tre og et halvt år med utvikling har den første stabile utgivelsen av GNU Wget2-prosjektet blitt presentert, og utviklet en fullstendig redesignet versjon av programmet for å automatisere rekursiv nedlasting av GNU Wget-innhold. GNU Wget2 ble designet og omskrevet fra bunnen av og er kjent for å flytte den grunnleggende funksjonaliteten til en webklient inn i libwget-biblioteket, som kan brukes separat i applikasjoner. Verktøyet er lisensiert under GPLv3+, og biblioteket er lisensiert under LGPLv3+.

I stedet for gradvis å omarbeide den eksisterende kodebasen, ble det besluttet å gjøre om alt fra bunnen av og etablere en egen Wget2-gren for å implementere ideer for restrukturering, øke funksjonaliteten og gjøre endringer som bryter kompatibiliteten. Med unntak av deprecieringen av FTP-protokollen og WARC-formatet, kan wget2 fungere som en transparent erstatning for det klassiske wget-verktøyet i de fleste situasjoner.

Når det er sagt, har wget2 noen dokumenterte forskjeller i oppførsel, gir omtrent 30 tilleggsalternativer, og slutter å støtte flere dusin alternativer. Inkludert behandling av alternativer som "-spør-passord", "-header", "-ekskluder-kataloger", "-ftp*", "-warc*", "-limit-rate", "-relative" har vært stoppet " og "--unlink".

Viktige innovasjoner inkluderer:

  • Flytter funksjonalitet til libwget-biblioteket.
  • Overgang til flertrådsarkitektur.
  • Evne til å etablere flere forbindelser parallelt og laste ned til flere tråder. Det er også mulig å parallellisere nedlastingen av en fil delt inn i blokker ved å bruke alternativet "-chunk-size".
  • HTTP/2-protokollstøtte.
  • Bruk If-Modified-Since HTTP-overskriften for å laste ned kun de modifiserte dataene.
  • Bytt til å bruke eksterne båndbreddebegrensere som trickle.
  • Støtte for Accept-Encoding header, komprimert dataoverføring og brotli, zstd, lzip, gzip, deflate, lzma og bzip2 komprimeringsalgoritmer.
  • Støtte for TLS 1.3, OCSP (Online Certificate Status Protocol) for kontroll av tilbakekalte sertifikater, HSTS (HTTP Strict Transport Security) mekanisme for å tvinge omdirigering til HTTPS og HPKP (HTTP Public Key Pinning) for sertifikatbinding.
  • Evne til å bruke GnuTLS, WolfSSL og OpenSSL som backends for TLS.
  • Støtte for rask åpning av TCP-forbindelser (TCP FastOpen).
  • Innebygd Metalink-formatstøtte.
  • Støtte for internasjonaliserte domenenavn (IDNA2008).
  • Muligheten til å jobbe gjennom flere proxy-servere samtidig (en strøm vil bli lastet gjennom en proxy, og den andre gjennom en annen).
  • Innebygd støtte for nyhetsfeeder i Atom- og RSS-formater (for eksempel for skanning og nedlasting av lenker). RSS/Atom-data kan lastes ned fra en lokal fil eller over nettverket.
  • Støtte for å trekke ut nettadresser fra nettkart. Tilgjengelighet av parsere for å trekke ut lenker fra CSS- og XML-filer.
  • Støtte for 'inkluder'-direktivet i konfigurasjonsfiler og distribusjon av innstillinger på tvers av flere filer (/etc/wget/conf.d/*.conf).
  • Innebygd DNS-spørringsbufringsmekanisme.
  • Mulighet for omkoding av innhold ved å endre dokumentkodingen.
  • Regnskap for "robots.txt"-filen under rekursive nedlastinger.
  • Pålitelig skrivemodus med fsync()-kall etter lagring av data.
  • Muligheten til å gjenoppta avbrutte TLS-økter, samt bufre og lagre TLS-sesjonsparametere til en fil.
  • "--input-file-"-modus for å laste nettadresser som kommer gjennom standardinndatastrømmen.
  • Kontrollere omfanget av informasjonskapselen mot katalogen over offentlige domene-suffikser (Public Suffix List) for å isolere fra hverandre forskjellige nettsteder som er vert i samme andrenivådomene (for eksempel "a.github.io" og "b.github. io").
  • Støtter nedlasting av ICEcast/SHOUTcast-streaming.

Kilde: opennet.ru

Legg til en kommentar