La unua stabila eldono de la ilo por elŝuti GNU-retenhavon Wget2

Post tri-kaj-duono jaroj da evoluo, estis prezentita la unua stabila eldono de la projekto GNU Wget2, evoluigante tute restrukturitan version de la programo por aŭtomatigi la rekursivan elŝuton de enhavo de GNU Wget. GNU Wget2 estis dizajnita kaj reverkita de nulo kaj estas rimarkinda pro movi la bazan funkciecon de retkliento en la libwget-bibliotekon, kiu povas esti uzata aparte en aplikoj. La ilo estas licencita sub GPLv3+, kaj la biblioteko estas licencita sub LGPLv3+.

Anstataŭ iom post iom reverki la ekzistantan kodbazon, estis decidite refari ĉion de nulo kaj establi apartan Wget2-branĉon por efektivigi ideojn por restrukturado, pliigante funkciecon kaj farante ŝanĝojn kiuj rompas kongruecon. Kun la escepto de la malrekomendigo de la FTP-protokolo kaj la WARC-formato, wget2 povas funkcii kiel travidebla anstataŭaĵo por la klasika wget-utilo en la plej multaj situacioj.

Dirite, wget2 havas kelkajn dokumentitajn diferencojn en konduto, disponigas ĉirkaŭ 30 aldonajn opciojn kaj ĉesas subteni plurajn dekduojn da opcioj. Inkluzive de prilaborado de tiaj opcioj kiel "-ask-password", "-header", "-exclude-directories", "-ftp*", "-warc*", "-limit-rate", "-relative" estis haltigis " kaj "--malligi".

Ŝlosilaj novigoj inkluzivas:

  • Movante funkciecon al la biblioteko libwget.
  • Transiro al plurfadena arkitekturo.
  • Kapablo establi plurajn konektojn paralele kaj elŝuti al pluraj fadenoj. Ankaŭ eblas paraleligi la elŝuton de unu dosiero dividita en blokojn uzante la opcion "-chunk-size".
  • Subteno de protokolo HTTP/2.
  • Uzu la If-Modified-Since HTTP-kapon por elŝuti nur la modifitajn datumojn.
  • Ŝanĝu al uzado de eksteraj bendolarĝaj limigiloj kiel trickle.
  • Subteno por Accept-Encoding kaplinio, kunpremita datumtransigo, kaj brotli, zstd, lzip, gzip, deflate, lzma, kaj bzip2 kunpremado algoritmoj.
  • Subteno por TLS 1.3, OCSP (Online Certificate Status Protocol) por kontrolado de revokitaj atestiloj, HSTS (HTTP Strict Transport Security) mekanismo por devigi alidirektado al HTTPS kaj HPKP (HTTP Public Key Pinning) por atestligado.
  • Kapablo uzi GnuTLS, WolfSSL kaj OpenSSL kiel backends por TLS.
  • Subteno por rapida malfermo de TCP-konektoj (TCP FastOpen).
  • Enkonstruita Metalink-formata subteno.
  • Subteno por internaciigitaj domajnaj nomoj (IDNA2008).
  • La kapablo samtempe labori per pluraj prokuraj serviloj (unu fluo estos ŝarĝita per unu prokurilo, kaj la dua per alia).
  • Enkonstruita subteno por novaĵfluoj en Atom kaj RSS-formatoj (ekzemple por skanado kaj elŝutado de ligiloj). RSS/Atom-datumoj povas esti elŝutitaj de loka dosiero aŭ tra la reto.
  • Subteno por ĉerpi URL-ojn de Retmapoj. Havebleco de analiziloj por ĉerpi ligilojn de CSS kaj XML-dosieroj.
  • Subteno por la direktivo 'inkluzivi' en agordaj dosieroj kaj distribuado de agordoj tra pluraj dosieroj (/etc/wget/conf.d/*.conf).
  • Enkonstruita DNS-demandaj kaŝmemormekanismo.
  • Ebleco rekodi enhavon ŝanĝante la dokumentkodigon.
  • Konsiderante la dosieron "robots.txt" dum rekursiaj elŝutoj.
  • Fidinda skribreĝimo kun fsync() voko post konservado de datumoj.
  • La kapablo rekomenci interrompitajn TLS-sesiojn, same kiel kaŝmemori kaj konservi TLS-sesiajn parametrojn al dosiero.
  • "--input-file-" reĝimo por ŝargi URL-ojn venantajn tra la norma eniga fluo.
  • Kontrolante la amplekson de la Kuketo kontraŭ la dosierujo de publikaj sufiksoj (Publika Sufiksoj Listo) por izoli unu de la alia malsamaj retejoj gastigitaj en la sama duanivela domajno (ekzemple, "a.github.io" kaj "b.github. io”).
  • Subtenas elŝuti ICEcast/SHOUTcast-streaming.

fonto: opennet.ru

Aldoni komenton