33 puan yazan xguru 2026-03-02 | 7 yorum | WhatsApp'ta paylaş
  • Yerel geliştirme sırasında port çakışmalarını ve hangi portu kullandığını hatırlama derdini çözen, Vercel Labs imzalı açık kaynak bir yardımcı araç
  • Her geliştirme sunucusuna benzersiz bir uygulama.localhost alt alan adı vererek hem insanların hem de yapay zeka ajanlarının anlayabileceği bir URL düzeni sunuyor
    next dev ile çalıştırıldığında http://localhost:3000 kullanılır ve bu yüzden 3000 portunu hatırlamak gerekir
    ancak portless myapp next dev çalıştırıldığında http://myapp.localhost:1355 biçiminde erişilebilir
    portless api.myapp pnpm start gibi çalıştırıldığında http://api.myapp.localhost:1355 ile alt alan adı erişimini de destekler
  • Proxy tabanlı mimariyle çalışır ve portless proxy istekleri merkezi olarak yönlendirir
    • Uygulama çalıştığında proxy otomatik olarak başlar ve her uygulamaya rastgele bir port (4000–4999) atanır
    • Çoğu framework (Next.js, Express, Nuxt vb.) PORT ortam değişkenini otomatik olarak algılar
    • Vite, Astro gibi bazı framework'lerde otomatik flag ekleme özelliğiyle uyumluluk sağlanır
  • HTTP/2 ve HTTPS desteğiyle hızlı sayfa yükleme ve güvenli yerel iletişim sağlar
    • Tarayıcılar HTTP/1.1'de her host için bağlantı sayısını 6 ile sınırlar
      • Vite/Nuxt gibi çok sayıda sıkıştırılmamış dosya sunan geliştirme sunucularında performans düşebilir
      • HTTP/2 ise tüm istekleri tek bir bağlantı üzerinden çoklar
    • Kendi sertifikasını üretme ve sistem güven deposuna kaydetme işlemlerini otomatikleştirir
    • --cert, --key seçenekleriyle özel sertifika da kullanılabilir
  • Komut odaklı bir CLI arayüzü sunar
    • portless <name> <cmd> : belirtilen adla uygulamayı çalıştırır
    • portless list : etkin route listesini gösterir
    • portless proxy start/stop : proxy'yi kontrol eder
    • PORTLESS=0 ortam değişkeniyle proxy atlanarak çalıştırılabilir
  • Durum yönetimi dizini üzerinden route ve PID bilgilerini saklar
    • Normal kullanıcı modunda ~/.portless, root modunda /tmp/portless kullanılır
    • PORTLESS_STATE_DIR ile yol yeniden tanımlanabilir
  • Vite, webpack-dev-server vb. araçlarda API proxy ayarı yapılırken Host başlığının yeniden yazılması gerekir
    • Yanlış yapılandırmada 508 Loop Detected yanıtıyla sorun bildirilir
  • Node.js 20 ve üzeri, macOS ve Linux ortamlarını destekler
  • pnpm + Turborepo tabanlı monorepo yapısı
  • Apache-2.0 lisansı, TypeScript (yaklaşık %74) kod tabanı

7 yorum

 
xguru 2026-03-05

Worktree desteği eklenecek şekilde güncellendi

https://github.com/vercel-labs/portless/releases/tag/v0.5.2

Artık worktree’yi otomatik olarak algılayıp branch adını host’un önüne ekliyor

 
ragingwind 2026-03-02

Aynı projenin worktree yapısıyla pek uyumlu olmadığı için kullanmıyorum.

 
ndrgrd 2026-03-02

Bunun otomatik atama yaptığını sanmıştım ama meğer sadece elle kaydetme yöntemiymiş.
Caddy kullanıyorum; özellikle bununla değiştirmem için bir sebep yok gibi görünüyor.

 
ksc2601 2026-03-02

Bunu zaten docker + traefik + mkcert ile yapıyordum ama bunu kullanmak daha pratik olacak gibi görünüyor

 
bytecakelake 2026-03-02

Faydalı bir yazı olmuş.

 
xguru 2026-03-02

Artık EADDRINUSE hatasına bay bay mı?
Bu aralar ajanlarla oradan buradan bir sürü şey geliştirip durunca her şeyi rastgele ayağa kaldırıyorlar, sonra da kendi aralarında çakışıp ortalık karışıyor haha

 
xguru 2026-03-02

X'te konuşuluyordu; Docker'da kullanılıyorsa Docker daemon PID'si zorla verilirse onun da çalıştığı söyleniyor.

https://github.com/vercel-labs/portless/issues/61