Prvo stabilno izdanje uslužnog programa za preuzimanje GNU web sadržaja Wget2

Nakon tri i po godine razvoja, predstavljeno je prvo stabilno izdanje GNU Wget2 projekta, razvijajući potpuno redizajniranu verziju programa za automatizaciju rekurzivnog preuzimanja GNU Wget sadržaja. GNU Wget2 je dizajniran i prepisan od nule i poznat je po premještanju osnovne funkcionalnosti web klijenta u biblioteku libwget, koja se može koristiti zasebno u aplikacijama. Uslužni program je licenciran pod GPLv3+, a biblioteka je licencirana pod LGPLv3+.

Umjesto postepenog prerade postojeće baze koda, odlučeno je da se sve ponovi od nule i uspostavi zasebna grana Wget2 za implementaciju ideja za restrukturiranje, povećanje funkcionalnosti i izmjene koje narušavaju kompatibilnost. Sa izuzetkom zastarjelosti FTP protokola i WARC formata, wget2 može djelovati kao transparentna zamjena za klasični wget uslužni program u većini situacija.

Uz to, wget2 ima neke dokumentovane razlike u ponašanju, pruža oko 30 dodatnih opcija i prestaje da podržava nekoliko desetina opcija. Uključujući obradu opcija kao što su “-ask-password”, “-header”, “-exclude-directories”, “-ftp*”, “-warc*”, “-limit-rate”, “-relative” je zaustavljeni " i "--prekini vezu".

Ključne inovacije uključuju:

  • Premještanje funkcionalnosti u biblioteku libwget.
  • Prelazak na višenitnu arhitekturu.
  • Mogućnost paralelnog uspostavljanja više veza i preuzimanja u više niti. Također je moguće paralelizirati preuzimanje jedne datoteke podijeljene u blokove pomoću opcije “-chunk-size”.
  • Podrška za HTTP/2 protokol.
  • Koristite If-Modified-Since HTTP zaglavlje da preuzmete samo izmijenjene podatke.
  • Prebacite se na korištenje eksternih limitatora propusnosti kao što je curenje.
  • Podrška za zaglavlje Accept-Encoding, komprimirani prijenos podataka i algoritme kompresije brotli, zstd, lzip, gzip, deflate, lzma i bzip2.
  • Podrška za TLS 1.3, OCSP (Online Certificate Status Protocol) za provjeru opozvanih certifikata, HSTS (HTTP Strict Transport Security) mehanizam za prisilno preusmjeravanje na HTTPS i HPKP (HTTP Public Key Pinning) za povezivanje certifikata.
  • Mogućnost korištenja GnuTLS, WolfSSL i OpenSSL kao pozadina za TLS.
  • Podrška za brzo otvaranje TCP veza (TCP FastOpen).
  • Ugrađena podrška za Metalink format.
  • Podrška za internacionalizirana imena domena (IDNA2008).
  • Mogućnost istovremenog rada preko nekoliko proxy servera (jedan stream će se učitavati kroz jedan proxy, a drugi preko drugog).
  • Ugrađena podrška za novosti u Atom i RSS formatima (na primjer, za skeniranje i preuzimanje linkova). RSS/Atom podaci mogu se preuzeti iz lokalne datoteke ili preko mreže.
  • Podrška za izdvajanje URL-ova iz Sitemap-a. Dostupnost parsera za izdvajanje linkova iz CSS i XML datoteka.
  • Podrška za 'include' direktivu u konfiguracijskim datotekama i distribuciju postavki u nekoliko datoteka (/etc/wget/conf.d/*.conf).
  • Ugrađeni mehanizam za keširanje DNS upita.
  • Mogućnost prekodiranja sadržaja promjenom kodiranja dokumenta.
  • Obračunavanje datoteke “robots.txt” tokom rekurzivnih preuzimanja.
  • Pouzdan način pisanja sa fsync() pozivom nakon pohranjivanja podataka.
  • Mogućnost nastavka prekinutih TLS sesija, kao i keširanje i spremanje parametara TLS sesije u datoteku.
  • "--input-file-" način za učitavanje URL-ova koji dolaze kroz standardni ulazni tok.
  • Provjera opsega kolačića u odnosu na direktorij sufiksa javnog domena (Lista javnih sufiksa) kako bi se jedna od druge izolirala različite web lokacije koje se nalaze na istoj domeni drugog nivoa (na primjer, “a.github.io” i “b.github. io”).
  • Podržava preuzimanje ICEcast/SHOUTcast streaminga.

izvor: opennet.ru

Dodajte komentar