Wget
Wget 1.13.4.png
Ubuntu에서 실행되는 Wget의 스크린샷.
원저작자흐르보예 니치
개발자주세페 스크리바노, 팀 뤼센, 다싯 샤
초기 릴리즈1996년 1월, 26년 전(1996-01)
안정된 릴리스
1.21[1].3 / 2022년 2월 26일
저장소
기입처C
운영 체제크로스 플랫폼
유형FTP 클라이언트/HTTP 클라이언트
면허증.GPL-3.0 이후[a][2]
웹 사이트www.gnu.org/software/wget/

GNU Wget(이전의 Geturl)은 웹 서버에서 콘텐츠가져오는 컴퓨터 프로그램입니다.GNU 프로젝트의 일부입니다.그것의 이름은 "World Wide Web"과 "get"에서 유래했습니다.HTTP, HTTPSFTP통한 다운로드를 지원합니다.

이 기능에는 재귀 다운로드, 로컬 HTML 오프라인 보기를 위한 링크 변환 및 프록시 지원이 포함됩니다.웹의 인기 붐과 동시에 1996년에 등장하여 유닉스 사용자들 사이에서 널리 사용되고 대부분의 주요 리눅스 배포판이 배포되었다.휴대용 C로 작성된 Wget은 Unix와 유사한 시스템에 쉽게 설치할 수 있습니다.Wget은 Microsoft Windows, macOS, OpenVMS, HP-UX, AmigaOS, MorphOSSolaris이식되었습니다.버전 1.14 이후 Wget은 웹 아카이브 표준 WARC [3]형식으로 출력을 저장할 수 있게 되었습니다.

GNOME 데스크톱용 GWget과 같은 그래픽 프로그램의 기반으로 사용되고 있습니다.

역사

Wget은 1995년 말에 개발이 시작된 [4]Geturl이라는 이름의 이전 프로그램에서 파생되었습니다.저자가 AREXX에서 제임스 버튼이 작성한 GetURL이라는 이름의 초기 Amiga 프로그램을 알게 된 후 이름이 Wget으로 바뀌었다.

Wget은 1990년대 중반 이용 가능한 일관성 없는 웹 다운로드 소프트웨어의 공백을 메웠다.HTTP와 FTP를 모두 사용하여 파일을 다운로드할 수 있는 프로그램은 없습니다.기존 프로그램은 FTP(NcFTP 및 dl 등)를 지원하거나 Perl로 작성되었으며, 이는 아직 어디서나 볼 수 있는 것이 아닙니다.Wget은 기존 프로그램의 일부 기능에서 영감을 얻었지만 HTTP와 FTP를 모두 지원했으며 모든 Unix 시스템에 있는 표준 개발 도구만 사용하여 구축할 수 있었습니다.

그 당시 많은 Unix 사용자들은 매우 느린 대학 및 전화 접속 인터넷 접속에 어려움을 겪었고, 이로 인해 사용자 오퍼레이터의 도움 없이 일시적인 네트워크 장애를 처리할 수 있는 다운로드 에이전트의 필요성이 증가했습니다.

2010년 첼시 매닝은 위키리크스에 [5]보내진 이라크전 기록아프간전 기록으로 알려진 25만 건의 외교 전문과 50만 건의 육군 보고서를 다운로드하기 위해 Wget을 이용했다.

특징들

견고성

Wget은 저속 또는 불안정한 네트워크 접속에 대한 견고성을 추구하도록 설계되어 있습니다.네트워크 문제로 다운로드가 완료되지 않으면 Wget은 자동으로 다운로드를 중단한 부분부터 계속 시도하고 파일 전체가 검색될 때까지 이 과정을 반복합니다.당시 새로운 제품을 최초로 사용한 고객 중 하나였습니다.Range 기능을 지원하는 HTTP 헤더

재귀 다운로드

Wget은 HTML 페이지에서 링크된 리소스를 추출하여 순차적으로 다운로드함으로써 웹 크롤러와 같은 작업을 선택적으로 수행할 수 있으며, 모든 페이지가 다운로드되거나 사용자가 지정한 최대 재귀 깊이에 도달할 때까지 프로세스를 반복할 수 있습니다.다운로드된 페이지는 리모트서버와 유사한 디렉토리 구조로 저장됩니다.이 "재귀 다운로드"를 통해 HTTP를 통해 웹 사이트의 부분 또는 전체 미러링을 수행할 수 있습니다.다운로드된 HTML 페이지의 링크를 오프라인에서 볼 수 있도록 로컬로 다운로드된 자료를 가리키도록 조정할 수 있습니다.웹 사이트의 이러한 자동 미러링을 수행할 때 Wget은 Robots Exclusion Standard(옵션 이외)를 지원합니다.-e robots=off사용되고 있습니다).

