Den första stabila utgåvan av verktyget för nedladdning av GNU-webbinnehåll Wget2

Efter tre och ett halvt års utveckling har den första stabila utgåvan av GNU Wget2-projektet presenterats, som utvecklar en helt omdesignad version av programmet för att automatisera rekursiv nedladdning av GNU Wget-innehåll. GNU Wget2 designades och skrevs om från grunden och är känd för att flytta den grundläggande funktionaliteten hos en webbklient till libwget-biblioteket, som kan användas separat i applikationer. Verktyget är licensierat under GPLv3+, och biblioteket är licensierat under LGPLv3+.

Istället för att successivt omarbeta den befintliga kodbasen beslutades det att göra om allt från grunden och etablera en separat Wget2-gren för att implementera idéer för omstrukturering, ökad funktionalitet och göra ändringar som bryter kompatibiliteten. Med undantag för utfasningen av FTP-protokollet och WARC-formatet, kan wget2 fungera som en transparent ersättning för det klassiska verktyget wget i de flesta situationer.

Med det sagt, wget2 har några dokumenterade skillnader i beteende, ger cirka 30 ytterligare alternativ och slutar stödja flera dussin alternativ. Inklusive bearbetning av sådana alternativ som "-fråga-lösenord", "-header", "-exkludera-kataloger", "-ftp*", "-warc*", "-limit-rate", "-relative" har varit stoppade " och "--unlink".

Viktiga innovationer inkluderar:

  • Flyttar funktionalitet till libwget-biblioteket.
  • Övergång till flertrådig arkitektur.
  • Möjlighet att upprätta flera anslutningar parallellt och ladda ner till flera trådar. Det är också möjligt att parallellisera nedladdningen av en fil uppdelad i block med alternativet "-chunk-size".
  • Stöd för HTTP/2-protokoll.
  • Använd HTTP-huvudet If-Modified-Since för att bara ladda ner modifierad data.
  • Byt till att använda externa bandbreddsbegränsare som trickle.
  • Stöd för Accept-Encoding header, komprimerad dataöverföring och brotli, zstd, lzip, gzip, deflate, lzma och bzip2 komprimeringsalgoritmer.
  • Stöd för TLS 1.3, OCSP (Online Certificate Status Protocol) för kontroll av återkallade certifikat, HSTS (HTTP Strict Transport Security) mekanism för att tvinga omdirigering till HTTPS och HPKP (HTTP Public Key Pinning) för certifikatbindning.
  • Möjlighet att använda GnuTLS, WolfSSL och OpenSSL som backends för TLS.
  • Stöd för snabb öppning av TCP-anslutningar (TCP FastOpen).
  • Inbyggt Metalink-formatstöd.
  • Stöd för internationaliserade domännamn (IDNA2008).
  • Möjligheten att samtidigt arbeta genom flera proxyservrar (en ström laddas via en proxy och den andra genom en annan).
  • Inbyggt stöd för nyhetsflöden i Atom- och RSS-format (till exempel för att skanna och ladda ner länkar). RSS/Atom-data kan laddas ner från en lokal fil eller över nätverket.
  • Stöd för att extrahera webbadresser från webbplatskartor. Tillgänglighet av parsers för att extrahera länkar från CSS- och XML-filer.
  • Stöd för 'include'-direktivet i konfigurationsfiler och distribution av inställningar över flera filer (/etc/wget/conf.d/*.conf).
  • Inbyggd mekanism för cachning av DNS-frågor.
  • Möjlighet att koda om innehåll genom att ändra dokumentkodningen.
  • Redovisning av filen "robots.txt" under rekursiva nedladdningar.
  • Tillförlitligt skrivläge med fsync()-anrop efter att ha sparat data.
  • Möjligheten att återuppta avbrutna TLS-sessioner, samt cache och spara TLS-sessionsparametrar till en fil.
  • "--input-file-"-läge för att ladda webbadresser som kommer genom standardinmatningsströmmen.
  • Kontrollera omfattningen av kakan mot katalogen över offentliga suffix (lista med offentliga suffix) för att isolera från varandra olika webbplatser som finns på samma andranivådomän (till exempel "a.github.io" och "b.github. io").
  • Stöder nedladdning av ICEcast/SHOUTcast-strömning.

Källa: opennet.ru

Lägg en kommentar