GNU վեբ բովանդակություն Wget2 ներբեռնելու օգտակար ծառայության առաջին կայուն թողարկումը

Երեքուկես տարվա մշակումից հետո ներկայացվել է GNU Wget2 նախագծի առաջին կայուն թողարկումը՝ մշակելով GNU Wget բովանդակության ռեկուրսիվ ներբեռնումն ավտոմատացնելու ծրագրի ամբողջովին վերանախագծված տարբերակը։ GNU Wget2-ը նախագծվել և վերաշարադրվել է զրոյից և նշանավոր է վեբ հաճախորդի հիմնական գործառույթները libwget գրադարան տեղափոխելու համար, որը կարող է առանձին օգտագործվել հավելվածներում: Կոմունալ ծրագիրը լիցենզավորված է GPLv3+-ով, իսկ գրադարանը՝ LGPLv3+:

Գոյություն ունեցող կոդերի բազան աստիճանաբար վերամշակելու փոխարեն, որոշվեց ամեն ինչ վերափոխել զրոյից և ստեղծել առանձին Wget2 մասնաճյուղ՝ վերակառուցման, ֆունկցիոնալությունը բարձրացնելու և համատեղելիությունը խախտող փոփոխություններ իրականացնելու համար գաղափարներ իրականացնելու համար: Բացառությամբ FTP արձանագրության և WARC ձևաչափի հնազանդման, wget2-ը շատ իրավիճակներում կարող է թափանցիկ փոխարինել դասական wget ծրագրին:

Այդպես ասվեց, wget2-ն ունի որոշ փաստագրված տարբերություններ վարքագծի մեջ, տրամադրում է մոտ 30 լրացուցիչ տարբերակ և դադարում է աջակցել մի քանի տասնյակ տարբերակների: Ներառյալ այնպիսի տարբերակների մշակումը, ինչպիսիք են «-հարցել-գաղտնաբառ», «-վերնագիր», «-բացառել-դիրեկտորիաները», «-ftp*», «-warc*», «-limit-rate», «-relative»-ը եղել է: դադարեցրեց «-ը» և «--unlink»:

Հիմնական նորամուծությունները ներառում են.

  • Ֆունկցիոնալությունը տեղափոխվում է libwget գրադարան:
  • Անցում դեպի բազմաթելային ճարտարապետություն.
  • Զուգահեռաբար բազմաթիվ կապեր հաստատելու և մի քանի թելերի վրա ներբեռնելու ունակություն: Հնարավոր է նաև զուգահեռացնել բլոկների բաժանված մեկ ֆայլի ներբեռնումը` օգտագործելով «-chunk-size» տարբերակը:
  • HTTP/2 արձանագրության աջակցություն:
  • Օգտագործեք If-Modified-Since HTTP վերնագիրը՝ միայն փոփոխված տվյալները ներբեռնելու համար:
  • Անցեք արտաքին թողունակության սահմանափակիչների օգտագործմանը, ինչպիսին է կաթիլը:
  • Accept-Encoding վերնագրի, սեղմված տվյալների փոխանցման և brotli, zstd, lzip, gzip, deflate, lzma և bzip2 սեղմման ալգորիթմների աջակցություն:
  • Աջակցություն TLS 1.3-ին, OCSP-ին (Առցանց վկայականի կարգավիճակի արձանագրություն)՝ չեղյալ համարված վկայագրերը ստուգելու համար, HSTS (HTTP խիստ տրանսպորտի անվտանգություն) մեխանիզմ՝ ստիպելու վերահղումը դեպի HTTPS և HPKP (HTTP հանրային բանալու ամրացում)՝ վկայականի կապակցման համար:
  • GnuTLS-ը, WolfSSL-ը և OpenSSL-ը որպես TLS-ի հետնամասեր օգտագործելու ունակություն:
  • Աջակցություն TCP կապերի արագ բացմանը (TCP FastOpen):
  • Ներկառուցված Metalink ձևաչափի աջակցություն:
  • Աջակցություն միջազգայնացված տիրույթի անուններին (IDNA2008):
  • Մի քանի պրոքսի սերվերների միջոցով միաժամանակ աշխատելու ունակություն (մեկ հոսքը բեռնվելու է մեկ վստահված անձի միջոցով, իսկ երկրորդը՝ մյուսի միջոցով):
  • Ներկառուցված աջակցություն Atom և RSS ձևաչափերով նորությունների հոսքերին (օրինակ՝ հղումներ սկանավորելու և ներբեռնելու համար): RSS/Atom տվյալները կարելի է ներբեռնել տեղական ֆայլից կամ ցանցից:
  • Աջակցություն Կայքի քարտեզներից URL-ներ հանելու համար: CSS և XML ֆայլերից հղումներ հանելու համար վերլուծիչների առկայությունը:
  • Աջակցություն «ներառել» հրահանգին կազմաձևման ֆայլերում և կարգավորումների բաշխում մի քանի ֆայլերում (/etc/wget/conf.d/*.conf):
  • Ներկառուցված DNS հարցումների քեշավորման մեխանիզմ:
  • Բովանդակության վերակոդավորման հնարավորություն՝ փոխելով փաստաթղթի կոդավորումը:
  • «robots.txt» ֆայլի հաշվառում ռեկուրսիվ ներբեռնումների ժամանակ:
  • Հուսալի գրելու ռեժիմ՝ fsync() զանգով՝ տվյալները պահպանելուց հետո:
  • Ընդհատված TLS նիստերը վերսկսելու, ինչպես նաև TLS նիստի պարամետրերը ֆայլում պահելու և պահելու հնարավորություն:
  • «--input-file-» ռեժիմ՝ ստանդարտ մուտքագրման հոսքով եկող URL-ների բեռնման համար:
  • Cookie-ի շրջանակի ստուգում հանրային տիրույթի վերջածանցների գրացուցակում (Հանրային վերջածանցների ցուցակ)՝ նույն երկրորդ մակարդակի տիրույթում տեղակայված տարբեր կայքերը միմյանցից մեկուսացնելու համար (օրինակ՝ «a.github.io» և «b.github»: io»):
  • Աջակցում է ICEcast/SHOUTcast հոսքի ներբեռնմանը:

Source: opennet.ru

Добавить комментарий