Ukukhutshwa kokuqala okuzinzileyo kosetyenziso lokukhuphela umxholo wewebhu we-GNU Wget2

Emva kweminyaka emithathu enesiqingatha yophuhliso, ukhupho lokuqala oluzinzileyo lweprojekthi ye-GNU Wget2 iye yanikezelwa, iphuhlisa inguqulelo ehlaziyiweyo ngokupheleleyo yenkqubo yokuzenzekela ukukhuphela okuphindaphindiweyo komxholo we-GNU Wget. I-GNU Wget2 yayiyilwe yaza yabhalwa ngokutsha ukusuka ekuqaleni kwaye iphawuleka ngokuhambisa umsebenzi osisiseko womxhasi wewebhu kwilayibrari ye-libwget, enokusetyenziswa ngokwahlukeneyo kwizicelo. Usetyenziso lunelayisensi phantsi kwe-GPLv3+, kwaye ithala leencwadi linelayisensi phantsi kwe-LGPLv3+.

Esikhundleni sokuphinda kuhlaziywe ngokuthe ngcembe isiseko sekhowudi ekhoyo, kwagqitywa ukuba kwenziwe kwakhona yonke into ukususela ekuqaleni kwaye kusekwe isebe le-Wget2 elahlukileyo ukuphumeza iingcamango zokuhlengahlengiswa, ukwandisa ukusebenza kunye nokwenza utshintsho oluphula ukuhambelana. Ngaphandle kokuthotywa kweprotocol ye-FTP kunye nefomathi ye-WARC, i-wget2 inokusebenza njengokutshintshwa okucacileyo kwe-classic wget utility kwiimeko ezininzi.

Nangona kunjalo, i-wget2 inomahluko obhaliweyo wokuziphatha, ibonelela malunga neenketho ezingama-30 ezongezelelweyo, kwaye iyeke ukuxhasa iinketho ezininzi. Kubandakanya ukusetyenzwa kweenketho ezinje ngo “-ask-password”, “-header”, “-exclude-directories”, “-ftp*”, “-warc*”, “-limit-rate”, “-relative” iye iyekile " kunye "---susa ikhonkco".

Iinguqulelo eziphambili ziquka:

  • Ukuhambisa ukusebenza kwilayibrari ye-libwget.
  • Ukutshintshela kwi-architecture enemisonto emininzi.
  • Ukukwazi ukuseka imidibaniso emininzi ngokunxuseneyo kunye nokukhuphela kwimisonto emininzi. Kuyenzeka kwakhona ukulinganisa ukukhuphela kwefayile enye eyahlulwe kwiibhloko usebenzisa i "-chunk-size" ukhetho.
  • Inkxaso yeprotocol yeHTTP/2.
  • Sebenzisa i-If-Modified-Since HTTP header ukukhuphela kuphela idatha elungisiweyo.
  • Tshintshela ekusebenziseni imida yangaphandle ye-bandwidth efana ne-trickle.
  • Inkxaso yoKwamkela-i-Encoding header, ukuhanjiswa kwedatha ecinezelweyo, kunye ne-brotli, zstd, lzip, gzip, deflate, lzma, kunye ne-bzip2 compression algorithms.
  • Inkxaso ye-TLS 1.3, i-OCSP (i-Online Certificate Status Protocol) yokujonga izatifikethi ezirhoxisiweyo, i-HSTS (uKhuseleko oluQhelekileyo lwezoThutho lwe-HTTP) indlela yokunyanzelisa ukuhanjiswa kwi-HTTPS kunye ne-HPKP (i-HTTP yokuPinwa kweSitshixo sikawonke-wonke) ngokubophelela isatifikethi.
  • Ukukwazi ukusebenzisa i-GnuTLS, iWolfSSL kunye ne-OpenSSL njenge-backends ye-TLS.
  • Inkxaso yokuvula ngokukhawuleza uxhulumaniso lwe-TCP (TCP FastOpen).
  • Inkxaso yefomathi eyakhelwe-ngaphakathi yeMetalink.
  • Inkxaso yamagama esizinda samazwe ngamazwe (IDNA2008).
  • Ukukwazi ukusebenza ngaxeshanye ngeeseva ezininzi zommeli (umlambo omnye uya kulayishwa ngeproxy enye, kwaye okwesibini ukuya kwenye).
  • Inkxaso eyakhelwe-ngaphakathi kwiifidi zeendaba kwiifomathi ze-Atom kunye ne-RSS (umzekelo, ukuskena kunye nokukhuphela amakhonkco). Idatha yeRSS/Atom inokukhutshelwa kwifayile yendawo okanye ngenethiwekhi.
  • Inkxaso yokukhupha ii-URL kwiimephu zeSayithi. Ubukho babacazululi bokukhupha amakhonkco kwiifayile zeCSS kunye neXML.
  • Inkxaso yomyalelo 'wokubandakanya' kwiifayile zoqwalaselo kunye nokuhanjiswa kwezicwangciso kuzo zonke iifayile ezininzi (/etc/wget/conf.d/*.conf).
  • Eyakhelwe-ngaphakathi kwi-DNS yombuzo we-caching mechanism.
  • Ukubanakho kokubhalwa kwakhona komxholo ngokutshintsha ukukhowudwa koxwebhu.
  • Ukubalwa kwefayile ye "robots.txt" ngexesha lokukhuphela okuphindaphindiweyo.
  • Imowudi yokubhala ethembekileyo ngefsync () umnxeba emva kokugcina idatha.
  • Ukukwazi ukuqalisa kwakhona iiseshoni ze-TLS eziphazamisekileyo, kunye ne-cache kunye nokugcina iiparamitha zeseshoni ye-TLS kwifayile.
  • "--input-file-" imowudi yokulayisha ii-URL eziza ngomjelo wongeniso osemgangathweni.
  • Ukujonga umda we-Cookie ngokuchasene noluhlu lwezimamva zesizinda sikawonke-wonke (Uludwe lwesimamva sikawonke-wonke) ukwahlula kwezinye iisayithi ezahlukeneyo ezibanjwe kwi-domain yenqanaba lesibini elifanayo (umzekelo, "a.github.io" kunye ne "b.github. yiyo").
  • Ixhasa ukukhuphela i-ICEcast/SHOUTcast ustrimisho.

umthombo: opennet.ru

Yongeza izimvo