재귀 다운로드는 FTP에서도 동작하며, 여기서 Wget은LIST명령어를 사용하여 다운로드해야 할 추가 파일을 찾습니다.상위 URL에 지정된 디렉토리 및 파일 아래에 이 프로세스를 반복합니다.FTP URL 다운로드가 요청되면 셸과 같은 와일드카드가 지원됩니다.

HTTP 또는 FTP를 통해 재귀적으로 다운로드하는 경우 로컬 및 리모트파일의 타임스탬프를 검사하고 대응하는 로컬파일보다 새로운 리모트파일만 다운로드하도록 Wget에 지시할 수 있습니다.따라서 HTTP 사이트와 FTP 사이트미러링은 쉬워지지만 rsync와 같이 처음부터 미러링을 하도록 설계된 프로그램과 비교하면 비효율적이고 오류가 발생하기 쉽습니다.한편, Wget에서는, 이 태스크에 특별한 서버측의 소프트웨어는 필요 없습니다.

비대화성

Wget은 일단 시작하면 사용자의 조작이나 TTY를 제어할 필요가 없기 때문에 나중에 검사하기 위해 진행 상황을 다른 파일에 기록할 수 있다는 점에서 비인터랙티브입니다.사용자는 프로그램을 사용하지 않고 Wget을 시작하고 로그오프할 수 있습니다.반면 대부분의 그래피컬 또는 텍스트 사용자 인터페이스 웹 브라우저에서는 사용자가 로그인 상태를 유지하고 실패한 다운로드를 수동으로 재시작해야 하므로 많은 데이터를 전송할 때 큰 장애가 될 수 있습니다.

휴대성

서드파티제 라이브러리에 대한 의존도를 최소화하면서 휴대성이 뛰어난 C 스타일로 작성된 Wget은 TCP/IP 네트워킹에 필요한 것은 C 컴파일러와 BSD와 같은 인터페이스뿐입니다.Unix 쉘에서 호출되는 Unix 프로그램으로 설계된 이 프로그램은 Cygwin을 통한 Microsoft Windows 및 macOS포함한 수많은 Unix와 유사한 환경과 시스템으로 이식되었습니다.또한 GnuWin 패키지의 하나로서 네이티브 Microsoft Windows 프로그램으로 사용할 수 있습니다.

기타 기능

  • Wget은 프록시를 통한 다운로드를 지원합니다. 프록시는 회사 방화벽 에서 웹 액세스를 제공하고 자주 액세스하는 콘텐츠를 캐시 및 신속하게 제공하기 위해 널리 배포됩니다.
  • 가능한 경우 영속적인 HTTP 접속을 사용합니다.
  • IPv6 는, 적절한 인터페이스를 포함한 시스템에서 서포트되고 있습니다.
  • SSL/TLS는 OpenSSL 또는 GnuTLS 라이브러리를 사용한 암호화된 다운로드에 대해 지원됩니다.
  • 2 GiB보다 큰 파일은 적절한 인터페이스를 포함하는 32비트 시스템에서 지원됩니다.
  • 사용 가능한 대역폭이 모두 소진되지 않도록 다운로드 속도를 조절할 수 있습니다.
  • 웹 아카이브 표준 WARC 형식으로 출력을 저장할 수 있습니다.[3]필요에 따라 관련 CDX 파일에서 중복을 제거할 수 있습니다.

저작자 및 저작권

GNU Wget은 Dan Harkless, Ian Abbott, Mauro Tortonesi를 포함한 많은 사람들의 기고와 함께 Hrvoje Nikshi치가 썼다.상당한 기여는 분포에 포함된 작성자 파일에 인정되며, 나머지 모든 기여는 프로그램에 포함된 변경 로그에 기록된다.Wget은 현재 Giuseppe Scrivano, Tim Rühsen, Darshit [6]Shah에 의해 관리되고 있다.

Wget의 저작권은 Free Software Foundation에 있으며, GNU 소프트웨어에 [7]대한 모든 사소한 기여에 대해 저작권을 할당하도록 정책을 정하고 있습니다.

면허증.

GNU Wget은 GNU General Public License 버전 3 이후 조건에 따라 배포되지만 OpenSSL 라이브러리에 링크된 바이너리를 배포할 수 있는 특별한 예외는 없습니다.예외 텍스트는 다음과 같습니다.[2]

