Pirmasis stabilus GNU žiniatinklio turinio atsisiuntimo Wget2 programos leidimas

Po trejų su puse metų kūrimo buvo pristatytas pirmasis stabilus GNU Wget2 projekto leidimas, kuriame sukurta visiškai pertvarkyta programos versija, skirta automatizuoti rekursinį GNU Wget turinio atsisiuntimą. GNU Wget2 buvo sukurtas ir perrašytas nuo nulio ir pasižymi tuo, kad pagrindinės žiniatinklio kliento funkcijos perkeliamos į libwget biblioteką, kuri gali būti naudojama atskirai programose. Priemonė licencijuota pagal GPLv3+, o biblioteka – pagal LGPLv3+.

Užuot laipsniškai pertvarkius esamą kodų bazę, buvo nuspręsta viską perdaryti nuo nulio ir įkurti atskirą Wget2 filialą, kad būtų įgyvendintos pertvarkos, funkcionalumo didinimo ir suderinamumą pažeidžiančių pakeitimų idėjos. Išskyrus FTP protokolo ir WARC formato nebenaudojamą, wget2 daugeliu atvejų gali veikti kaip skaidrus klasikinės wget programos pakaitalas.

Nepaisant to, wget2 turi tam tikrų dokumentuotų elgesio skirtumų, suteikia apie 30 papildomų parinkčių ir nustoja palaikyti kelias dešimtis parinkčių. Apdorojant tokias parinktis kaip „-ask-password“, „-header“, „-exclude-directories“, „-ftp*“, „-warc*“, „-limit-rate“, „-relative“ sustabdytas " ir "--atsieti".

Pagrindinės naujovės apima:

  • Funkcijų perkėlimas į libwget biblioteką.
  • Perėjimas prie kelių gijų architektūros.
  • Galimybė užmegzti kelis ryšius lygiagrečiai ir atsisiųsti į kelias gijas. Taip pat galima lygiagrečiai atsisiųsti vieno failo, suskirstyto į blokus, atsisiuntimą, naudojant parinktį „-chunk-size“.
  • HTTP/2 protokolo palaikymas.
  • Naudokite If-Modified-Since HTTP antraštę, kad atsisiųstumėte tik pakeistus duomenis.
  • Perjunkite prie išorinių pralaidumo ribotuvų, pvz., „Trickkle“, naudojimo.
  • Accept-Encoding antraštės, suspaustų duomenų perdavimo ir brotli, zstd, lzip, gzip, deflate, lzma ir bzip2 glaudinimo algoritmų palaikymas.
  • Palaikymas TLS 1.3, OCSP (Online Certificate Status Protocol) atšauktų sertifikatų tikrinimui, HSTS (HTTP Strict Transport Security) mechanizmas, skirtas priverstinai nukreipti į HTTPS ir HPKP (HTTP viešojo rakto prisegimas) sertifikatų susiejimui.
  • Galimybė naudoti GnuTLS, WolfSSL ir OpenSSL kaip TLS pagrindines programas.
  • Greito TCP jungčių atidarymo palaikymas (TCP FastOpen).
  • Integruotas Metalink formato palaikymas.
  • Internacionalizuotų domenų vardų palaikymas (IDNA2008).
  • Galimybė vienu metu dirbti per kelis tarpinius serverius (vienas srautas bus įkeliamas per vieną tarpinį serverį, o antrasis per kitą).
  • Integruotas naujienų kanalų Atom ir RSS formatų palaikymas (pavyzdžiui, nuorodoms nuskaityti ir atsisiųsti). RSS/Atom duomenis galima atsisiųsti iš vietinio failo arba per tinklą.
  • URL išskleidimo iš svetainių schemų palaikymas. Galimybė analizuoti nuorodas iš CSS ir XML failų.
  • „Include“ direktyvos palaikymas konfigūracijos failuose ir nustatymų paskirstymas keliuose failuose (/etc/wget/conf.d/*.conf).
  • Integruotas DNS užklausų kaupimo talpykloje mechanizmas.
  • Galimybė perkoduoti turinį keičiant dokumento kodavimą.
  • Failo „robots.txt“ apskaita rekursinio atsisiuntimo metu.
  • Patikimas rašymo režimas su fsync() iškvietimu išsaugojus duomenis.
  • Galimybė atnaujinti nutrauktas TLS seansus, taip pat talpykloje ir išsaugoti TLS seanso parametrus faile.
  • „--input-file-“ režimas, skirtas įkelti URL, gaunamus per standartinį įvesties srautą.
  • Tikrinama slapuko apimtis pagal viešojo domeno priesagų katalogą (viešųjų priesagų sąrašą), kad būtų atskirtos viena nuo kitos skirtingos svetainės, priglobtos tame pačiame antrojo lygio domene (pvz., „a.github.io“ ir „b.github. io“).
  • Palaiko ICEcast / SHOUTcast srautinio perdavimo atsisiuntimą.

Šaltinis: opennet.ru

Добавить комментарий