Hieu Solutions
Công nghệ

Tunnelto: đưa localhost ra Internet nhanh gọn lẹ

1 tháng 1, 1970
19 lượt xem
Tunnelto: đưa localhost ra Internet nhanh gọn lẹ

Tunnelto: đưa localhost ra Internet nhanh gọn lẹ

Vũ Quốc — 22/01/2026 — 13:15

Nhớ lúc ngày trước hồi 2017 bắt đầu mò qua DevOps, khi tìm hiểu deploy, mà chưa có biết gì mấy về hạ tầng thì đưa cái localhost ra Internet thấy ngầu hẳn và nhu cầu cũng đã tồn tại từ nhiều năm rồi: như demo nhanh, test webhook, cho teammate truy cập thử,… Và các cái tên rất quen thuộc như ngrok hay Cloudflare Tunnel.

Tunnelto

Vì sao là tunnelto?

Mình thích tunnelto ở điểm nhanh – gọn – lẹ đúng nhu cầu hàng ngày:

  • Chạy phát dùng ngay: chỉ cần trỏ port local là có public URL để demo/test/webhook.
  • CLI đơn giản: tập trung vào vài option hay sử dụng như subdomain, key, dashboard, host/scheme.
  • Mã nguồn mở: cài xong chạy, không phụ thuộc npm/stack cụ thể.

So sánh với các tools khác

  • ngrok: phổ biến, tiện, hệ sinh thái lớn. Nhưng nhiều người sẽ gặp rào cản plan/giới hạn hoặc muốn tự chủ hơn.
  • Cloudflare Tunnel: cực mạnh, hợp cho hướng hạ tầng production, gắn domain, zero-trust nhưng setup thường bài bản hơn, không phải ai cũng cần.
  • localtunnel: hợp nếu bạn đang ở hệ Node và muốn chạy nhanh kiểu npx.
  • tunnelto: nghiêng về kiểu mình cần link public ngay để test/demo. Gọn, nhanh, ít rườm rà.

Cài đặt

macOS (Homebrew)

brew install agrinman/tap/tunnelto

Cargo

cargo install tunnelto

Ubuntu

curl -sL https://tunnelto.dev/install.sh | sh

Cách sử dụng cơ bản

Chọn host (mặc định là localhost)
Dùng khi dịch vụ của bạn bind vào địa chỉ khác.

tunnelto --host 127.0.0.1 --port 8000

Chọn scheme khi forward về local (http/https)
Dùng khi local của bạn chạy https hoặc bạn muốn chỉ định rõ.

tunnelto --port 8000 --scheme http

Tạo subdomain cho dễ nhớ
Dùng khi bạn muốn link đẹp, dễ gửi cho người khác.

tunnelto --port 8000 --subdomain mydemo

Bật dashboard để xem request đi vào tunnel
Dùng khi bạn muốn kiểm tra request/flow ngay trên máy dev.

tunnelto --port 8000 --dashboard-address 127.0.0.1:4040

Dùng API key (nếu bạn có key)
Dùng khi service yêu cầu key để tạo tunnel.

tunnelto --port 8000 --key <YOUR_KEY>

Lưu key để lần sau khỏi gõ lại:

tunnelto set-auth --key <YOUR_KEY>

Bật verbose để debug
Dùng khi tunnel không lên hoặc cần log chi tiết hơn.

tunnelto --port 8000 --verbose

Một số use case thường dùng

Test webhook (GitHub/Stripe/Slack)

Bạn cần một URL public để dán vào webhook settings.

tunnelto --port 3000 --subdomain webhook-dev

Demo nhanh cho bạn bè

Bạn đang làm landing page hoặc REST API, muốn người khác xem ngay lập tức. Dùng subdomain để link nhìn phát hiểu ngay.

tunnelto --port 5173 --subdomain landing-preview

Gửi link dạng https://landing-preview... là xong.

Test OAuth redirect/callback

OAuth thường yêu cầu redirect URL là địa chỉ public.

tunnelto --port 3000 --subdomain oauth-callback

Rồi bạn lấy URL đó điền vào phần Redirect URI trong OAuth provider.

Mobile app gọi về backend local

Thay vì mở port router hoặc cùng Wi‑Fi, bạn dùng tunnel:

tunnelto --port 8080 --subdomain mobile-api

Trên app mobile bạn set base URL thành public URL tunnel.

Dùng hosted tunnelto.dev (đăng nhập lấy API key)

tunnelto set-auth --key <YOUR_KEY>
tunnelto --port 8000

set-auth là lệnh lưu key để lần sau khỏi nhập lại.

Kết

Tóm lại, tunnelto là tool nhanh – gọn – dễ dùng để mở localhost ra Internet nhanh chóng để demo/test/webhook. Chạy 1 lệnh là có link, cần xịn hơn thì có subdomain, dashboard, API key. Anh em nên trải nghiệm qua nhé.

tunnelto

💬 Bạn thấy bài viết này thế nào?

Chia sẻ suy nghĩ của bạn hoặc kết nối với tôi trên mạng xã hội!