GNU GPL 버전3 섹션7에서의 추가 권한

OpenSSL 또는 SSLeay 라이센스 조건의 대상이 되는 부분을 포함하는 OpenSSL 프로젝트의 OpenSSL 라이브러리(또는 라이브러리의 수정된 버전)와 연결 또는 결합하여 이 프로그램 또는 대상 작업을 수정하면 Free Software Foundation은 결과 작업을 전달할 수 있는 추가 권한을 부여합니다.이러한 조합의 비소스 형식에 대응하는 소스에는 대상 작업의 소스 코드와 함께 사용되는 OpenSSL 부분의 소스 코드가 포함되어야 합니다.

GnuTLS 라이브러리와 링크하도록 Wget을 수정하면 예외 구가 삭제될 것으로 예상됩니다[by whom?].

Wget의 문서는 Texinfo 레퍼런스 매뉴얼 형식으로 GNU Free Documentation License 버전 1.2 이후 조건에 따라 배포됩니다.일반적으로 Unix와 유사한 시스템에 배포되는 man 페이지는 Texinfo 매뉴얼의 하위 집합에서 자동으로 생성되며 동일한 라이센스 조건에 해당합니다.

발전

Wget은 공개적인 방식으로 개발되며, 대부분의 설계 결정은 일반적으로 사용자와 개발자가 공개 메일 목록에서[8] 논의합니다.버그 보고서와 패치는 동일한 목록에 릴레이됩니다.

출처기여부

Wget의 코드와 문서에 기여하기 위해 권장되는 방법은 diff 유틸리티에 의해 생성된 텍스트 패치 형식의 소스 업데이트를 사용하는 것입니다.Wget에 포함시키기 위한 패치는 메일링[8] 리스트에 송신되어 유지보수에 의해 검토됩니다.유지관리자의 정밀 조사를 통과한 패치는 소스에 설치됩니다.패치 작성 절차 및 스타일 가이드라인은 프로젝트의 [9]Wiki에 기재되어 있습니다.

소스 코드는 1.5.3 릴리스 이후의 리비전 이력을 호스트하는 리모트버전 제어 저장소를 통해서도 추적할 수 있습니다.저장소는 현재 [10]Git을 실행하고 있습니다.그 이전에는 소스 코드가 바자,[11] 머큐리얼, 서브버전CVS통해 (역순으로) 호스트되어 있었습니다.

풀어주다

개발 중에 충분한 수의 기능이나 버그 수정이 축적되면 Wget은 GNU FTP 사이트와 그 미러를 통해 일반에 공개됩니다.전적으로 자원 봉사자에 의해 운영되기 때문에, 릴리스에 대한 외부의 압력이나 강제적인 릴리스 기한은 없습니다.

릴리스에는 Wget 1.11이나 Wget 1.8.2 등 major.minor[.revision]형식의 버전으로 번호가 매겨집니다.메이저 버전 번호의 증가는 Wget 동작의 대규모 및 호환성이 없는 변경 또는 코드 베이스의 근본적인 재설계를 나타냅니다.마이너 버전 번호가 증가하면 새로운 기능과 버그 수정이 추가됩니다.새로운 리비전은 이전 리비전에 비해 버그 수정만 포함된 릴리스를 나타냅니다.리비전 0은 생략되어 있습니다.예를 들어 Wget 1.11은 1.11.0과 동일합니다.Wget은 Linux에서 보급된 홀수 짝수 릴리스 번호 규칙을 사용하지 않습니다.

인기 있는 레퍼런스

Wget은 2010 콜롬비아 픽처스 영화 개봉작인 소셜 네트워크에 출연한다.페이스북 공동 창업자인 마크 저커버그를 바탕으로 한 주인공은 다양한 하버드 대학 주택 시설 디렉토리에서 학생 사진을 수집하기 위해 Wget을 사용합니다.

주목할 만한 릴리즈

