İçeriğe atla

Wget

Wget
Ubuntu üzerinde çalışan Wget yazılımı İngilizce Vikipedi maddesini indiriyor
Orijinal yazar(lar)Hrvoje Nikšić
Geliştirici(ler)Giuseppe Scrivano, Tim Rühsen, Darshit Shah
İlk yayınlanmaOcak 1996 (28 yıl önce) (1996-01)
Güncel sürüm1.24.5[1] Bunu Vikiveri'de düzenleyin / 10 Mart 2024
Programlama diliC
İşletim sistemiÇapraz platform
TürHTTP İstemcisi, FTP İstemcisi
LisansGNU Genel Kamu Lisansı[2]
Resmî sitesignu.org/software/wget
Kod deposu Bunu Vikiveri'de düzenleyin

GNU Wget (ya da kısaca Wget, eskiden Geturl), internet ağı üzerinden dosyalar indirmeye yarayan, komut satırı üzerinden kullanılan bir indirme yöneticisi. GNU Tasarısının parçasıdır.

Adı World Wide Web ve get'ten türetilmiştir. HTTP, HTTPS, FTP iletişim kurallarından indirmeyi destekler.

Özellikleri arasında özyinelemeli indirme, adreslerin çevrimdışı görüntülenmesi için ikizleme ve vekil sunucu desteği bulunur. Web kullanımının artması sonucu ilk sürümü 1996'da yayımlanmıştır, Unix ve Linux kullanıcıları sayesinde yaygın bir kullanıma ulaşmıştır. Taşınabilir C dilinde yazılmıştır, Unix benzeri düzene kolayca yüklenebilir. Microsoft Windows, Mac OS X, OpenVMS, HP-UX, MorphOS ve AmigaOS gibi ortamlara da taşınmıştır.

Geçmiş

Wget, aynı yazarın 1995 sonlarında hazırlamaya başladığı Geturl adlı yazılımı taban almıştır. GetURL adlı başka bir Amiga yazılımının varlığı fark edildikten sonra adı Wget olarak değiştirilmiştir.

Wget, 1990 ortalarındaki "internetten indirme yazılımı" boşluğunu doldurmuştur. Hiçbir yazılım güvenilir bir şekilde aynı anda HTTP ve FTP'den indirmeyi desteklemiyordu. Var olan yazılımlar ya yalnızca FTP'yi destekliyordu (NcFTP ve dl gibi) ya da yaygın olmayan Perl dilinde yazılmıştı. Wget, var olan yazılımlardan esinlendiği sırada hem HTTP hem FTP desteği sunmayı amaçladı ve kullanıcıların her Unix düzeninde bulunan ölçünlü geliştirme araçlarıyla derlemesini sağladı.

Unix kullanıcıları aşırı düşük üniversite ve çevirmeli ağ bağlatılarıyla boğuştuğu o zamanlarda, insan eli değmeden kısa süreli ağ sorunlarıyla başa çıkabilecek bir "indirme aracı" gereksinimini karşıladı.

2010'da Amerika Birleşik Devletleri Ordusu istihbarat çözümleyicisi olan Chelsea Manning 250,000 ABD uluslararası siyasi belgesini ve 500,000 Ordu layihasını Wget kullanarak indirdi. Bu belgeler Afgan Savaş belgeleri ve Irak Savaş belgeleri olarak tanındı ve Wikileaks'e gönderildi.[3]

Özellikler

Sağlamlık

Wget düşük ya da kararlı olmayan ağ bağlantılarında sağlam olacak şekilde tasarlanmıştır. Eğer bir indirme ağ sorunu nedeniyle başarısız olduysa, Wget kendiliğinden kaldığı yerden devam etmek için deneyecektir. Tüm dizin alınana dek bunu tekrar edecektir. Bunu desteklemesi için HTTP'nin Range özelliğini kullanan ilk istemcidir.

Özyinelemeli indirme

Wget, isteğe bağlı olarak arama robotu gibi çalışabilir. HTML sayfalarından bağlantılanan kaynakları ayrıştırır ve indirme işlemini tüm sayfalar indirilene ya da kullanıcı tarafından belirlenen azami derinliğe ulaşana dek yineler. İndirilen sayfalar uzak sunucuyla benzeşen bir şemayla dosyaya kaydedilir. Bu "özyinelemeli indirme", HTTP yolu ile web sitelerini kısmi ya da tam olarak ikizleyebilir. İndirilen HTML sayfalarındaki bağlantılar çevrimdışı görüntüleme için yeniden yapılandırılabilir. Wget, bu tür ikizleme işlemi yapılırken Robot engelleme ölçününü destekler (-e robots=off değişkeni kullanılmazsa).

Özyinelemeli indirme elbette FTP'de de çalışır. Wget LIST komutunu indirilecek ek dosyaları bulmak için kullanır. Bu işlemi tepe adresin altındaki tüm dizinleri ve dosyaları bulana dek tekrarlar. Eğer istenirse, FTP adreslerinin indirmesi sırasında wildcard kullanılabilir.

Wget, HTTP ve FTP üzerinden özyinelemeli olarak indirme yapılırken yerel ve uzak dosyaların zaman damgalarını denetlemek için ayarlanabilir. Yalnızca yerel dosyadan yeni olan dosyaları indirebilir. Bu, HTTP ve FTP sitelerinin kolayca ikizlenmesini sağlar ama rsync gibi her yönüyle ikizleme için tasarlanmış yazılımlarla karşılaştığında yetersiz ve hataya eğimlidir. Diğer bir yanda, Wget bu görevi yapmak için sunucu tarafında özel bir yazılıma gereksinim duymaz.

Etkileşimsizlik

Wget bir kez başlatıldığında kullanıcının etkileşimini ve bir uçbirimden denetlenmeyi gerektirmez. Daha sonra incelenmek üzere kendi ilerlemesini ayrı bir dosyada günlük biçiminde kayıt altına alır. Kullanıcılar Wget'i çalıştırıp, çıkış yapıp kendi haline bırakabilirler. Bu bağlamda, birçok çizge veya metin tabanlı arayüze sahip internet tarayıcıları kullanıcının düzende bulunmasını ve başarısız indirmeleri elle yeniden başlatmasını gerektirir ki bu da birçok veriyi aktarırken büyük bir engel teşkil eder.

Taşınabilirlik

Wget, C diliyle yazılmıştır. Bir C derleyicisinden biraz çoğunu ve BSD benzeri TCP/IP arayüzünü gerektirir, üçüncü taraf kütüphanelere asgari düzeyde gereksinim duyacak yüksek derece taşınabilir şekildedir.

Unix kabuğundan çalışacak Unix yazılımı olarak tasarlanmıştır, yazılım sayısız Unix benzeri ortamlara ve düzenlere taşınmıştır. Mac OS X'te ve Cygwin aracılığıyla Microsoft Windows'ta çalışabilir. Ayrıca bir GnuWin çıkını olarak da Microsoft Windows üzerinde bulunmaktadır.

Diğer özellikler

  • Wget, vekil sunucular üzerinden indirmeyi destekler.
  • Gerekli arayüzleri içeren sistemlerde IPv6'yı destekler.
  • OpenSSL veya GnuTLS kütüphanelerini kullanarak SSL/TLS'yi, şifreli indirmeleri destekler.
  • 32-bit düzenlerde gerekli arayüzler varsa 2 GiB'den büyük dosyaları indirmeyi destekler.
  • Tüm bant genişliğinin kullanımını engellemek için indirme hızı yavaşlatılabilir.

Ayrıca bakınız

Kaynakça

  1. ^ "wget-1.24.5 released [stable]". 10 Mart 2024. Erişim tarihi: 22 Mart 2024. 
  2. ^ "README file". 3 Aralık 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Ekim 2015. 
  3. ^ "Snowden Used Low-Cost Tool to Best N.S.A." 5 Ağustos 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Ekim 2015. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Linux</span> Bir işletim sistemi çekirdeği

Linux ; Linux çekirdeğine dayalı, açık kaynak kodlu, Unix benzeri bir işletim sistemi ailesidir. GNU Genel Kamu Lisansı versiyon 2 ile sunulan ve Linux Vakfı çatısı altında geliştirilen bir özgür yazılım projesidir. Linux ismi ilk geliştiricisi olan Linus Torvalds tarafından 1991 yılında verilmiştir. Günümüzde süper bilgisayarlarda, akıllı cihazların ve internet altyapısında kullanılan cihazların işletim sistemlerinde yaygın olarak kullanılmaktadır. Bunlardan en popüler olanı Google tarafından geliştirilen Android işletim sistemidir.

<span class="mw-page-title-main">İşletim sistemi</span> bilgisayar donanım kaynaklarını yöneten yazılım

İşletim sistemi ya da işletim dizgesi, bir bilgisayarın donanım kaynaklarını yöneten ve uygulama yazılımlarına hizmet sağlayan yazılımların bir bütünüdür. İşletim sistemleri, bilgisayarın donanımı ile uygulama yazılımları arasında bir köprü görevi görerek kullanıcıların sistemle etkileşim kurmasını sağlar. Öne çıkan örnekler arasında Microsoft Windows, macOS, GNU/Linux dağıtımları, Android ve iOS yer alır.

<span class="mw-page-title-main">GNU</span> bilgisayar işletim sistemi

