deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (native)

Ghostman: yerleşik webhook incelemesi olan, klavyeyle yönetilen bir terminal API istemcisi

Hacker News'te yakın zamanda paylaşılan Ghostman, HTTP isteklerini oluşturmaya ve webhook'ları yerel olarak yakalamaya yarayan, koleksiyonları Git dostu YAML olarak saklayan ve bulut hesabı gerektirmeyen açık kaynaklı bir terminal istemcisi.

Ghostman: yerleşik webhook incelemesi olan, klavyeyle yönetilen bir terminal API istemcisi

Bir geliştirici, tamamen terminalde çalışan, klavyeyle yönetilen açık kaynaklı bir API istemcisi ve webhook denetleyicisi olan Ghostman'ı yayımladı ve bunu Hacker News'te Show HN projesi olarak tanıttı.

Ağır API istemcilerine bir tepki

Projenin GitHub sayfasına göre Ghostman, Postman ve Insomnia gibi yaygın GUI istemcilerine bir yanıt olarak geliştirildi; geliştirici, bu araçların hafif yardımcı programlardan bulut girişleri, ekip çalışma alanları ve telemetri dayatan kurumsal platformlara dönüştüğünü söylüyor. README, bu tür araçların boşta bellek kullanımını 800MB ile 1,5GB arasında veriyor ve yavaş başlatmalarını eleştiriyor — bu rakamlar yazarın kendi iddiaları olup bağımsız ölçümler değil, ama kategoride bilinen bir şikayeti yansıtıyor. Ghostman'ın buna karşılık sunduğu şey, yazarın 200 milisaniyenin altında açıldığını söylediği karanlık bir "cyberpunk" terminal teması; bulut hesabı yok, her şey yerel makinede tutuluyor.

İstekler, telemetri ve Git dostu koleksiyonlar

Ghostman, özel başlıklar ve ham JSON gövdeleriyle GET, POST, PUT, DELETE ve PATCH isteklerini destekliyor ve bunları oturumlar arasında kalıcı koleksiyonlar halinde düzenliyor. Yanıtlar Pygments ve Rich Python kütüphaneleri kullanılarak otomatik olarak girintilendirilip renklendiriliyor; telemetri ise HTTP durum kodları ve yük boyutlarının yanı sıra DNS çözümleme süresini ve ilk bayta kadar geçen süreyi raporluyor. Koleksiyonlar tek bir .ghostman/collections.yaml dosyasında düz YAML olarak duruyor ve bu dosya bir depoya işlenebilir; böylece tüm ekip, bulut eşitleme hesabı olmadan aynı istek tanımlarını paylaşır.

Tünel gerektirmeyen yerel webhook yakalama

Öne çıkan özellik gömülü webhook alıcısı. Ctrl+W tuşuna basmak 127.0.0.1 adresindeki 9090 portunda geçici bir sunucu başlatıyor; bu sunucu gelen geri çağırmaları yakalıyor — README örnek olarak Stripe, GitHub ve Shopify'ın yanı sıra yerel mikro servisleri sayıyor — ve başlıkları ile ayrıştırılmış yükleri özel bir sekmede canlı olarak görüntülüyor. Alıcı geliştiricinin kendi makinesinde çalıştığı için, README'ye göre geliştirme sırasında ngrok veya webhook.site gibi harici tünellere veya üçüncü taraf inceleme servislerine gerek yok.

Çalıştırma ve kontrol

Ghostman Python 3.10 veya daha yeni bir sürüm gerektiriyor ve geleneksel yolla kuruluyor: depoyu klonlayın, bağımlılıkları pip ile kurun ve python main.py komutunu çalıştırın; Windows'ta da bir run.bat kısayolu mevcut. Kullanım tamamen klavyeyle: Ctrl+S geçerli isteği gönderiyor, Tab ve Shift+Tab odağı girişler, metot seçiciler ve sekmeler arasında taşıyor, Ctrl+Q ise uygulamayı kapatıyor. README'deki yol haritası henüz tamamlanmamış işlere işaret ediyor: yakalanan bir webhook'ı giden istek olarak tek tıkla yeniden oynatma (giriş metni yeniden oynatmayı zaten vaat ettiği için bu özelliğin tam durumu biraz belirsiz), {{BASE_URL}} ve {{AUTH_TOKEN}} gibi dinamik ortam değişkenleri, istekleri Ctrl+C ile cURL'e aktarma ve Python bağımlılığını tamamen ortadan kaldıracak bağımsız bir çalıştırılabilir dosya. Proje MIT lisansıyla yayımlanıyor.

Neden önemli

API testi çoğu geliştirici için günlük bir görev ve mevcut araçlar istikrarlı biçimde hesap tabanlı, bulutla eşitlenen platformlara kaydı. Ghostman, dosya tabanlı iş akışlarına yönelen daha geniş bir eğilimin parçası: sürüm kontrolünde temiz şekilde diff'lenen ve incelenebilen YAML koleksiyonları, giriş duvarları yok ve webhook yakalama, isteklerin oluşturulduğu pencereye gömülü. Ödeme veya git platformu webhook'larını entegre eden herkes için, birlikte gelen alıcı tek başına kalıcı bir kurulum sürtünmesini ortadan kaldırabilir. Genç bir proje olarak henüz eksikleri var — özellikle ortam değişkenleri ve webhook yeniden oynatma ciddi kullanıcılar için önemli olacak — ama hafif geliştirici araçlarından beklentilerin nereye gittiğinin net bir sinyali.

  • #developer-tools
  • #api-client
  • #terminal
  • #webhooks
  • #open-source

İlgili yazılar