Pierwsza stabilna wersja narzędzia do pobierania treści webowych GNU Wget2

Po trzech i pół roku prac badawczo-rozwojowych, zaprezentowano pierwszą stabilną wersję projektu GNU Wget2, rozwijającego całkowicie przebudowaną wersję programu do automatyzacji rekursywnego pobierania treści GNU Wget. GNU Wget2 został zaprojektowany i napisany od zera, a wyróżnia go wydzielenie podstawowej funkcjonalności klienta webowego do biblioteki libwget, która może być używana samodzielnie w aplikacjach. Narzędzie jest dostarczane na licencji GPLv3+, a biblioteka na LGPLv3+.

Zamiast stopniowego przekształcania istniejącej bazy kodu postanowiono przebudować wszystko od podstaw i założyć oddzielną gałąź Wget2 w celu wdrożenia pomysłów na restrukturyzację, zwiększenie funkcjonalności i wprowadzenie zmian naruszających kompatybilność. Z wyjątkiem zaprzestania wsparcia dla protokołu FTP i formatu WARC, wget2 w większości przypadków może pełnić rolę przezroczystego zamiennika klasycznego narzędzia wget.

Warto zauważyć, że wget2 ma pewne udokumentowane różnice w zachowaniu, oferuje około 30 dodatkowych opcji i przestaje wspierać kilka dziesiątek opcji. W tym zaprzestano obsługi takich opcji jak „—ask-password”, „—header”, „—exclude-directories”, „—ftp*”, „—warc*”, „—limit-rate”, „—relative” oraz „—unlink”.

Do kluczowych nowości można zaliczyć:

  • Wyodrębnienie funkcjonalności do biblioteki libwget.
  • Przejście na architekturę wielowątkową.
  • Możliwość równoczesnego nawiązywania wielu połączeń i pobierania w kilku strumieniach. W tym możliwe jest równoległe pobieranie jednego pliku z podziałem na bloki przy użyciu opcji „—chunk-size”.
  • Wsparcie dla protokołu HTTP/2.
  • Użycie nagłówka HTTP If-Modified-Since do pobierania tylko zmienionych danych.
  • Przejście na zastosowanie zewnętrznych ograniczników przepustowości, takich jak trickle.
  • Wsparcie dla nagłówka Accept-Encoding, przesyłania danych w formie skompresowanej oraz algorytmów kompresji brotli, zstd, lzip, gzip, deflate, lzma i bzip2.
  • Wsparcie dla TLS 1.3, protokołu OCSP (Online Certificate Status Protocol) do weryfikacji unieważnionych certyfikatów, mechanizmu HSTS (HTTP Strict Transport Security) do wymuszenia przekierowania na HTTPS oraz HPKP (HTTP Public Key Pinning) do przypinania certyfikatów.
  • Możliwość użycia GnuTLS, WolfSSL i OpenSSL jako backendów dla TLS.
  • Wsparcie dla trybu szybkiego otwierania połączeń TCP (TCP FastOpen).
  • Wbudowane wsparcie dla formatu Metalink.
  • Wsparcie dla zintergrowanych nazw domen (IDNA2008).
  • Możliwość jednoczesnego korzystania z kilku proxy -serwerów (jeden strumień będzie ładowany przez jeden proxy, drugi przez inny).
  • Wbudowane wsparcie dla kanałów informacyjnych w formatach Atom i RSS (na przykład do skanowania i ładowania linków). Dane RSS/Atom mogą być wczytywane z lokalnego pliku lub z sieci.
  • Wsparcie dla wydobywania URL z plików Sitemap. Obecność parserów do wydobywania linków z plików CSS i XML.
  • Wsparcie dla dyrektywy ‘include’ w plikach konfiguracyjnych oraz rozdzielanie ustawień na kilka plików (/etc/wget/conf.d/*.conf).
  • Wbudowany mechanizm buforowania zapytań DNS.
  • Możliwość przetwarzania zawartości z zmianą kodowania dokumentu.
  • Uwzględnienie pliku ‘robots.txt’ przy rekurencyjnych pobraniach.
  • Tryb niezawodnego zapisu z wywołaniem fsync() po zapisaniu danych.
  • Możliwość wznawiania przerwanych sesji TLS oraz buforowania i zapisywania do pliku parametrów sesji TLS.
  • Tryb ‘—input-file —’ do ładowania URL, które przychodzą przez standardowy strumień wejściowy.
  • Sprawdzanie zasięgu Cookies według katalogu publicznych sufiksów domen (Public Suffix List) w celu izolacji różnych stron umieszczonych w tej samej drugiej klasie domeny (na przykład ‘a.github.io’ i ‘b.github.io’).
  • Wsparcie dla pobierania strumieniowego w formacie ICEcast / SHOUTcast.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster