Terminalden Kullanabileceğiniz Eğlenceli ve Faydalı Web Servisleri
Bir sunucuya SSH ile bağlandınız ve bulunduğunuz şehrin hava durumunu öğrenmek istiyorsunuz. Tarayıcı açmak yerine terminale curl wttr.in yazmanız yeterli. Benzer şekilde dış IP adresinizi görmek için curl ifconfig.me komutunu kullanabilirsiniz.
İnternette özellikle terminalden kullanılmak üzere hazırlanmış pek çok küçük web servisi bulunuyor. Bu servislerin çoğu üyelik, API anahtarı veya özel bir istemci gerektirmeden curl ile çalışıyor. Hava durumu ve IP adresinin yanında komut örnekleri bulmak, QR kod oluşturmak, HTTP isteklerini incelemek ve döviz kuru sorgulamak da mümkün. Aşağıda sunucu yönetiminde ya da günlük terminal kullanımında işinize yarayabilecek servisleri topladım.
Not: Ücretsiz ve anahtarsız servislerin adresleri, kullanım sınırları veya çalışma durumları zaman içinde değişebilir. Kritik sistemlerde kullanmadan önce servisin koşullarını kontrol etmek gerekir.
curl nedir?
curl, URL üzerinden veri göndermek ve almak için kullanılan bir komut satırı aracıdır. Linux dağıtımlarının büyük bölümünde kurulu gelir; macOS ve güncel Windows sürümlerinde de kullanılabilir.
Temel kullanım biçimi oldukça basittir:
curl https://example.com
Servisin döndürdüğü içerik doğrudan terminalde görüntülenir. Aşağıdaki örneklerde daha temiz çıktı almak için zaman zaman -s seçeneğini kullanacağız. Bu seçenek ilerleme ve hata mesajlarının ekrana yazılmasını engeller:
curl -s https://example.com
1. wttr.in ile terminalden hava durumu
wttr.in muhtemelen terminal odaklı web servislerinin en bilinenidir. Konum belirtmeden çağırdığınızda IP adresinizden tahmin edilen bölgenin hava durumunu gösterir:
curl wttr.in
Belirli bir şehir için şehir adını URL’ye ekleyebilirsiniz:
curl wttr.in/Ankara
curl wttr.in/Istanbul
Uzun tahmin yerine tek satırlık bir sonuç almak isterseniz:
curl 'wttr.in/Ankara?format=3'
Betiklerde işlemek üzere JSON çıktısı da alınabilir:
curl -s 'wttr.in/Ankara?format=j1'
JSON çıktısını jq ile birleştirerek yalnızca sıcaklığı gösterebilirsiniz:
curl -s 'wttr.in/Ankara?format=j1' |
jq -r '.current_condition[0].temp_C + " °C"'
2. Dış IP adresini öğrenme
NAT, VPN, güvenlik duvarı veya port yönlendirme ayarlarıyla uğraşırken internete hangi IP adresiyle çıktığınızı hızlıca görmek isteyebilirsiniz.
ifconfig.me bunun için en kısa çözümlerden biridir:
curl ifconfig.me
Alternatif servisler de bulunuyor:
curl icanhazip.com
curl api.ipify.org
curl ident.me
curl checkip.amazonaws.com
IPv4 veya IPv6 bağlantısını özellikle test etmek için curlün -4 ve -6 seçeneklerini kullanabilirsiniz:
curl -4 icanhazip.com
curl -6 icanhazip.com
Yalnızca IP adresi değil; yaklaşık konum, operatör ve ASN bilgisi de gerekiyorsa IPinfo kullanılabilir:
curl ipinfo.io
curl ipinfo.io/8.8.8.8
Belirli bir alanı jq ile seçmek de mümkündür:
curl -s ipinfo.io | jq -r '.org'
IP tabanlı konum bilgisinin GPS doğruluğunda olmadığını unutmamak gerekir. Özellikle mobil bağlantılarda, kurumsal ağlarda ve VPN kullanımında farklı bir şehir gösterilebilir.
3. cheat.sh ile komut örnekleri bulma
Bir Linux komutunun parametrelerini unuttuğunuzda uzun kılavuz sayfalarında arama yapmak yerine cheat.sh üzerinden kısa örnekler alabilirsiniz:
curl cheat.sh/tar
curl cheat.sh/curl
curl cheat.sh/rsync
curl cheat.sh/git
Programlama dilleri için de sorgu yapılabilir:
curl cheat.sh/python/list
curl cheat.sh/javascript/array
Daha doğal bir soru sormak için boşlukları + karakteriyle değiştirebilirsiniz:
curl 'cheat.sh/python/how+to+read+a+json+file'
Bu servis özellikle SSH oturumunda, grafik arayüzü bulunmayan makinelerde veya hızlıca örnek sözdizimi hatırlamak istediğinizde kullanışlıdır. Tek uyarım: sudo ile çalıştırmadan önce komutun ne yaptığını anlayın, kopyala-yapıştır alışkanlığı sunucularda pahalıya patlayabilir.
4. Terminalde QR kod oluşturma
QRenco.de verilen metni terminalde görüntülenebilen bir QR koda dönüştürür:
curl qrenco.de/https://bahri.info
Metinde boşluk veya özel karakter bulunuyorsa URL kodlaması yapmak gerekir:
curl 'qrenco.de/Kablosuz%20Ag%20Sifresi'
Bu yöntem bir bağlantıyı bilgisayardan telefona aktarmak, geçici bir metni paylaşmak veya SSH oturumundaki bir URL’yi telefonda açmak için oldukça pratiktir.
Tek eksi yanı: metin, üçüncü taraf bir sunucudan geçiyor. Wi-Fi parolası ya da erişim anahtarı gibi hassas bir şey için yerel çalışan bir QR aracını tercih ederim.
5. HTTP isteklerini httpbin ile inceleme
Bir API istemcisi veya ters proxy üzerinde çalışırken gönderilen HTTP başlıklarını ve verileri görmek gerekebilir. httpbin isteğinizi alıp içeriğini size JSON olarak geri döndürür.
Basit GET isteği:
curl https://httpbin.org/get
Gönderilen başlıkları görüntüleme:
curl https://httpbin.org/headers
POST isteği gönderme:
curl -X POST https://httpbin.org/post
-d 'isim=Bahri'
-d 'sehir=Ankara'
JSON gönderme:
curl https://httpbin.org/post
-H 'Content-Type: application/json'
-d '{"durum":"test"}'
Benzer amaçla HTTPBingo da kullanılabilir:
curl https://httpbingo.org/get
Test amaçlı kullanın; gerçek parola veya API anahtarı içeren isteklerin işi burada değil.
6. HTTP hata ve gecikme senaryolarını test etme
Uygulamanızın 404, 500 veya geciken bir sunucuya nasıl tepki verdiğini test etmek için httpstat.us kullanılabilir:
curl -i https://httpstat.us/200
curl -i https://httpstat.us/404
curl -i https://httpstat.us/500
Gecikmeli yanıt testi:
curl -i 'https://httpstat.us/200?sleep=3000'
Bu örnek yaklaşık üç saniye sonra cevap verir. Timeout, yeniden deneme ve hata yönetimi kodlarını sınamak için oldukça yararlıdır.
7. Döviz kurlarını JSON olarak alma
Frankfurter para birimleri arasında güncel ve tarihsel kur sorguları sunar. Sonuçlar JSON biçiminde döner:
curl 'https://api.frankfurter.app/latest?from=EUR&to=TRY,USD'
Belirli bir tarihteki kuru sorgulamak için:
curl 'https://api.frankfurter.app/2026-08-01?from=EUR&to=TRY'
Daha okunabilir çıktı için jq eklenebilir:
curl -s 'https://api.frankfurter.app/latest?from=EUR&to=TRY' | jq
Kripto para verilerini terminal görünümünde takip etmek için rate.sx kullanılabilir:
curl rate.sx
curl rate.sx/BTC
Bilgi almak ve küçük otomasyonlar için gayet yeterli; para transferi yapan bir sistemin arkasına koymadan önce gecikme ve lisans koşullarına bakmakta fayda var.
8. Saat ve zaman dilimi bilgisi
Bir sunucunun saat dilimi dönüşümlerini kontrol ederken WorldTimeAPI JSON çıktısı sağlayabilir:
curl https://worldtimeapi.org/api/timezone/Europe/Istanbul
Kullanılabilen zaman dilimlerini listelemek için:
curl https://worldtimeapi.org/api/timezone
Sunucu saatini eşitlemek için tabii ki NTP kullanın; bu servis daha çok hızlı bir kontrol veya geliştirme testi içindir.
9. Ülke bilgilerini sorgulama
REST Countries ülkelerin başkent, nüfus, para birimi, dil ve bayrak gibi bilgilerini JSON olarak sunar:
curl https://restcountries.com/v3.1/name/estonia
curl https://restcountries.com/v3.1/alpha/tr
Estonya’nın temel verilerini (başkent ve uluslararası telefon kodu) görmek için:
curl -s https://restcountries.com/v3.1/name/estonia |
jq '.[0] | {ulke: .name.common, baskent: .capital[0], telefon_kodu: .idd.root + .idd.suffixes[0]}'
Türkiye için yalnızca birkaç alanı göstermek istersek:
curl -s https://restcountries.com/v3.1/alpha/tr |
jq '.[0] | {ulke: .name.common, baskent: .capital, nufus: .population}'
10. GitHub API ile depo bilgisi alma
GitHub’ın genel API uçları, herkese açık depo ve kullanıcı bilgilerini terminalden sorgulamaya izin verir:
curl https://api.github.com/users/torvalds
curl https://api.github.com/repos/curl/curl
curl https://api.github.com/repos/curl/curl/releases/latest
Son sürüm etiketini tek satırda almak için:
curl -s https://api.github.com/repos/curl/curl/releases/latest |
jq -r '.tag_name'
Kimliksiz isteklerde hız sınırı düşük; sık sorgu atan bir betik yazacaksanız GitHub’ın token ile kimlik doğrulamasına bakmanızı öneririm.
11. DNS sorgusu yapma
dig veya nslookup elinizde yoksa, Google’ın DNS-over-HTTPS uç noktasıyla terminalden DNS sorgusu yapabilirsiniz:
curl -s 'https://dns.google/resolve?name=kalehost.net&type=A' | jq
MX kaydını kontrol etmek için:
curl -s 'https://dns.google/resolve?name=kalehost.net&type=MX' | jq '.Answer'
Domain ve hosting işiyle uğraşanlar için pratik bir alternatif: sunucuda dig kurulu değilse ya da bir DNS sağlayıcısının önbelleğini değil, doğrudan Google’ın gördüğünü kontrol etmek istediğinizde işe yarar.
Ağ hesaplaması gerekiyorsa HackerTarget’ın subnet calculator’ı da kullanışlıdır:
curl 'https://api.hackertarget.com/subnetcalc/?q=192.168.1.0/24'
12. Log ve dosya paylaşımı
Bir sunucu logunu ya da hata çıktısını hızlıca birine göstermeniz gerektiğinde, dosyayı e-postayla göndermek yerine termbin.com size bir link üretir:
cat hata.log | nc termbin.com 9999
Dosya paylaşımı için ise 0x0.st veya transfer.sh tercih edilebilir:
curl --upload-file yedek.zip https://0x0.st
curl --upload-file yedek.zip https://transfer.sh/yedek.zip
Bu servisler herkese açık olduğu için gizli veya kritik dosyaları buradan geçirmeyin; geçici loglar, ekran çıktıları veya küçük paylaşımlar için pratiktir.
Bu servisleri betiklerde kullanırken dikkat edilmesi gerekenler
Kısa bir curl komutunun çalışması, o servisin üretim ortamında güvenilir bir bağımlılık olduğu anlamına gelmez. Bir betiğe eklemeden önce şu konuları değerlendirmek faydalıdır:
Mutlaka HTTPS kullanın
Servis destekliyorsa adresi açıkça https:// ile yazın. Özellikle IP, konum veya gönderdiğiniz metinlerin ağ üzerinde açık biçimde taşınmasını önleyin.
Timeout belirleyin
Uzak servis cevap vermediğinde betiğiniz sonsuza kadar beklememeli:
curl --connect-timeout 5 --max-time 10 https://api.ipify.org
Hatalı HTTP yanıtlarını hata olarak ele alın
--fail seçeneği 400 ve üzerindeki HTTP durumlarında komutun başarısız olmasını sağlar:
curl --fail --silent --show-error https://api.ipify.org
Kısa seçeneklerle aynı komut:
curl -fsS https://api.ipify.org
Dönen veriyi doğrulayın
Bir IP servisi beklediğiniz yerde HTML hata sayfası döndürebilir. Sonucu doğrudan güvenlik duvarı kuralına veya yapılandırma dosyasına yazmadan önce biçimini doğrulayın.
Örneğin yalnızca geçerli bir IPv4 adresini kabul etmek için ek kontrol uygulanabilir.
Gizli bilgi göndermeyin
Üçüncü taraf servislere aşağıdaki verileri göndermekten kaçının:
- API anahtarları ve erişim belirteçleri
- Parolalar ve oturum çerezleri
- Kişisel veya kurumsal veriler
- Özel kaynak kodu ve sistem günlükleri
Alternatif servis veya önbellek düşünün
Bir özellik servisiniz için kritikse tek bir ücretsiz uç noktaya bağlı kalmayın. Alternatif sağlayıcı, yerel önbellek ve uygun hata yönetimi planlayın.
Daha fazla terminal servisi nerede bulunur?
awesome-console-services projesi; IP adresi, hava durumu, dosya paylaşımı, QR kod, sözlük, finans ve geliştirici araçları gibi kategorilerde çok sayıda terminal uyumlu servisi bir araya getiriyor.
Listedeki servislerin bir kısmı deneysel olabilir veya zaman içinde kapanabilir. Bu nedenle özellikle eski listelerde gördüğünüz adresleri kullanmadan önce HTTPS desteğini, gizlilik politikasını ve güncel çalışma durumunu kontrol etmeniz iyi olur.
Sonuç
Bu servislerin ortak yanı, hiçbirinin gerçekten gerekli olmaması: hepsi tarayıcıdan da yapılabilir. Ama SSH oturumundayken tek satırlık bir curl komutu yazmak, pencere değiştirmekten çoğu zaman daha hızlı. Ben en çok wttr.in ve ipinfo.io‘yu kullanıyorum; sizin favoriniz varsa yorumlarda paylaşabilirsiniz.
Son güncelleme 30 Ağustos 2026
