GNU ์›น ์ฝ˜ํ…์ธ  Wget2๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ์˜ ์ฒซ ๋ฒˆ์งธ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค

2๋…„ ๋ฐ˜์˜ ๊ฐœ๋ฐœ ๋์— GNU Wget2 ํ”„๋กœ์ ํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค๊ฐ€ ๋ฐœํ‘œ๋˜์—ˆ์œผ๋ฉฐ, GNU Wget ์ฝ˜ํ…์ธ ์˜ ์žฌ๊ท€ ๋‹ค์šด๋กœ๋“œ๋ฅผ ์ž๋™ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์™„์ „ํžˆ ์žฌ์„ค๊ณ„๋œ ํ”„๋กœ๊ทธ๋žจ ๋ฒ„์ „์ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. GNU Wget3๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ์„ค๊ณ„๋˜๊ณ  ๋‹ค์‹œ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ์›น ํด๋ผ์ด์–ธํŠธ์˜ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ณ„๋„๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” libwget ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์ด๋™ํ•œ ๊ฒƒ์œผ๋กœ ์œ ๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” GPLv3+์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜๊ณ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” LGPLvXNUMX+์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด ์ฝ”๋“œ ๊ธฐ๋ฐ˜์„ ์ ์ง„์ ์œผ๋กœ ์žฌ์ž‘์—…ํ•˜๋Š” ๋Œ€์‹  ๋ชจ๋“  ๊ฒƒ์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๊ณ  ๋ณ„๋„์˜ Wget2 ๋ถ„๊ธฐ๋ฅผ ๊ตฌ์ถ•ํ•˜์—ฌ ๊ตฌ์กฐ ์กฐ์ •, ๊ธฐ๋Šฅ ์ฆ๊ฐ€ ๋ฐ ํ˜ธํ™˜์„ฑ์„ ๊นจ๋œจ๋ฆฌ๋Š” ๋ณ€๊ฒฝ์„ ์œ„ํ•œ ์•„์ด๋””์–ด๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. FTP ํ”„๋กœํ† ์ฝœ ๋ฐ WARC ํ˜•์‹์˜ ์‚ฌ์šฉ ์ค‘๋‹จ์„ ์ œ์™ธํ•˜๊ณ  wget2๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ƒํ™ฉ์—์„œ ๊ธฐ์กด wget ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ํˆฌ๋ช…ํ•˜๊ฒŒ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฆ‰, wget2๋Š” ๋™์ž‘์— ์žˆ์–ด ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์„œํ™”๋œ ์ฐจ์ด์ ์ด ์žˆ๊ณ  ์•ฝ 30๊ฐœ์˜ ์ถ”๊ฐ€ ์˜ต์…˜์„ ์ œ๊ณตํ•˜๋ฉฐ ์ˆ˜์‹ญ ๊ฐœ์˜ ์˜ต์…˜ ์ง€์›์„ ์ค‘๋‹จํ•ฉ๋‹ˆ๋‹ค. "-ask-password", "-header", "-exclude-directories", "-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(์˜จ๋ผ์ธ ์ธ์ฆ์„œ ์ƒํƒœ ํ”„๋กœํ† ์ฝœ), HTTPS๋กœ ๊ฐ•์ œ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๊ธฐ ์œ„ํ•œ HSTS(HTTP Strict Transport Security) ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๋ฐ ์ธ์ฆ์„œ ๋ฐ”์ธ๋”ฉ์„ ์œ„ํ•œ HPKP(HTTP ๊ณต๊ฐœ ํ‚ค ๊ณ ์ •)๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • GnuTLS, WolfSSL ๋ฐ OpenSSL์„ TLS์šฉ ๋ฐฑ์—”๋“œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ.
  • TCP ์—ฐ๊ฒฐ์˜ ๋น ๋ฅธ ์—ด๊ธฐ ์ง€์›(TCP FastOpen)
  • ๋‚ด์žฅํ˜• Metalink ํ˜•์‹ ์ง€์›.
  • ๊ตญ์ œํ™”๋œ ๋„๋ฉ”์ธ ์ด๋ฆ„ ์ง€์›(IDNA2008)
  • ์—ฌ๋Ÿฌ ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ๋™์‹œ์— ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ(ํ•˜๋‚˜์˜ ์ŠคํŠธ๋ฆผ์€ ํ•˜๋‚˜์˜ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ๋กœ๋“œ๋˜๊ณ  ๋‘ ๋ฒˆ์งธ ์ŠคํŠธ๋ฆผ์€ ๋‹ค๋ฅธ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ๋กœ๋“œ๋จ)
  • Atom ๋ฐ RSS ํ˜•์‹์˜ ๋‰ด์Šค ํ”ผ๋“œ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ง€์›(์˜ˆ: ๋งํฌ ์Šค์บ” ๋ฐ ๋‹ค์šด๋กœ๋“œ) RSS/Atom ๋ฐ์ดํ„ฐ๋Š” ๋กœ์ปฌ ํŒŒ์ผ์ด๋‚˜ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Sitemap์—์„œ URL ์ถ”์ถœ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. CSS ๋ฐ XML ํŒŒ์ผ์—์„œ ๋งํฌ๋ฅผ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•œ ํŒŒ์„œ์˜ ๊ฐ€์šฉ์„ฑ.
  • ๊ตฌ์„ฑ ํŒŒ์ผ์˜ 'include' ์ง€์‹œ์–ด ์ง€์› ๋ฐ ์—ฌ๋Ÿฌ ํŒŒ์ผ(/etc/wget/conf.d/*.conf)์— ๋Œ€ํ•œ ์„ค์ • ๋ฐฐํฌ ์ง€์›.
  • ๋‚ด์žฅ๋œ DNS ์ฟผ๋ฆฌ ์บ์‹ฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜.
  • ๋ฌธ์„œ ์ธ์ฝ”๋”ฉ์„ ๋ณ€๊ฒฝํ•˜์—ฌ ์ฝ˜ํ…์ธ ๋ฅผ ๋…น์Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์žฌ๊ท€ ๋‹ค์šด๋กœ๋“œ ์ค‘ "robots.txt" ํŒŒ์ผ์„ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ ํ›„ fsync() ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜๋Š” ์•ˆ์ •์ ์ธ ์“ฐ๊ธฐ ๋ชจ๋“œ์ž…๋‹ˆ๋‹ค.
  • ์ค‘๋‹จ๋œ TLS ์„ธ์…˜์„ ์žฌ๊ฐœํ•˜๊ณ  TLS ์„ธ์…˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํŒŒ์ผ์— ์บ์‹œํ•˜๊ณ  ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ.
  • ํ‘œ์ค€ ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ์„ ํ†ตํ•ด ๋“ค์–ด์˜ค๋Š” URL์„ ๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•œ "--input-file-" ๋ชจ๋“œ์ž…๋‹ˆ๋‹ค.
  • ๊ณต๊ฐœ ๋„๋ฉ”์ธ ์ ‘๋ฏธ์‚ฌ ๋””๋ ‰ํ„ฐ๋ฆฌ(๊ณต๊ฐœ ์ ‘๋ฏธ์‚ฌ ๋ชฉ๋ก)์— ๋Œ€ํ•ด ์ฟ ํ‚ค ๋ฒ”์œ„๋ฅผ ํ™•์ธํ•˜์—ฌ ๋™์ผํ•œ XNUMX์ฐจ ๋„๋ฉ”์ธ(์˜ˆ: โ€œa.github.ioโ€ ๋ฐ โ€œb.github. ์ด์˜คโ€).
  • ICEcast/SHOUTcast ์ŠคํŠธ๋ฆฌ๋ฐ ๋‹ค์šด๋กœ๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€