Három és fél év fejlesztés után bemutatásra került a GNU Wget2 projekt első stabil kiadása, amely teljesen átdolgozott változata a GNU Wget programnak, amely automatikusan letölti a tartalmakat rekurzívan. A GNU Wget2-t a nulláról tervezték és írták, és figyelemre méltó, hogy a webkliensek alapfunkcionalitását a libwget könyvtárba helyezték át, amely különálló alkalmazásokban is felhasználható. Az eszköz GPLv3+ licenc alatt érhető el, míg a könyvtár LGPLv3+ alá tartozik.
A meglévő kód alap fokozatos átdolgozása helyett úgy döntöttek, hogy mindent a nulláról újraépítenek, és külön Wget2 ágat alapítanak az ideák megvalósítására a struktúra átalakításáról, a funkcionalitás növeléséről és a kompatibilitást sértő módosítások végrehajtásáról. A FTP protokoll és a WARC formátum támogatásának megszüntetésén kívül a wget2 a legtöbb esetben átláthatóan helyettesítheti a klasszikus wget eszközt.
A wget2-nek vannak bizonyos dokumentált eltérései a viselkedésében, körülbelül 30 további opciót kínál és több tucat opció támogatását megszünteti. Többek között megszűnt az olyan opciók kezelése, mint a "--ask-password", "--header", "--exclude-directories", "--ftp*", "--warc*", "--limit-rate", "--relative" és "--unlink".
A legfontosabb újdonságok közé tartozik:
- A funkcionalitás áthelyezése a libwget könyvtárba.
- Átállás a többszálú architektúrára.
- Lehetőség több kapcsolat párhuzamos létrehozására és több szálon történő letöltésre. A "--chunk-size" opció használatával egy fájl letöltése is párhuzamosítható, blokkokra bontva.
- HTTP/2 protokoll támogatás.
- Az If-Modified-Since HTTP fejlécre alapozva csak a megváltozott adatok letöltése.
- Átállás külső sávszélesség-korlátozók, például trickle használatára.
- Az Accept-Encoding fejléctípus támogatása, tömörített adatok továbbítása és a brotli, zstd, lzip, gzip, deflate, lzma és bzip2 tömörítési algoritmusok támogatása.
- TLS 1.3 támogatás, OCSP (Online Certificate Status Protocol) protokoll a visszavont tanúsítványok ellenőrzésére, HSTS (HTTP Strict Transport Security) mechanizmus a HTTPS-re való kényszerített átirányításhoz, és HPKP (HTTP Public Key Pinning) a tanúsítványok hozzárendelésére.
- A GnuTLS, WolfSSL és OpenSSL használatának lehetősége TLS háttérként.
- TCP kapcsolat gyors nyitási mód (TCP FastOpen) támogatás.
- Beépített Metalink formátum támogatás.
- Nemzetközileg elismert támogatás domain nevekkel (IDNA2008).
- Több proxy-n keresztüli egyidejű munkavégzés lehetősége -szerverek (egy áramlás egy proxy-n keresztül, a második egy másikon keresztül fog betöltődni).
- Beépített támogatás hírcsatornákhoz Atom és RSS formátumokban (például linkek böngészéséhez és betöltéséhez). Az RSS/Atom adatok helyi fájlból vagy hálózaton keresztül tölthetők le.
- URL-ek kinyerésének támogatása Sitemap fájlokból. Linkek kinyerésére szolgáló elemzők CSS és XML fájlokból.
- Include utasítás támogatása a konfigurációs fájlokban és a beállítások elosztása több fájl között (/etc/wget/conf.d/*.conf).
- Beépített DNS lekérdezés cache-elési mechanizmus.
- Tartalom átkódolásának lehetősége a dokumentum kódolásának megváltoztatásával.
- A robots.txt fájl figyelembevétele rekurzív letöltések során.
- Megbízható írási mód fsync() hívással az adatok mentése után.
- TLS munkamenetek megszakításának folytatása, valamint a TLS munkamenetek paramétereinek cache-elése és fájlba mentése.
- Input-file mód a szabványos bemeneti áramláson keresztül érkező URL-ek letöltéséhez.
- A Cookie érvényességének ellenőrzése a nyilvános végződések könyvtára (Public Suffix List) alapján, hogy izolálja egymástól a különböző webhelyeket egy másodlagos domainben (például "a.github.io" és "b.github.io").
- ICEcast / SHOUTcast formátumú streaming adatfolyamok letöltésének támogatása.
Forrás: opennet.ru
