Pratik Araçlar: Ngrok
Bilgisayarımızda, diğer bir ifade ile local (localhost) geliştirdiğimiz web uygulamalarını / web sayfalarını hızlı bir şekilde internet üzerinden erişilebilir hale getirmek istediğimizde ilgili dosyaları doğrudan veya git reposu üzerinden bir barındırma servisine aktarmak durumunda kalırız.
Bu işlemin pek pratik olmadığı aşikar. Peki, neler yapılabilir? Erişim güvenli bir şekilde ve etkileşimli olarak nasıl public erişime açılabilir?

Ngrok
ngrok, NAT’ların (Ağ Adresi Dönüştürme) arkasındaki yerel sunucuları güvenli tünellerden internete sunar. Yapmamız gereken sadece ngrok’a hangi portun işleme alınacağını söylemek.
ngrok http 80
Elbette bu işlem için ön tanımlı olarak localhost yayınının olması gerekiyor. Bu amaçla daha önce yayınladığım macOS X Üzerinde Kurulumsuz PHP Çalıştırmak başlıklı yazıma göz atabilirsiniz. Alternatif durumda ise built-in fileserver kullanılabilir.
ngrok http file:///Users/kullanici-adi/Desktop/../
İlgili bağlantıyı şifre korumalı hale getirmek için komutumuzu şu şekilde güncelleyebiliriz:
ngrok http -auth "[kullanici-adi]:[sifre]" 80
Ngrok’u başlattığınızda, terminalinizde tünelin genel URL’sini ve tüneliniz üzerinden yapılan bağlantılarla ilgili diğer durum ve ölçüm bilgilerini içeren bir UI görüntüler. Ngrok, bir hesap oluşturulmadan çalıştırıldığında oluşturulan adres üzerinden belirli bir süre için görüntülemeye izin verir, oturum süresi tamamlandığında uygulama public erişimi sonlandırır. Üyelik işlemi için dashboard.ngrok.com1 adresine göz atabilirsiniz. Ücretsiz üyelik seçeneğinde şu özellikler mevcuttur:
- HTTP/TCP tunnel’ler için rastgele URL’ler/port’lar tanımlanır,
- 1 çevrimiçi ngrok işlemi gerçekleştirilir,
- 4 tünel / ngrok süreci işleme alınır,
- Dakikada 40 bağlantı sunulabilir.
Üyelik seçenekleriyle ilgili daha detaylı bilgi almak amacıyla Pricing sayfasını inceleyebilirsiniz.

Ngrok, tüm HTTP trafiğini göz önünde bulundurabileceğiniz gerçek zamanlı bir web arayüzü sunar. Uygulama başlatıldıktan sonra, istek ayrıntılarını incelemek isterseniz tarayıcı üzerinden http://localhost:4040/status
adresine göz atabilirsiniz.
Ngrok Kurulumu
İndirme işlemi için ilk tercihim paket yönetici kullanımı olacak elbette. Homebrew aracılığıyla ilgili kurulumu şu şekilde gerçekleştirebiliriz:
brew cask install ngrok
İndirme işleminin tamamlanmasının ardından Get Started2 sayfasında yer alan authtoken
kodunu bilgisayarımıza indirdiğimiz ngrok
dosyasına tanımlamalıyız. İlgili tanımı şu şekilde komut ile gerçekleştirebiliriz:
ngrok authtoken [authtoken-key]
Kimlik tanımının /Users/kullanici-adi/.ngrok2/ngrok.yml
dosyasına işlenmesinin ardından localhost bağlantılarımızı (veya built-in fileserver ile dosyaları) internet üzerinden erişebilir hale getirebiliriz. Ngrok ile ilgili diğer bilgiler ve dokümantasyon için Get Started ve Documentation sayfalarını inceleyebilirsiniz.