الإصدار المستقر الأول من الأداة المساعدة لتنزيل محتوى ويب GNU Wget2

بعد ثلاث سنوات ونصف من التطوير، تم تقديم أول إصدار مستقر لمشروع GNU Wget2، مما أدى إلى تطوير نسخة معاد تصميمها بالكامل من البرنامج لأتمتة التنزيل المتكرر لمحتوى GNU Wget. تم تصميم GNU Wget2 وإعادة كتابته من الصفر ويتميز بنقل الوظائف الأساسية لعميل الويب إلى مكتبة libwget، والتي يمكن استخدامها بشكل منفصل في التطبيقات. الأداة مرخصة بموجب GPLv3+، والمكتبة مرخصة بموجب LGPLv3+.

بدلاً من إعادة صياغة قاعدة التعليمات البرمجية الموجودة تدريجيًا، تقرر إعادة كل شيء من الصفر وإنشاء فرع Wget2 منفصل لتنفيذ أفكار إعادة الهيكلة وزيادة الوظائف وإجراء تغييرات تنتهك التوافق. باستثناء إهمال بروتوكول FTP وتنسيق WARC، يمكن أن يعمل wget2 كبديل شفاف لأداة wget الكلاسيكية في معظم المواقف.

ومع ذلك، لدى wget2 بعض الاختلافات الموثقة في السلوك، ويوفر حوالي 30 خيارًا إضافيًا، ويتوقف عن دعم عشرات الخيارات. بما في ذلك معالجة خيارات مثل "-ask-password"، و"-header"، و"-exclude-directories"، و"-ftp*"، و"-warc*"، و"-limit-rate"، و"-relative" توقف "و"--إلغاء الارتباط".

تشمل الابتكارات الرئيسية ما يلي:

  • نقل الوظائف إلى مكتبة libwget.
  • الانتقال إلى بنية متعددة الخيوط.
  • القدرة على إنشاء اتصالات متعددة بالتوازي وتنزيلها على سلاسل رسائل متعددة. من الممكن أيضًا موازنة تنزيل ملف واحد مقسم إلى كتل باستخدام خيار "-chunk-size".
  • دعم بروتوكول HTTP/2.
  • استخدم رأس HTTP If-Modified-Since لتنزيل البيانات المعدلة فقط.
  • قم بالتبديل إلى استخدام محددات النطاق الترددي الخارجية مثل الهزيل.
  • دعم رأس قبول التشفير، ونقل البيانات المضغوطة، وخوارزميات الضغط brotli، وzstd، وlzip، وgzip، وdeflate، وlzma، وbzip2.
  • دعم TLS 1.3، وOCSP (بروتوكول حالة الشهادة عبر الإنترنت) للتحقق من الشهادات الملغاة، وآلية HSTS (HTTP Strict Transport Security) لفرض إعادة التوجيه إلى HTTPS وHPKP (HTTP Public Key Pinning) لربط الشهادة.
  • القدرة على استخدام GnuTLS وWolfSSL وOpenSSL كواجهات خلفية لـ TLS.
  • دعم الفتح السريع لاتصالات TCP (TCP FastOpen).
  • دعم تنسيق Metalink المدمج.
  • دعم أسماء النطاقات الدولية (IDNA2008).
  • القدرة على العمل في وقت واحد من خلال عدة خوادم بروكسي (سيتم تحميل دفق واحد من خلال وكيل واحد، والثاني من خلال آخر).
  • دعم مدمج لموجزات الأخبار بتنسيقات Atom وRSS (على سبيل المثال، لمسح الروابط وتنزيلها). يمكن تنزيل بيانات RSS/Atom من ملف محلي أو عبر الشبكة.
  • دعم لاستخراج عناوين URL من ملفات Sitemap. توفر الموزعين لاستخراج الروابط من ملفات CSS وXML.
  • دعم توجيه "التضمين" في ملفات التكوين وتوزيع الإعدادات عبر عدة ملفات (/etc/wget/conf.d/*.conf).
  • آلية التخزين المؤقت لاستعلام DNS المضمنة.
  • إمكانية إعادة ترميز المحتوى عن طريق تغيير ترميز الوثيقة.
  • حساب ملف "robots.txt" أثناء التنزيلات العودية.
  • وضع كتابة موثوق به مع استدعاء fsync() بعد حفظ البيانات.
  • القدرة على استئناف جلسات TLS المتقطعة، بالإضافة إلى التخزين المؤقت وحفظ معلمات جلسة TLS في ملف.
  • وضع "--input-file-" لتحميل عناوين URL القادمة عبر تدفق الإدخال القياسي.
  • التحقق من نطاق ملف تعريف الارتباط مقابل دليل لاحقات المجال العام (قائمة اللاحقات العامة) لعزل المواقع المختلفة المستضافة في نفس نطاق المستوى الثاني عن بعضها البعض (على سبيل المثال، "a.github.io" و"b.github. إيو").
  • يدعم تنزيل تدفق ICEcast/SHOUTcast.

المصدر: opennet.ru

إضافة تعليق