Den første stabile udgivelse af værktøjet til download af GNU-webindhold Wget2

Efter tre et halvt års udvikling er den første stabile udgivelse af GNU Wget2-projektet blevet præsenteret, der udvikler en fuldstændig redesignet version af programmet til automatisering af den rekursive download af GNU Wget-indhold. GNU Wget2 blev designet og omskrevet fra bunden og er bemærkelsesværdig for at flytte den grundlæggende funktionalitet af en webklient ind i libwget-biblioteket, som kan bruges separat i applikationer. Værktøjet er licenseret under GPLv3+, og biblioteket er licenseret under LGPLv3+.

I stedet for gradvist at omarbejde den eksisterende kodebase, blev det besluttet at lave alt om fra bunden og etablere en separat Wget2-gren for at implementere ideer til omstrukturering, øge funktionaliteten og lave ændringer, der bryder kompatibiliteten. Med undtagelse af udfasningen af ​​FTP-protokollen og WARC-formatet kan wget2 fungere som en gennemsigtig erstatning for det klassiske wget-værktøj i de fleste situationer.

Imidlertid har wget2 nogle dokumenterede forskelle i adfærd, giver omkring 30 yderligere muligheder og holder op med at understøtte flere dusin muligheder. Herunder behandling af sådanne muligheder som "-spørg-adgangskode", "-header", "-ekskluder-mapper", "-ftp*", "-warc*", "-limit-rate", "-relative" er blevet stoppede " og "--fjern link".

Nøgleinnovationer omfatter:

  • Flytter funktionalitet til libwget-biblioteket.
  • Overgang til flertrådsarkitektur.
  • Mulighed for at etablere flere forbindelser parallelt og downloade til flere tråde. Det er også muligt at parallelisere download af en fil opdelt i blokke ved at bruge "-chunk-size" muligheden.
  • HTTP/2 protokol understøttelse.
  • Brug If-Modified-Since HTTP-headeren til kun at downloade de ændrede data.
  • Skift til at bruge eksterne båndbreddebegrænsere såsom trickle.
  • Understøttelse af Accept-Encoding header, komprimeret dataoverførsel og brotli, zstd, lzip, gzip, deflate, lzma og bzip2 komprimeringsalgoritmer.
  • Understøttelse af TLS 1.3, OCSP (Online Certificate Status Protocol) til kontrol af tilbagekaldte certifikater, HSTS (HTTP Strict Transport Security) mekanisme til at tvinge omdirigering til HTTPS og HPKP (HTTP Public Key Pinning) til certifikatbinding.
  • Mulighed for at bruge GnuTLS, WolfSSL og OpenSSL som backends til TLS.
  • Understøttelse af hurtig åbning af TCP-forbindelser (TCP FastOpen).
  • Indbygget Metalink-formatunderstøttelse.
  • Understøttelse af internationaliserede domænenavne (IDNA2008).
  • Muligheden for at arbejde gennem flere proxyservere samtidigt (en strøm vil blive indlæst gennem en proxy, og den anden gennem en anden).
  • Indbygget understøttelse af nyhedsfeeds i Atom- og RSS-formater (for eksempel til scanning og download af links). RSS/Atom-data kan downloades fra en lokal fil eller over netværket.
  • Understøttelse af udtrækning af URL'er fra sitemaps. Tilgængelighed af parsere til at udtrække links fra CSS- og XML-filer.
  • Understøttelse af 'include'-direktivet i konfigurationsfiler og distribution af indstillinger på tværs af flere filer (/etc/wget/conf.d/*.conf).
  • Indbygget DNS-forespørgselscachemekanisme.
  • Mulighed for omkodning af indhold ved at ændre dokumentkodningen.
  • Regnskab for filen "robots.txt" under rekursive downloads.
  • Pålidelig skrivetilstand med fsync()-kald efter lagring af data.
  • Evnen til at genoptage afbrudte TLS-sessioner samt cache og gemme TLS-sessionsparametre til en fil.
  • "--input-file-"-tilstand til indlæsning af URL'er, der kommer gennem standardinputstrømmen.
  • Kontrol af omfanget af cookien i forhold til kataloget over offentlige domænesuffikser (Public Suffix List) for at isolere forskellige websteder fra hinanden, der er hostet i det samme domæne på andet niveau (f.eks. "a.github.io" og "b.github. io").
  • Understøtter download af ICEcast/SHOUTcast-streaming.

Kilde: opennet.ru

Tilføj en kommentar