GNU веб-мазмұнын жүктеп алуға арналған утилитаның бірінші тұрақты шығарылымы Wget2

Үш жарым жылдық дамудан кейін GNU Wget2 жобасының бірінші тұрақты шығарылымы ұсынылды, ол GNU Wget мазмұнын рекурсивті жүктеуді автоматтандыруға арналған бағдарламаның толығымен қайта жобаланған нұсқасын әзірледі. GNU Wget2 жобаланған және нөлден қайта жазылған және веб-клиенттің негізгі функционалдығын қолданбаларда бөлек пайдалануға болатын libwget кітапханасына жылжытуымен ерекшеленеді. Утилита GPLv3+, ал кітапхана LGPLv3+ бойынша лицензияланған.

Қолданыстағы код базасын бірте-бірте қайта өңдеудің орнына, қайта құрылымдау, функционалдылықты арттыру және үйлесімділікті бұзатын өзгерістер енгізу идеяларын жүзеге асыру үшін барлығын нөлден бастап қайта жасау және бөлек Wget2 тармағын құру туралы шешім қабылданды. FTP протоколының және WARC пішімінің ескіруін қоспағанда, wget2 көптеген жағдайларда классикалық wget утилитасын мөлдір ауыстыру ретінде әрекет ете алады.

Айтуынша, wget2 мінез-құлқында құжатталған кейбір айырмашылықтарға ие, шамамен 30 қосымша опцияларды ұсынады және бірнеше ондаған опцияларды қолдауды тоқтатады. Соның ішінде «-сұрау-құпия сөз», «-тақырып», «-каталогтарды алып тастау», «-ftp*», «-warc*», «-лимит-ставка», «-салыстырмалы» сияқты опцияларды өңдеу болды. тоқтады " және "--ажырату".

Негізгі инновацияларға мыналар жатады:

  • Функцияны libwget кітапханасына жылжыту.
  • Көп ағынды архитектураға көшу.
  • Бірнеше қосылымдарды параллель орнату және бірнеше ағындарға жүктеу мүмкіндігі. Сондай-ақ, «-chunk-size» опциясы арқылы блоктарға бөлінген бір файлды жүктеуді параллельдеуге болады.
  • HTTP/2 протоколын қолдау.
  • Тек өзгертілген деректерді жүктеп алу үшін If-Modified-Since HTTP тақырыбын пайдаланыңыз.
  • Даму сияқты сыртқы өткізу қабілеттілігін шектегіштерді пайдалануға ауысыңыз.
  • Accept-Encoding тақырыбын, қысылған деректерді тасымалдауды және brotli, zstd, lzip, gzip, deflate, lzma және bzip2 қысу алгоритмдерін қолдау.
  • TLS 1.3, қайтарып алынған сертификаттарды тексеруге арналған OCSP (Онлайн сертификат күйінің протоколы), HTTPS жүйесіне қайта бағыттауды мәжбүрлеуге арналған HSTS (HTTP қатаң көлік қауіпсіздігі) механизмі және сертификатты байланыстыру үшін HPKP (HTTP ашық кілтін бекіту).
  • TLS серверлері ретінде GnuTLS, WolfSSL және OpenSSL пайдалану мүмкіндігі.
  • TCP қосылымдарын жылдам ашуды қолдау (TCP FastOpen).
  • Кірістірілген Metalink пішімін қолдау.
  • Халықаралық домен атауларына қолдау көрсету (IDNA2008).
  • Бірнеше прокси серверлер арқылы бір уақытта жұмыс істеу мүмкіндігі (бір ағын бір прокси арқылы, ал екіншісі екіншісі арқылы жүктеледі).
  • Atom және RSS пішіміндегі жаңалықтар арналарына кірістірілген қолдау (мысалы, сілтемелерді сканерлеу және жүктеп алу үшін). RSS/Atom деректерін жергілікті файлдан немесе желі арқылы жүктеп алуға болады.
  • Сайт карталарынан URL мекенжайларын шығаруды қолдау. CSS және XML файлдарынан сілтемелерді шығаруға арналған талдаушылардың болуы.
  • Конфигурация файлдарындағы «қосу» директивасына қолдау көрсету және параметрлерді бірнеше файлдар бойынша тарату (/etc/wget/conf.d/*.conf).
  • Кірістірілген DNS сұрауларын кэштеу механизмі.
  • Құжат кодтауын өзгерту арқылы мазмұнды қайта кодтау мүмкіндігі.
  • Рекурсивті жүктеулер кезінде «robots.txt» файлын есепке алу.
  • Деректерді сақтағаннан кейін fsync() шақыруымен сенімді жазу режимі.
  • Үзілген TLS сеанстарын жалғастыру, сонымен қатар кэштеу және TLS сеансының параметрлерін файлға сақтау мүмкіндігі.
  • Стандартты енгізу ағыны арқылы келетін URL мекенжайларын жүктеуге арналған "--input-file-" режимі.
  • Бір екінші деңгейлі доменде орналастырылған әртүрлі сайттарды бір-бірінен оқшаулау үшін (мысалы, “a.github.io” және “b.github. io»).
  • ICEcast/SHOUTcast ағынын жүктеуді қолдайды.

Ақпарат көзі: opennet.ru

пікір қалдыру