GNU; çekirdeği, sistem araçlarını, açıcılarını, kütüphanelerini ve son kullanıcı yazılımlarını içeren, GNU Tasarısı kapsamında geliştirilen bir işletim sistemidir. İsminin açılımı "GNU's Not Unix" dir. Bu ismi almasındaki sebep de tasarımının Unix'e benzerken kendisinin özgür yazılım olması ve herhangi bir UNIX kodunu içermemesidir.

<span class="mw-page-title-main">Sunucu (bilişim)</span> bilgisayar ağlarında, diğer ağ bileşenlerinin (kullanıcıların) erişebileceği, kullanımına ve/veya paylaşımına açık kaynakları barındıran bilgisayar birimi

Sunucu, bilişim alanında "istemci" denilen diğer program ve cihazlara çeşitli işlevler sunan bilgisayar donanımları veya yazılımlarıdır. Bu mimariye istemci-sunucu modeli denir. Sunucular, istemciler arasında veri veya kaynak paylaşımı, bir istemci için hesaplama yapma gibi çeşitli işlevleri yerine getirebilirler. Bu işlevlere genellikle "servis" veya "hizmet" denir. Tek bir sunucu çok sayıda istemciye hizmet verebilir, tek bir istemci de çok sayıda sunucudan hizmet alabilir. İstemci ve sunucu aynı cihaz üzerinde çalışabileceği gibi, istemci ağ üzerinden farklı bir cihazdaki sunucuya da bağlanabilir. Tipik sunucular arasında veritabanı sunucuları, dosya sunucuları, e-posta sunucuları, yazdırma sunucuları, web sunucuları, oyun sunucuları ve uygulama sunucuları sayılabilir.

HTTPS bir bilgisayar ağı üzerinden güvenli iletişim için internet üzerinde yaygın olarak kullanılan bir HTTP uzantısıdır. HTTPS'te, iletişim protokolü Taşıma Katmanı Güvenliği (TLS) veya öncesinde, onun öncülü/selefi olan Güvenli Soket Katmanı (SSL) ile şifrelenir. Bu nedenle protokol sık sık TLS üzerinden HTTP veya SSL üzerinden HTTP olarak da adlandırılır.

<span class="mw-page-title-main">Transport Layer Security</span> Internet Şifreleme Protokolü

Taşıma Katmanı Güvenliği (TLS) ve onun öncülü/selefi olan Güvenli Soket Katmanı (SSL), bilgisayar ağı üzerinden güvenli haberleşmeyi sağlamak için tasarlanmış kriptolama protokolleridir. X.509 sertifikalarını kullanırlar ve bundan dolayı karşı tarafla iletişime geçeceklerin kimlik doğrulaması asimetrik şifreleme ile yapılır ve bir simetrik anahtar üzerinde anlaşılır. Bu oturum anahtarı daha sonra taraflar arasındaki veri akışını şifrelemek için kullanılır. Bu, mesaj/veri gizliliğine ve mesaj kimlik doğrulama kodları için mesaj bütünlüğüne izin verir. Protokollerin birçok versiyonu ağ tarama, elektronik mail, İnternet üzerinden faks, anlık mesajlaşma ve İnternet üzerinden sesli iletişim gibi uygulamalarda yaygın olarak kullanılmaktadır. Bu durumda/içerikte/bağlamda en önemli özellik iletme gizliliğidir. Bundan dolayı kısa süreli oturum anahtarı, uzun süreli gizli simetrik anahtardan türetilememelidir.

FTP istemcisi, FTP protokolü üzerinden FTP Sunucu'ya bağlanarak dosya transferi gerçekleştiren yazılımlara denir.

<span class="mw-page-title-main">Grafiksel kullanıcı arayüzü</span>

Grafiksel kullanıcı arayüzü, bilgisayarlarda işletilen komutlar ve bunların çıktıları yerine simgeler, pencereler, düğmeler ve panellerin tümünü ifade etmek için kullanılan genel addır.

<span class="mw-page-title-main">Qt (çalışma alanı)</span>

Qt, birden çok platformu destekleyen bir grafiksel kullanıcı arayüzü geliştirme araç takımıdır. Genellikle GUI programları geliştirmek için kullanılsa da gelişmiş kütüphanesi GUI bileşenlerinin dışında birçok araç içermektedir. Qt, en çok KDE masaüstü ortamında, Opera ağ tarayıcısında ve Skype anlık mesajlaşma programlarında kullanılmasıyla bilinir.

Bilgi işlem platformu, bir uygulama yazılımı çalıştırmak için donanım mimarisi ve bir yazılım çerçevesi, yazılım, çeşitli bazı kombinasyon veya sıralamalarını içermektedir. Tipik platformlarda bir bilgisayar mimari, işletim sistemi, programlama dilleri ve ilgili kullanıcı arabirimi içerir.

