Prvé stabilné vydanie nástroja na sťahovanie webového obsahu GNU Wget2

Po tri a pol roku vývoja bola predstavená prvá stabilná verzia projektu GNU Wget2, ktorá vyvinula úplne prepracovanú verziu programu na automatizáciu rekurzívneho sťahovania obsahu GNU Wget. GNU Wget2 bol navrhnutý a prepísaný od začiatku a je pozoruhodný tým, že presunul základné funkcie webového klienta do knižnice libwget, ktorú je možné použiť samostatne v aplikáciách. Pomôcka je licencovaná pod GPLv3+ a knižnica je licencovaná pod LGPLv3+.

Namiesto postupného prepracovania existujúcej kódovej základne bolo rozhodnuté prerobiť všetko od začiatku a založiť samostatnú pobočku Wget2 na implementáciu nápadov na reštrukturalizáciu, zvýšenie funkčnosti a vykonanie zmien, ktoré narušia kompatibilitu. S výnimkou ukončenia podpory FTP protokolu a formátu WARC môže wget2 vo väčšine situácií fungovať ako transparentná náhrada klasickej wget utility.

Ako už bolo povedané, wget2 má niektoré zdokumentované rozdiely v správaní, poskytuje asi 30 ďalších možností a prestáva podporovať niekoľko desiatok možností. Vrátane spracovania takých možností ako „-ask-password“, „-header“, „-exclude-directories“, „-ftp*“, „-warc*“, „-limit-rate“, „-relative“ bolo zastavené " a "--unlink".

Medzi kľúčové inovácie patrí:

  • Presun funkčnosti do knižnice libwget.
  • Prechod na viacvláknovú architektúru.
  • Schopnosť vytvoriť viacero pripojení paralelne a stiahnuť do viacerých vlákien. Je tiež možné paralelizovať sťahovanie jedného súboru rozdeleného do blokov pomocou možnosti „-chunk-size“.
  • Podpora protokolu HTTP/2.
  • Ak chcete stiahnuť iba upravené údaje, použite hlavičku HTTP If-Modified-Since.
  • Prepnite na používanie externých obmedzovačov šírky pásma, ako je napr.
  • Podpora hlavičky Accept-Encoding, komprimovaného prenosu údajov a kompresných algoritmov brotli, zstd, lzip, gzip, deflate, lzma a bzip2.
  • Podpora TLS 1.3, OCSP (Online Certificate Status Protocol) na kontrolu zrušených certifikátov, mechanizmus HSTS (HTTP Strict Transport Security) na vynútenie presmerovania na HTTPS a HPKP (HTTP Public Key Pinning) na viazanie certifikátov.
  • Schopnosť používať GnuTLS, WolfSSL a OpenSSL ako backendy pre TLS.
  • Podpora rýchleho otvárania TCP spojení (TCP FastOpen).
  • Zabudovaná podpora formátu Metalink.
  • Podpora pre internacionalizované názvy domén (IDNA2008).
  • Schopnosť súčasne pracovať cez niekoľko proxy serverov (jeden stream sa načíta cez jeden proxy a druhý cez iný).
  • Zabudovaná podpora pre spravodajské kanály vo formátoch Atom a RSS (napríklad na skenovanie a sťahovanie odkazov). Údaje RSS/Atom je možné stiahnuť z lokálneho súboru alebo cez sieť.
  • Podpora extrahovania adries URL zo súborov Sitemap. Dostupnosť syntaktických analyzátorov na extrahovanie odkazov zo súborov CSS a XML.
  • Podpora direktívy 'include' v konfiguračných súboroch a distribúcia nastavení do niekoľkých súborov (/etc/wget/conf.d/*.conf).
  • Vstavaný mechanizmus ukladania DNS dotazov do vyrovnávacej pamäte.
  • Možnosť prekódovania obsahu zmenou kódovania dokumentu.
  • Účtovanie súboru „robots.txt“ počas rekurzívneho sťahovania.
  • Spoľahlivý režim zápisu s volaním fsync() po uložení údajov.
  • Schopnosť obnoviť prerušené relácie TLS, ako aj ukladať parametre relácie TLS do vyrovnávacej pamäte a ukladať ich do súboru.
  • Režim "--input-file-" na načítanie adries URL prichádzajúcich cez štandardný vstupný tok.
  • Kontrola rozsahu súboru cookie v porovnaní s adresárom prípon verejnej domény (Zoznam verejných prípon), aby sa navzájom izolovali rôzne lokality hosťované v rovnakej doméne druhej úrovne (napríklad „a.github.io“ a „b.github. io”).
  • Podporuje sťahovanie streamovania ICEcast/SHOUTcast.

Zdroj: opennet.ru

Pridať komentár