Giriş: Localhost’tan Dünyaya
Bir geliştirici olarak, yerel makineniz sizin sığınağınızdır. Uygulamalarınızı bir localhost
sunucu, yani 127.0.0.1
internet bağlantısına ihtiyaç duymadan çalışmanızı iş başında görmenizi sağlayan özel bir geri döngü adresi (örneğin) kullanarak oluşturur, test eder ve yinelersiniz. Bu kurulum hızlı, güvenli ve geliştirmenin ilk aşamaları için mükemmeldir.
Peki bu yerel balonun dışına çıkmanız gerektiğinde ne olur?
- Stripe, Shopify veya Slack gibi yalnızca genel bir URL’ye istek gönderebilen üçüncü taraf bir hizmetten bir webhook entegrasyonunu test etmeniz gerekir .
- Bir müşteriye veya meslektaşınıza , bir hazırlama sunucusuna dağıtmadan devam eden bir çalışmayı göstermek istiyorsunuz .
- Web uygulamanızı yalnızca bir tarayıcı emülatöründe değil, gerçek bir mobil cihazda test etmeniz gerekir.
- Kendi makinesinden arka uç API’nize erişmesi gereken bir ön uç geliştiricisiyle işbirliği yapıyorsunuz.
Tüm bu senaryolarda, özel sunucunuzun herkese açık, internete erişilebilen bir adrese ihtiyacı vardır. Yerel sunucunuzu çevrimiçi halelocalhost
getirmeniz gerekir . Bu kılavuz, bu işlemi inanılmaz derecede basit hale getiren ücretsiz ve açık kaynaklı bir araç olan Tunnelmole’u kullanarak bunu tam olarak nasıl yapacağınızı gösterecektir.
Localhost Nedir?
Çözüme dalmadan önce, ne localhost
anlama geldiğini kısaca açıklayalım. Bilgisayar ağlarında, localhost
erişim için kullanılan mevcut bilgisayarı ifade eden bir ana bilgisayar adıdır. Tarayıcınızda adresine gittiğinizde http://localhost:3000
, bilgisayarınıza 3000 numaralı bağlantı noktasında kendi üzerinde çalışan bir hizmete bağlanmasını söylersiniz. Bu kapalı bir döngüdür; ağ isteği makinenizden asla çıkmaz.
Hızlı ve izole olması nedeniyle geliştirme açısından harika bir özellik. Ancak en büyük gücü aynı zamanda en büyük dezavantajı: İnternet dışındaki hiç kimse veya hiçbir şey tarafından erişilememesi.
Localhost sunucunuz için genel bir URL nasıl alınır?
Yerel sunucunuzu internete açmanın en kolay yolu bir tünelleme hizmeti kullanmaktır. Bu hizmetler, genel bir URL’den localhost
makinenizde çalışan sunucuya güvenli bir “tünel” oluşturur.
Tunnelmole, özellikle bu amaç için tasarlanmış basit ve açık kaynaklı bir araçtır. Tek bir komutla, gelen tüm trafiği doğrudan yerel uygulamanıza yönlendiren benzersiz bir genel URL sağlar.
Tunnelmole’un Temel Özellikleri
- Açık Kaynak: Hem istemci hem de sunucunun kodu tamamen açık kaynaklıdır, böylece inceleyip tam olarak nasıl çalıştığını anlayabilirsiniz. Bu, güvenlik ve şeffaflık açısından büyük bir artıdır.
- Ücretsiz Kullanım: Hesap oluşturmadan herkese açık URL’leri ücretsiz olarak alabilirsiniz.
- İsteğe Bağlı Kendi Kendine Barındırılabilir: En üst düzey kontrol ve gizlilik için Tunnelmole servisini kendi sunucunuzda barındırabilirsiniz.
- Basit Komut Satırı Arayüzü (CLI): Sezgisel olacak ve işinizi zorlaştırmayacak şekilde tasarlanmıştır.
- Çoklu Platform: Linux, macOS ve Windows’ta çalışır.
Tunnelmole’a Başlarken
Localhost sunucunuzu çevrimiçi hale getirelim. İşlem oldukça basit ve yalnızca birkaç dakika sürecektir.
Adım 1: Tunnelmole’u yükleyin
İşletim sisteminize ve tercihlerinize bağlı olarak Tunnelmole’u kurmanın birkaç yolu vardır.
Linux, macOS ve Windows için Linux Alt Sistemi (WSL)
En hızlı yol, yükleyici betiğini çalıştırmaktır. Terminalinizi açın ve aşağıdaki komutu yürütün:
curl -O https://install.tunnelmole.com/xD345/install && sudo bash install
ShellScriptBu betik işletim sisteminizi otomatik olarak algılar ve gerekli Node.js çalışma zamanını içeren doğru önceden derlenmiş ikili dosyayı yükler.
Pencereler
tmole.exe
Windows kullanıcıları çalıştırılabilir dosyayı doğrudan indirebilirler .
- tmole.exe dosyasını indirin
- İndirilen dosyayı sisteminizin ortam değişkeninin bir parçası olan bir klasöre yerleştirin . Bu sayede komutu komut isteminizdeki veya PowerShell’deki herhangi bir dizinden
PATH
çalıştırabilirsiniz .tmole
NPM’yi kullanma
Node.js (16.10 veya üzeri sürüm) yüklüyse, Tunnelmole’u global olarak yüklemek için Node Paket Yöneticisi’ni (NPM) kullanabilirsiniz:
sudo npm install -g tunnelmole
ShellScriptAdım 2: Yerel Uygulamanızı Çalıştırın
Herkese açık hale getirebilmeniz için yerel olarak çalışan bir web uygulamanız olması gerekir. Bu örnekte, port üzerinde çalışan basit bir Node.js Express sunucunuz olduğunu varsayalım 3000
. Uygulamanız farklı bir port kullanıyorsa, bunu not edin.
Eğer elinizde yoksa bu örnek Express uygulamasını kullanabilirsiniz. Şu şekilde kaydedin app.js
:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('<h1>Success! My localhost is now online!</h1>');
});
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`);
});
ShellScriptBağımlılığı ( npm install express
) yükleyin ve çalıştırın ( node app.js
). Sunucunuz artık dinliyor http://localhost:3000
.
Adım 3: Tunnelmole ile Çevrimiçi Olun!
Şimdi sihire geçelim. Yeni bir terminal penceresi açın (yerel sunucunuzu çalışır durumda bırakın) ve aşağıdaki komutu çalıştırın:
tmole 3000
ShellScriptUygulamanızın çalıştığı port ile değiştirin 3000
. Tunnelmole başlatılacak ve herkese açık URL’lerinizi görüntüleyecektir.
$ tmole 3000
Your Tunnelmole Public URLs are below and are accessible internet wide. Always use HTTPs for the best security
https://cqcu2t-ip-49-185-26-79.tunnelmole.net ⟶ http://localhost:3000
http://cqcu2t-ip-49-185-26-79.tunnelmole.net ⟶ http://localhost:3000
ShellScriptİşte bu kadar! Localhost sunucunuz artık çevrimiçi. URL’yi alıp https://
herkesle paylaşabilir veya üçüncü taraf bir hizmete bağlayabilirsiniz. Birisi bu URL’yi ziyaret ettiğinde, Tunnelmole isteği 3000 numaralı bağlantı noktasında çalışan yerel uygulamanıza iletir.
Nasıl Çalışır?
Tunnelmole’un ardındaki konsept basit ama güçlüdür.

- İstemci Bağlantısı: Komutu çalıştırdığınızda
tmole
, makinenizdeki istemci Tunnelmole servis sunucusuna kalıcı bir WebSocket bağlantısı kurar. - Genel URL Ataması: Tunnelmole hizmeti benzersiz bir genel alt alan adı (örneğin,
cqcu2t-ip-49-185-26-79.tunnelmole.net
) atar ve bunu sunucuya yönlendirir. - İstek Yönlendirme: Gelen bir HTTP isteği genel URL’nize ulaştığında, Tunnelmole servisi bunu alır.
- Tünelleme: Servis, istek verilerini kurulan WebSocket tüneli aracılığıyla bilgisayarınızdaki Tunnelmole istemcisine geri gönderir.
- Yerel Teslimat: İstemci verileri alır ve isteği yerel sunucunuza (örneğin,
http://localhost:3000
) iletir. - Yanıt İşleme: Yerel sunucunuzdan gelen yanıt aynı yol boyunca geri döner ve Tunnelmole hizmeti bunu orijinal ziyaretçiye iletir.
Tüm bu süreç neredeyse anında gerçekleşir ve dünyanın herhangi bir yerinden yerel uygulamanızla gerçek zamanlı etkileşim kurmanıza olanak tanır.
Localhost’u Çevrimiçi Hale Getirmek İçin Pratik Kullanım Örnekleri
Localhost sunucunuzu çevrimiçi hale getirmek sadece hoş bir numara değil; geliştiriciler için büyük bir üretkenlik artışıdır.
1. Webhook Geliştirme ve Test Etme
Webhook’lar modern uygulamalar için olmazsa olmazdır. Stripe, GitHub, Shopify ve Slack gibi hizmetler, olaylar (örneğin yeni bir abonelik, bir Git push mesajı, yeni bir sipariş) hakkında size gerçek zamanlı bildirimler göndermek için bunları kullanır. İşin püf noktası, bu hizmetlerin uygulamanızın uç noktasına ulaşabilmesi gerektiğidir; bu da localhost
.
Tunnelmole ile webhook hizmetine genel URL’nizi kolayca verebilirsiniz. Artık webhook işleyicilerini gerçek zamanlı olarak hata ayıklayabilir, kodunuzda kesme noktaları belirleyebilir ve gönderilen yükü tam olarak inceleyerek geliştirme sürecini önemli ölçüde hızlandırabilirsiniz.
2. Canlı Mobil ve Cihazlar Arası Test
Tarayıcı geliştirici araçları, mobil görünümleri taklit etmede harika bir iş çıkarır, ancak gerçek bir cihazın donanımının, işletim sisteminin veya dokunmatik arayüzünün inceliklerini yansıtamazlar. Mobil deneyimi gerçekten test etmek için sitenizi gerçek bir telefon veya tablette açmanız gerekir. Tunnelmole’u çalıştırarak, internete bağlı herhangi bir cihazdan genel URL’ye erişebilir ve yerel olarak barındırılan sitenizle etkileşim kurabilirsiniz.
3. Paylaşım ve İşbirliği
Yeni bir özellik geliştirdiğinizi ve proje yöneticinizden veya birlikte çalıştığınız bir ön uç geliştiricisinden anında geri bildirim almak istediğinizi düşünün. Ekran görüntüleri, git push’ları ve paylaşımlı bir hazırlama sunucusuna dağıtımlar gibi uzun bir süreç yerine, onlara Tunnelmole URL’nizi gönderebilirsiniz. Çalışmanız makinenizde çalışırken canlı olarak görebilir ve etkileşimde bulunabilirler.
4. Kurumsal Güvenlik Duvarlarını ve Karmaşık Ağları Atlatma
Bazen, gelen bağlantıları engelleyen kısıtlayıcı bir kurumsal ağ üzerinde geliştirme yapıyorsunuz. Tunnelmole, sunucusuna giden bir bağlantı kurarak bunu aşar. Giden internet erişiminiz olduğu sürece, yerel hizmetiniz için genel bir URL alabilirsiniz.
Gelişmiş Kullanım: Özel Alt Alan Adları ve Programatik Kullanım
Tunnelmole ayrıca daha gelişmiş iş akışları için özellikler de sunuyor.
Özel Alt Alan Adları
Rastgele oluşturulan URL’ler geçici kullanım için yeterli olsa da, bazen tutarlı bir adrese ihtiyaç duyarsınız. Tunnelmole, özel alt alan adlarını destekler. Barındırılan hizmeti kullanıyorsanız, bu ücretli bir özelliktir. Ancak, Tunnelmole açık kaynaklı olduğundan , hizmeti kendiniz barındırabilir ve özel alt alan adlarını ücretsiz olarak kullanabilirsiniz.
Özel bir alt alan adı kullanmak için komut şudur:
tmole <port> as my-cool-app.tunnelmole.net
ShellScriptNodeJS Projeleriyle Entegrasyon
Tunnelmole’u doğrudan Node.js projelerinizde bir NPM paketi olarak da kullanabilirsiniz. Bu, geliştirme ortamınızı otomatikleştirmek için faydalıdır.
Öncelikle bunu bir geliştirme bağımlılığı olarak kurun:
npm install --save-dev tunnelmole
ShellScriptDaha sonra bunu kodunuzda kullanabilirsiniz:
import { tunnelmole } from 'tunnelmole';
// This will start a tunnel for port 3000 and return the public URL
const url = await tunnelmole({
port: 3000
});
console.log(`My app is public at: ${url}`);
ShellScriptHatta bunu komut dosyalarınıza entegre ederek package.json
uygulamanızı ve tüneli tek bir komutla başlatabilirsiniz:
{
"scripts": {
"start": "node app.js",
"share": "npm run start & tmole 3000"
}
}
Şimdi çalıştırdığınızda npm run share
sunucunuz başlayacak ve anında çevrimiçi olarak kullanılabilir hale gelecektir.
Sonuç: Yerel Sunucunuz Yeniden Tasarlandı
İnternet ile aramızdaki engel localhost
artık katı bir duvar değil. Tunnelmole gibi araçlarla, istediğiniz zaman açabileceğiniz geçirgen bir zara dönüşüyor. Yerel ana bilgisayar sunucunuzu çevrimiçi olarak kullanılabilir hale getirerek iş akışlarınızı hızlandırabilir, testleri basitleştirebilir ve daha etkili bir şekilde iş birliği yapabilirsiniz.
Tunnelmole açık kaynaklı olduğu ve kendi kendine barındırılabildiği için, tescilli hizmetlerin sağlayamayacağı düzeyde şeffaflık, güvenlik ve kontrol sunar. İster zorlu bir webhook’ta hata ayıklıyor, ister mobil cihazda test yapıyor, ister sadece çalışmanızı paylaşmak istiyor olun, Tunnelmole’u deneyin ve geliştirme sürecinizi nasıl hızlandırabileceğini görün.