다음 릴리스는 Wget 개발의 중요한 이정표를 나타냅니다.각 릴리스 옆에 나열된 기능은 간략하게 편집되며 Wget과 [4]함께 배포되는 NEWS 파일에서 제공되는 릴리스에 대한 포괄적인 정보를 구성하지는 않습니다.

  • Geturl 1.0은 1996년 1월에 출시된 최초의 공개 릴리즈입니다.첫 번째 영문 발표는 Usenet 뉴스 게시물까지 추적할 수 있는데, 아마도 [12]6월에 출시된 Geturl 1.3.4를 언급할 것이다.
  • 1996년 11월에 출시된 Wget 1.4.0은 Wget이라는 이름을 사용한 최초의 버전입니다.또한 GNU GPL, Geturl조건에 따라 배포된 첫 번째 릴리스이기도 합니다.
  • 1997년 2월에 출시된 Wget 1.4.3은 FSF에 저작권이 할당된 GNU 프로젝트의 일부로 출시된 첫 번째 버전입니다.
  • 1998년 9월에 발매된 Wget 1.5.3은 이 프로그램의 인기의 이정표였다.이 버전은 많은 Linux 기반 배포판에 번들로 제공되었으며, 이로 인해 프로그램이 훨씬 더 많은 사용자에게 공개되었습니다.
  • 1999년 12월에 발매된 Wget 1.6에서는 (그때까지 오래된) 1.5.3 릴리스의 많은 버그 수정이 포함되어 있었습니다.이는 주로 Dan Harkless의 노력에 힘입은 것입니다.
  • 2001년 6월에 출시된 Wget 1.7에서는 SSL 지원, 쿠키영속 접속도입되었습니다.
  • 2001년 12월에 출시된 Wget 1.8에서는 대역폭 조절, 새로운 진행률 표시기 및 하이퍼링크 그래프의 폭 우선 트래버스가 추가되었습니다.
  • 2003년 10월에 출시된 Wget 1.9에는 실험적인 IPv6 지원 및 HTTP 서버에 대한 데이터 POST 기능이 포함되어 있습니다.
  • 2005년 6월에 출시된 Wget 1.10에서는 대용량 파일 지원, 듀얼 패밀리 시스템에서의 IPv6 지원, NTLM 인증 및 SSL 개선 기능이 도입되었습니다.관리직은 마우로 토토네시가 인수했다.
  • 2008년 1월에 발매된 Wget 1.11은 GNU General Public License 버전3으로 이행하여 GNU General Public License에 대한 예비 지원을 추가하였습니다.Content-Dispositionheader. CGI 스크립트에서 다운로드 할 파일의 이름을 나타내기 위해 자주 사용됩니다.HTTP 인증 코드에도 보안 관련 개선이 이루어졌습니다.마이카 코완이 프로젝트의 관리직을 이어받았다.
  • 2009년 9월에 출시된 Wget 1.12에서는 웹상의 CSS 콘텐츠 URL 해석 및 국제화 자원 식별자 처리에 대한 지원이 추가되었습니다.
  • 2011년 8월에 출시된 Wget 1.13은 HTTP/1.1을 지원하여 일부 휴대성 문제를 수정하고 보안 [13]연결을 위해 기본적으로 GnuTLS 라이브러리를 사용했습니다.
  • 2012년 8월에 출시된 Wget 1.14에서는 TLS 지원이 향상되어 RFC2617 다이제스트액세스 인증
  • 2014년 1월에 출시된 Wget 1.15에는 https 전용 및 Perfect-Forward Secrecy 지원이 추가되었습니다.
  • 2014년 10월에 출시된 Wget 1.16에서는 기본 프로그레스바 출력이 변경되어 CVE-2014-4877이 닫히고 cookie 도메인을 확인하기 위한 libpsl 지원이 추가되었으며 지정된 위치에서 다운로드를 시작할 수 있도록 start-pos가 도입되었습니다.
  • 2015년 11월에 출시된 Wget 1.17에서는 프라이버시 문제로 인해 FTP 패시브에서 액티브 폴백으로의 이행이 배제되었으며 FTPS 및 그 이후(변경된 경우)에 대한 지원이 추가되었습니다.
  • 2016년 6월에 출시된 Wget 1.18은 CVE-2016-4971 문제를 해결하고 "--bind-dns-address" 및 "--dns-servers" 옵션을 추가했습니다.
  • 2017년 2월에 출시된 Wget 1.19에서는 Metalink 파일 처리에 대한 새로운 옵션이 추가되었습니다.버전 1.19.1에서는 웹 서버가 지정된 HTTP 상태 코드로 응답할 경우 다운로드를 재시도하는 retry-on-http-error 옵션이 추가되었습니다.
  • 2018년 11월에 출시된 Wget 1.20은--retry-on-host-error보다 높은 신뢰성의 향상--accept-regex,--reject-regex재귀 FTP 검색 옵션.

Wget2

