Eerste stabiele vrystelling van die GNU Wget2-webinhoudaflaaier

Na drie en 'n half jaar van ontwikkeling word die eerste stabiele vrystelling van die GNU Wget2-projek aangebied, wat 'n volledig herontwerpte weergawe van die program ontwikkel vir die outomatisering van die rekursiewe aflaai van GNU Wget-inhoud. GNU Wget2 is van nuuts af ontwerp en herskryf en is opvallend om die basiese funksionaliteit van die webkliënt na die libwget-biblioteek te skuif, wat in selfstandige toepassings gebruik kan word. Die hulpprogram word verskaf onder die GPLv3+-lisensie, en die biblioteek onder die LGPLv3+.

In plaas daarvan om die bestaande kodebasis geleidelik te herwerk, is besluit om alles van nuuts af te maak en 'n aparte tak van Wget2 te vestig om idees vir herstrukturering te implementeer, funksionaliteit te verhoog en veranderinge aan te bring wat versoenbaarheid skend. Met die uitsondering van die einde van ondersteuning vir die FTP-protokol en die WARC-formaat, kan wget2 in die meeste situasies as 'n deursigtige plaasvervanger vir die klassieke wget-hulpmiddel optree.

Dit gesê, wget2 het 'n paar gedokumenteerde gedragsverskille, bied ongeveer 30 bykomende opsies, en laat die ondersteuning vir 'n paar dosyn opsies af. Insluitend die verwerking van opsies soos "--vra-wagwoord", "--kopskrif", "--uitsluit-gidse", "--ftp*", "--warc*", "--limietkoers" , "--relatief ' en '--ontkoppel'.

Sleutel innovasies sluit in:

  • Dra funksionaliteit oor na die libwget-biblioteek.
  • Oorgang na multithreaded argitektuur.
  • Vermoë om verskeie verbindings in parallel te vestig en af ​​te laai na verskeie drade. Dit is veral moontlik om die aflaai van een lêer wat in blokke verdeel is, te paralleliseer deur die opsie "--chunk-size" te gebruik.
  • Ondersteuning vir HTTP/2-protokol.
  • Gebruik die If-Modified-Since HTTP-opskrif om slegs data te laai wat verander het.
  • Oorgang na die gebruik van eksterne bandwydtebeperkers, soos druppel.
  • Ondersteuning vir die Accept-Encoding header, saamgeperste data-oordrag en brotli, zstd, lzip, gzip, deflate, lzma en bzip2 kompressiealgoritmes.
  • Ondersteuning vir TLS 1.3, OCSP (Online Certificate Status Protocol) vir die kontrolering van herroepe sertifikate, HSTS (HTTP Strict Transport Security) vir gedwonge herleiding na HTTPS en HPKP (HTTP Public Key Pinning) vir sertifikaatbinding.
  • Vermoë om GnuTLS, WolfSSL en OpenSSL as backends vir TLS te gebruik.
  • Ondersteuning vir TCP FastOpen-modus (TCP FastOpen).
  • Ingeboude ondersteuning vir die Metalink-formaat.
  • Ondersteuning vir geïnternasionaliseerde domeinname (IDNA2008).
  • Die vermoë om gelyktydig deur verskeie instaanbedieners te werk (een stroom sal deur een instaanbediener gelaai word, die tweede deur 'n ander).
  • Ingeboude ondersteuning vir nuusfeeds in Atom- en RSS-formate (byvoorbeeld vir die deurkruip en aflaai van skakels). RSS/Atom-data kan vanaf 'n plaaslike lêer of oor die netwerk gelaai word.
  • Ondersteuning vir die onttrekking van URL's uit werfkaartlêers. Die teenwoordigheid van ontleders om skakels uit CSS- en XML-lêers te onttrek.
  • Ondersteuning vir die 'insluit'-instruksie in konfigurasielêers en verspreiding van instellings oor verskeie lêers (/etc/wget/conf.d/*.conf).
  • Ingeboude DNS-navraagkasmeganisme.
  • Moontlikheid om inhoud te transkodeer deur die enkodering van die dokument te verander.
  • Verantwoording vir die "robots.txt"-lêer tydens rekursiewe aflaaie.
  • Veilige skryfmodus met fsync() oproep na die stoor van data.
  • Die vermoë om onderbroke TLS-sessies te hervat, sowel as om TLS-sessieparameters in 'n lêer te kas en te stoor.
  • Modus "--invoer-lêer -" om URL's wat deur die standaard invoerstroom kom, te laai.
  • Koekie-omvang kontroleer teen die publieke agtervoegsellys om verskillende werwe wat in dieselfde tweedevlakdomein (byvoorbeeld, "a.github.io" en "b.github.io") van mekaar gehuisves word, te isoleer.
  • Ondersteuning vir die aflaai van regstreekse streaming in ICEcast / SHOUTcast-formaat.

Bron: opennet.ru

Voeg 'n opmerking