Pas pas tre viteve zhvillimi është prezantuar versioni i parë stabil i projektit GNU Wget2, i cili zhvillon një variant të ri të programit për automatizimin e shkarkimeve recursive të përmbajtjeve nga GNU Wget. GNU Wget2 është projektuar dhe rishkruar nga e para dhe është i njohur për nxjerrjen e funksionaliteteve bazë të klientit web në bibliotekën libwget, e cila mund të përdoret në aplikacione në mënyrë të pavarur. Nga utilitarja ofrohet nën licencën GPLv3+, ndërsa biblioteka nën LGPLv3+.
Përveç rishikimit gradual të kodit ekzistues, u vendos të riorganizohet gjithçka nga e para dhe të krijohet një degë e veçantë Wget2 për të realizuar ide për restrukturimin, zgjerimin e funksionalitetit dhe kryerjen e ndryshimeve që dëmtojnë përputhshmërisë. Përveç ndalimit të mbështetjes për protokollin FTP dhe formatin WARC, wget2 në shumicën e situatave mund të shërbejë si një zëvendësim transparent i utilitarit klasik wget.
NĂ« kĂ«tĂ« mĂ«nyrĂ« wget2 ka disa dallime tĂ« dokumentuara nĂ« sjellje, ofron rreth 30 mundĂ«si shtesĂ« dhe ndalon mbĂ«shtetje pĂ«r disa dhjetĂ«ra opsione. NĂ« mes tyre Ă«shtĂ« ndaluar pĂ«rpunimi i opsioneve si "âask-password", "âheader", "âexclude-directories", "âftp*", "âwarc*", "âlimit-rate", "ârelative" dhe "âunlink".
Disa nga risitë kryesore përfshijnë:
- Nxjerrja e funksionalitetit në bibliotekën libwget.
- Kalimi në një arkitekturë multi-thread.
- MundĂ«sia pĂ«r tĂ« instaluar disa lidhje paralelisht dhe pĂ«r tĂ« shkarkuar nĂ« disa copa. Kjo pĂ«rfshin mundĂ«sinĂ« pĂ«r tĂ« bĂ«rĂ« shkarkimin e njĂ« skedari njĂ«kohĂ«sisht duke e ndarĂ« nĂ« blloqe me opsionin "âchunk-size".
- Mbështetje për protokollin HTTP/2.
- Përdorimi i header-it HTTP If-Modified-Since për të shkarkuar vetëm të dhënat që kanë ndryshuar.
- Kalimi në përdorimin e kufizuesve të jashtëm të lëvizshmërisë, siç është trickle.
- Mbështetje për headerin Accept-Encoding, transmetimin e të dhënave në formë të kompresuar dhe algoritmet e kompresimit brotli, zstd, lzip, gzip, deflate, lzma dhe bzip2.
- Mbështetje për TLS 1.3, protokollin OCSP (Online Certificate Status Protocol) për verifikimin e certifikatave të revokuara, mekanizmin HSTS (HTTP Strict Transport Security) për të detyruar ridrejtimin në HTTPS dhe HPKP (HTTP Public Key Pinning) për lidhjen e certifikatave.
- Mundësia për të përdorur GnuTLS, WolfSSL dhe OpenSSL si backends për TLS.
- Mbështetje për mënyrën e hapjes së shpejtë të lidhjeve TCP (TCP FastOpen).
- Mbështetje të integruar për formatin Metalink.
- Mbështetje për ndërkombëtarizimin emrash domenesh (IDNA2008).
- Mundësi për të punuar në të njëjtën kohë përmes disa proxy-ve.serverësh (një rrjedh do të ngarkohet përmes një proxy, ndërsa tjetra përmes një tjetër).
- Mbështetje e ndërtuar për kanale lajmesh në formate Atom dhe RSS (për shembull, për skanimin dhe shkarkimin e lidhjeve). Të dhënat RSS/Atom mund të ngarkohen nga një skedar lokal ose përmes rrjetit.
- Mbështetje për nxjerrjen e URL nga skedarët Sitemap. Prania e parserëve për nxjerrjen e lidhjeve nga skedarët CSS dhe XML.
- MbĂ«shtetje pĂ«r direktivĂ«n âincludeâ nĂ« skedarĂ«t e konfigurimit dhe shpĂ«rndarjen e cilĂ«simeve nĂ« disa skedarĂ« (/etc/wget/conf.d/*.conf).
- Mekanizëm i ndërtuar për keqkuptimin e kërkesave DNS.
- Mundësia për të koduar përmbajtjen me ndërrimin e kodit të dokumentit.
- Marrja parasysh e skedarit ârobots.txtâ gjatĂ« shkarkimeve rekurzive.
- Rekordim i besueshëm me thirrjen fsync() pas ruajtjes së të dhënave.
- Mundësia për të rinisur seancat TLS të ndërprera, si dhe për keqkuptimin dhe ruajtjen në një skedar të parametrave të seancës TLS.
- Regjimi ââinput-file ââ pĂ«r shkarkimin e URL-ve qĂ« vijnĂ« pĂ«rmes rrjedhĂ«s standarde tĂ« hyrjes.
- Kontrolli i skopit tĂ« Cookie-ve sipas katalogut tĂ« sufikseve publik (Public Suffix List) pĂ«r izolimin e njĂ«ri-tjetrit tĂ« faqeve tĂ« ndryshme, tĂ« vendosura nĂ« tĂ« njĂ«jtin domain tĂ« nivelit tĂ« dytĂ« (p.sh., âa.github.ioâ dhe âb.github.ioâ).
- Mbështetje për shkarkimin e transmetimit në formate ICEcast / SHOUTcast.
Burimi: opennet.ru
