GNU veb-kontentini Wget2 yuklab olish uchun yordamchi dasturning birinchi barqaror versiyasi

Uch yarim yillik rivojlanishdan so'ng GNU Wget2 loyihasining birinchi barqaror versiyasi taqdim etildi, u GNU Wget tarkibini rekursiv yuklab olishni avtomatlashtirish uchun dasturning butunlay qayta ishlangan versiyasini ishlab chiqdi. GNU Wget2 noldan ishlab chiqilgan va qayta yozilgan va veb-mijozning asosiy funksiyalarini ilovalarda alohida ishlatilishi mumkin bo'lgan libwget kutubxonasiga ko'chirish bilan ajralib turadi. Yordamchi dastur GPLv3+, kutubxona esa LGPLv3+ ostida litsenziyalangan.

Mavjud kodlar bazasini bosqichma-bosqich qayta ishlash o'rniga, qayta qurish, funksionallikni oshirish va moslikni buzadigan o'zgarishlarni amalga oshirish uchun g'oyalarni amalga oshirish uchun hamma narsani noldan qayta tiklash va alohida Wget2 filialini tashkil etishga qaror qilindi. FTP protokoli va WARC formatining bekor qilinishi bundan mustasno, wget2 ko'p hollarda klassik wget yordam dasturini shaffof o'rnini bosishi mumkin.

Aytish joizki, wget2 xatti-harakatlarida hujjatlashtirilgan ba'zi farqlarga ega, 30 ga yaqin qo'shimcha variantlarni taqdim etadi va bir necha o'nlab variantlarni qo'llab-quvvatlashni to'xtatadi. Jumladan, “-ask-password”, “-header”, “-exclude-directoryes”, “-ftp*”, “-warc*”, “-limit-rate”, “-relative” kabi variantlarni qayta ishlash to'xtatildi " va "--unlink".

Asosiy innovatsiyalarga quyidagilar kiradi:

  • Funktsionallikni libwget kutubxonasiga ko'chirish.
  • Ko'p tarmoqli arxitekturaga o'tish.
  • Parallel ravishda bir nechta ulanishlarni o'rnatish va bir nechta mavzularga yuklab olish qobiliyati. "-chunk-size" opsiyasi yordamida bloklarga bo'lingan bitta faylni yuklab olishni parallellashtirish ham mumkin.
  • HTTP/2 protokolini qo'llab-quvvatlash.
  • Faqat o'zgartirilgan ma'lumotlarni yuklab olish uchun If-Modified-Since HTTP sarlavhasidan foydalaning.
  • Trikle kabi tashqi tarmoqli kengligi cheklovchilaridan foydalanishga o'ting.
  • Accept-Encoding sarlavhasi, siqilgan ma'lumotlarni uzatish va brotli, zstd, lzip, gzip, deflate, lzma va bzip2 siqish algoritmlarini qo'llab-quvvatlash.
  • TLS 1.3, bekor qilingan sertifikatlarni tekshirish uchun OCSP (Onlayn sertifikat holati protokoli), HTTPS ga qayta yoʻnaltirishni majburlash uchun HSTS (HTTP qatʼiy transport xavfsizligi) mexanizmi va sertifikat bogʻlash uchun HPKP (HTTP ochiq kalitlarni mahkamlash) qoʻllab-quvvatlanadi.
  • TLS uchun backend sifatida GnuTLS, WolfSSL va OpenSSL dan foydalanish imkoniyati.
  • TCP ulanishlarining tez ochilishini qo'llab-quvvatlash (TCP FastOpen).
  • O'rnatilgan Metalink formatini qo'llab-quvvatlash.
  • Xalqaro domen nomlarini qo'llab-quvvatlash (IDNA2008).
  • Bir vaqtning o'zida bir nechta proksi-serverlar orqali ishlash imkoniyati (bitta oqim bitta proksi-server orqali, ikkinchisi esa boshqasi orqali yuklanadi).
  • Atom va RSS formatlarida yangiliklar tasmasi uchun o'rnatilgan yordam (masalan, havolalarni skanerlash va yuklab olish uchun). RSS/Atom ma'lumotlarini mahalliy fayldan yoki tarmoq orqali yuklab olish mumkin.
  • Sayt xaritalaridan URL-manzillarni chiqarishni qo'llab-quvvatlash. CSS va XML fayllaridan havolalarni olish uchun parserlarning mavjudligi.
  • Konfiguratsiya fayllarida "qo'shish" direktivasini qo'llab-quvvatlash va sozlamalarni bir nechta fayllar (/etc/wget/conf.d/*.conf) bo'ylab taqsimlash.
  • O'rnatilgan DNS so'rovlarini keshlash mexanizmi.
  • Hujjatni kodlashni o'zgartirish orqali tarkibni qayta kodlash imkoniyati.
  • Rekursiv yuklashlar paytida "robots.txt" faylini hisobga olish.
  • Ma'lumotlarni saqlagandan so'ng fsync() qo'ng'irog'i bilan ishonchli yozish rejimi.
  • To'xtatilgan TLS seanslarini davom ettirish, shuningdek keshlash va TLS seans parametrlarini faylga saqlash imkoniyati.
  • Standart kirish oqimi orqali keladigan URL manzillarini yuklash uchun "--input-file-" rejimi.
  • Bir xil ikkinchi darajali domenda joylashgan turli saytlarni bir-biridan ajratish uchun (masalan, “a.github.io” va “b.github. io").
  • ICEcast/SHOUTcast oqimini yuklab olishni qo'llab-quvvatlaydi.

Manba: opennet.ru

a Izoh qo'shish