<span class="mw-page-title-main">ClamAV</span>

ClamAV, Genel Kamu Lisansı ile lisanslanmış çoklu platform destekli bir antivirüs yazılımıdır. Otomatik virüs veritabanı güncelleme özelliğine sahiptir. Daha çok Unix temelli sistemler için tasarlanmaya başlanmış olmakla birlikte Windows, Mac OS X ortamlarında da kullanılabilmektedir.

<span class="mw-page-title-main">HTTrack</span>

HTTrack, herhangi bir İnternet sitesini bütünüyle bilgisayara indirmeyi sağlayan ve indirilen sitenin çevrimdışı olarak kullanılmasını sağlayan bir web site kopyalama aracıdır. Özgür GNU Genel Kamu Lisansı ile lisanslıdır.

<span class="mw-page-title-main">Squid (yazılım)</span>

Squid, HTTP ve FTP gibi web servisleri için proxy önbellekleme yapan aynı zamanda internet çıkışlarınızı filtreliyerek yönetmenizi sağlayan bir proxy server’dır. Öncelikli olarak HTTP ve FTP için kullanılsa da, TLS, SSL, Internet Gopher ve HTTPS gibi birkaç farklı protokole de sınırlı bir şekilde destek sağlayabilmektedir. Squid başta Unix türevi işletim sistemleri için bir daemon olarak tasarlanmıştır. 2.7 versiyonu ile windows port eklenmiştir. Yeni versiyonlar Cygwin ortamını kullanan windowslar için çalışabilmektedir. Squid GNU Genel Kamu Lisansı altında yayınlanan bir özgür yazılımdır.

Sunucu Adı Göstergesi (SNI) bir TLS protokolü uzantısı. Güvenli SSL bağlantısı oluşturulurken el sıkışma (handshake) sürecinin başlagıcında, istek içerisinde geçen sunucu adının (hostname) dijital sertifikasını doğrular. SNI teknolojisi aynı IP adresi ve TCP portu üzerinden birden fazla güvenli web sitesi için doğrulama işlemini gerçekleştirdiğinden, daha önceden SSL kullanmak için gerekli olan sabit IP zorunluluğunu ortadan kaldırır.

Open Computer and Software Inventory Next Generation kullanıcılarına bilişim varlıklarının envanterini tutmayı sağlayan bir özgür yazılımdır. OCS-NG, OCS istemci programını çalıştıran ağ üzerinde toplanmış cihazlardaki donanım ve yazılımlar hakkında bilgi toplar. OCS bir web arayüzüyle envanteri görselleştirebilir. Bunun yanında arama kriterlerine dayanarak bilgisayarlar üzerinde uygulama dağıtımı yapabilme yeteneğine de sahiptir. Aracı tarafındaki IpDiscover tüm ağ üzerindeki bilgisayarları ve cihazları keşfetmeyi sağlar.

<span class="mw-page-title-main">GnuTLS</span>

GnuTLS TLS, SSL ve DTLS iletişim kurallarının uyarlaması olan özgür bir yazılımdır. Uygulamaların ağ taşıma katmanı üzerinde güvenli haberleşmesini, X.509, PKCS #12, OpenPGP ve diğer yapılara erişebilmesi için uygulama programlama arayüzü sağlar.

cURL, çeşitli protokoller kullanarak, veri aktarımı sağlamak için kütüphane ve komut satırı aracı sunan bir bilgisayar yazılımı projesidir. cURL projesi, libcurl ve cURL olarak ikiye ayrılır. İlk olarak 1997 yılında yayınlanmıştır. İsminde bulunan "c" İngilizcedeki client (istemci) kelimesinden gelmektedir.

<span class="mw-page-title-main">Mac OS X 10.0</span>

Mac OS X 10.0 veya Mac OS X Cheetah Apple tarafından üretilmiş ve piyasaya çıkarılmış ilk nesil Mac OS X bilgisayar ve sunucu işletim sistemidir. Sürüme takma isim olarak kedigillerin bir türü olan Çita ismi verildi. 129 dolar fiyat ile 24 Mart 2001'de piyasaya sürüldü.

Güvenli kabuk,, ağ hizmetlerinin güvenli olmayan bir ağ üzerinde güvenli şekilde çalıştırılması için kullanılan bir kriptografik ağ protokolüdür. En iyi bilinen örnek uygulaması bilgisayar sistemlerine uzaktan oturum açmak için olandır.

<span class="mw-page-title-main">Ngrep</span> Özgür bir ağ paket çözümleyicisi

ngrep, Jordan Ritter tarafından yazılmış bir ağ paket çözümleyicisidir. Bir komut satırı arayüzüne sahiptir, pcap kütüphanesine ve GNU regex kütüphanesine dayanır.