Wget2
초기 릴리즈2021년 9월 26일, 10개월 전(2021-09-26)
안정된 릴리스
2.0.1 / 2022년[14] 5월 27일
저장소gitlab.com/gnuwget/wget2
면허증.GPL-3.0 이후[15]
웹 사이트www.gnu.org/software/wget/

GNU Wget2 2.0.0은 2021년 9월 26일에 출시되었습니다.라이선스는 GPL-3.0 이후 라이선스로 라이선스되며 Libwget은 LGPL-3.0 이후 [15]라이선스로 랩되어 있습니다.특히 다음 프로토콜과 기술을 지원하므로 많은 경우 Wget2 다운로드 속도가 Wget1.[16]x보다 훨씬 빠릅니다.


관련 작업

GNOME v2.28.2가 설치Fedora v12의 GWget 1.0.4 스크린샷

GWget

GWget은 Wget용 무료 소프트웨어 그래피컬 사용자 인터페이스입니다.데이비드 세데뇨 페르난데스에 의해 개발되었으며 GNOME 프로젝트의 일부입니다.GWget은 병렬 다운로드뿐만 아니라 Wget의 [17]모든 주요 기능을 지원합니다.

클리젯

Cliget은 Curl, Wget 및 Aria2를 사용하는 오픈 소스 Firefox 애드온 다운로더입니다.그것은 자이드 압둘라에 [18][19][20]의해 개발되었다.

클론

임베디드 시스템용 GNU Wget 클론이 존재하며 메모리 및 저장공간이 한정되어 있는 경우가 많습니다.이들은 가장 기본적인 옵션을 지원하며, 일반적으로 다운로드에 한정됩니다.


「 」를 참조해 주세요.

메모들

  1. ^ GPL-3.0 이후(OpenSSL 예외 포함)

레퍼런스

  1. ^ "wget-1.21.3 출시"; 저자명 문자열: Darshit Shah; 발행일: 2022년 2월 26일; 취득일: 2022년 2월 27일.
  2. ^ a b "README file". Retrieved 1 December 2014.
  3. ^ a b Scrivano, Giuseppe (6 August 2012). "GNU wget 1.14 released". GNU wget 1.14 released. Free Software Foundation, Inc. Retrieved 25 February 2016.
  4. ^ a b "GNU Wget NEWS – history of user-visible changes". Svn.dotsrc.org. 20 March 2005. Archived from the original on 13 March 2007. Retrieved 8 December 2012. Wget 1.4.0 [formerly known as Geturl] is an extensive rewrite of Geturl.
  5. ^ Sanger, David and Eric Schmitt (8 February 2014). "Snowden Used Low-Cost Tool to Best N.S.A." The New York Times. Retrieved 10 February 2014.
  6. ^ "Wget - GNU Project". 30 November 2018. Retrieved 30 November 2018.
  7. ^ "Why the FSF gets copyright assignments from contributors - GNU Project - Free Software Foundation (FSF)". Gnu.org. Retrieved 8 December 2012.
  8. ^ a b "Gmane Loom". News.gmane.org. Retrieved 8 December 2012.
  9. ^ "PatchGuidelines - The Wget Wgiki". Wget.addictivecode.org. 22 September 2009. Retrieved 8 December 2012.
  10. ^ "RepositoryAccess". 31 July 2012. Retrieved 7 June 2013.
  11. ^ "RepositoryAccess". 22 May 2010. Retrieved 20 June 2010.
  12. ^ Niksic, Hrvoje (24 June 1996). "Geturl: Software for non-interactive downloading". comp.infosystems.www.announce. Retrieved 17 November 2016.
  13. ^ "/wget/trunk : contents of NEWS at revision 2608". bzr.savannah.gnu.org.
  14. ^ Tim Rühsen (27 May 2022). "GNU Wget2 2.0.1 released". Retrieved 27 May 2022.
  15. ^ a b "GNU Wget2 2.0.0 released". gnu.org. 26 September 2021.
  16. ^ "wget2". GitLab.
  17. ^ "GWget Home Page".
  18. ^ "zaidka/cliget". GitHub. Retrieved 25 August 2016.
  19. ^ "Meet the cliget Developer :: Add-ons for Firefox". addons.mozilla.org. Retrieved 25 August 2016.
  20. ^ "cliget". addons.mozilla.org. Retrieved 25 August 2016.
  21. ^ "git.openwrt.org Git - project/uclient.git/summary". git.openwrt.org.
  22. ^ a b "landley/toybox". 6 October 2021 – via GitHub.

외부 링크