GNU web içeriği Wget2'yi indirmeye yönelik yardımcı programın ilk kararlı sürümü

Üç buçuk yıllık geliştirme sürecinin ardından, GNU Wget içeriğinin özyinelemeli indirilmesini otomatikleştirmek için programın tamamen yeniden tasarlanmış bir versiyonunu geliştiren GNU Wget2 projesinin ilk kararlı sürümü sunuldu. GNU Wget2 sıfırdan tasarlandı ve yeniden yazıldı ve bir web istemcisinin temel işlevlerini uygulamalarda ayrı olarak kullanılabilen libwget kitaplığına taşımasıyla dikkat çekiyor. Yardımcı program GPLv3+ kapsamında lisanslanmıştır ve kitaplık LGPLv3+ kapsamında lisanslanmıştır.

Mevcut kod tabanını kademeli olarak yeniden çalışmak yerine, her şeyi sıfırdan yeniden yapmaya ve yeniden yapılandırma, işlevselliği artırma ve uyumluluğu bozan değişiklikler yapma fikirlerini uygulamak için ayrı bir Wget2 şubesi kurmaya karar verildi. FTP protokolünün ve WARC formatının kullanımdan kaldırılması dışında, wget2 çoğu durumda klasik wget yardımcı programının şeffaf bir alternatifi olarak hareket edebilir.

Bununla birlikte, wget2'nin bazı belgelenmiş davranış farklılıkları vardır, yaklaşık 30 ek seçenek sunar ve birkaç düzine seçeneği desteklemeyi bırakır. “-ask-password”, “-header”, “-exclude-directories”, “-ftp*”, “-warc*”, “-limit-rate”, “-relative” gibi seçeneklerin işlenmesi dahil edilmiştir. durduruldu " ve "--bağlantıyı kaldır".

Anahtar yenilikler şunları içerir:

  • İşlevsellik libwget kitaplığına taşınıyor.
  • Çok iş parçacıklı mimariye geçiş.
  • Paralel olarak birden fazla bağlantı kurma ve birden fazla iş parçacığına indirme yeteneği. "-chunk-size" seçeneğini kullanarak bloklara bölünmüş bir dosyanın indirilmesini paralelleştirmek de mümkündür.
  • HTTP/2 protokol desteği.
  • Yalnızca değiştirilen verileri indirmek için If-Modified-Since HTTP üstbilgisini kullanın.
  • Damlama gibi harici bant genişliği sınırlayıcılarını kullanmaya geçin.
  • Accept-Encoding başlığı, sıkıştırılmış veri aktarımı ve brotli, zstd, lzip, gzip, deflate, lzma ve bzip2 sıkıştırma algoritmaları desteği.
  • İptal edilen sertifikaları kontrol etmek için TLS 1.3, OCSP (Çevrimiçi Sertifika Durum Protokolü), HTTPS'ye yeniden yönlendirmeyi zorlamak için HSTS (HTTP Sıkı Aktarım Güvenliği) mekanizması ve sertifika bağlama için HPKP (HTTP Genel Anahtar Sabitleme) desteği.
  • TLS için arka uç olarak GnuTLS, WolfSSL ve OpenSSL'yi kullanma yeteneği.
  • TCP bağlantılarının hızlı açılması desteği (TCP FastOpen).
  • Yerleşik Metalink formatı desteği.
  • Uluslararasılaştırılmış alan adları desteği (IDNA2008).
  • Aynı anda birden fazla proxy sunucusu üzerinden çalışma yeteneği (bir akış bir proxy üzerinden, ikincisi ise diğerinden yüklenecektir).
  • Atom ve RSS formatlarındaki haber akışları için yerleşik destek (örneğin, bağlantıları taramak ve indirmek için). RSS/Atom verileri yerel bir dosyadan veya ağ üzerinden indirilebilir.
  • Site Haritalarından URL'lerin çıkarılması desteği. CSS ve XML dosyalarından bağlantıları çıkarmak için ayrıştırıcıların varlığı.
  • Yapılandırma dosyalarındaki 'include' yönergesi ve ayarların çeşitli dosyalara dağıtımı (/etc/wget/conf.d/*.conf) desteği.
  • Yerleşik DNS sorgusu önbelleğe alma mekanizması.
  • Belge kodlamasını değiştirerek içeriği yeniden kodlama imkanı.
  • Özyinelemeli indirmeler sırasında "robots.txt" dosyasının hesaba katılması.
  • Verileri kaydettikten sonra fsync() çağrısıyla güvenilir yazma modu.
  • Kesintiye uğrayan TLS oturumlarını sürdürme ve TLS oturum parametrelerini önbelleğe alma ve bir dosyaya kaydetme yeteneği.
  • Standart giriş akışından gelen URL'leri yüklemek için "--input-file-" modu.
  • Aynı ikinci düzey etki alanında barındırılan farklı siteleri (örneğin, “a.github.io” ve “b.github. io").
  • ICEcast/SHOUTcast akışının indirilmesini destekler.

Kaynak: opennet.ru

Yorum ekle