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

Nakon tri i pol godine razvoja, predstavljeno je prvo stabilno izdanje GNU Wget2 projekta koji razvija potpuno redizajniranu verziju programa za automatiziranje rekurzivnog preuzimanja GNU Wget sadržaja. GNU Wget2 dizajniran je i ponovno napisan 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 postupne prerade postojeće baze koda, odlučeno je da se sve ponovi od nule i uspostavi zaseban ogranak Wget2 za implementaciju ideja za restrukturiranje, povećanje funkcionalnosti i uvođenje promjena koje prekidaju kompatibilnost. S iznimkom zastarjevanja FTP protokola i WARC formata, wget2 može djelovati kao transparentna zamjena za klasični uslužni program wget u većini situacija.

Uz to, wget2 ima neke dokumentirane razlike u ponašanju, pruža oko 30 dodatnih opcija i prestaje podržavati nekoliko desetaka opcija. Uključena je obrada opcija kao što su "-ask-password", "-header", "-exclude-directories", "-ftp*", "-warc*", "-limit-rate", "-relative" zaustavljeno " i "--prekini vezu".

Ključne inovacije uključuju:

  • Premještanje funkcionalnosti u biblioteku libwget.
  • Prijelaz na višenitnu arhitekturu.
  • Sposobnost uspostavljanja više veza paralelno i preuzimanja na 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.
  • Upotrijebite HTTP zaglavlje If-Modified-Since za preuzimanje samo izmijenjenih podataka.
  • Prebacite se na korištenje vanjskih limitatora propusnosti kao što je trickle.
  • 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 vezanje 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 kroz nekoliko proxy poslužitelja (jedan tok će se učitati kroz jedan proxy, a drugi kroz drugi).
  • Ugrađena podrška za izvore vijesti u Atom i RSS formatima (na primjer, za skeniranje i preuzimanje poveznica). RSS/Atom podaci mogu se preuzeti iz lokalne datoteke ili preko mreže.
  • Podrška za izdvajanje URL-ova iz Sitemapova. Dostupnost parsera za izdvajanje veza iz CSS i XML datoteka.
  • Podrška za direktivu 'include' u konfiguracijskim datotekama i distribucija postavki u nekoliko datoteka (/etc/wget/conf.d/*.conf).
  • Ugrađeni mehanizam predmemoriranja DNS upita.
  • Mogućnost prekodiranja sadržaja promjenom kodiranja dokumenta.
  • Obračunavanje datoteke "robots.txt" tijekom rekurzivnih preuzimanja.
  • Pouzdan način pisanja s pozivom fsync() nakon spremanja podataka.
  • Mogućnost nastavka prekinutih TLS sesija, kao i predmemorija i spremanje parametara TLS sesije u datoteku.
  • Način "--input-file-" za učitavanje URL-ova koji dolaze kroz standardni ulazni tok.
  • Provjera opsega kolačića u odnosu na direktorij sufiksa javne domene (Public Suffix List) kako bi se jedna od druge izolirala različita mjesta koja se nalaze na istoj domeni druge razine (na primjer, "a.github.io" i "b.github. io”).
  • Podržava preuzimanje ICEcast/SHOUTcast streaminga.

Izvor: opennet.ru

Dodajte komentar