Kamu developer yang sering kerja dengan local server? Pasti pernah perlu expose local service ke internet buat testing, demo, atau collaborate sama tim. Zrok bisa bantu kamu.
Apa Itu Zrok?
Zrok adalah open-source tunneling platform yang dibangun di atas OpenZiti — sebuah zero-trust network overlay. Dengan zrok, kamu bisa securely share web services, files, atau network resources ke siapa aja, tanpa perlu rubah firewall atau port forwarding.
Beda dari tool tunneling lain yang cuma bisa public share, zrok punya fitur unik: private sharing. Kamu bisa share resource ke user zrok lain secara peer-to-peer tanpa expose ke public internet.
Apa Bedanya dari Ngrok?
Ngrok adalah tunneling tool yang udah populer. Zrok mirip tapi dengan beberapa keunggulan:
Ngrok:
- Public share only
- Paid tiers untuk fitur advanced
- Closed source untuk fitur tertentu
Zrok:
- Public AND Private sharing
- 100% open source
- Bisa self-host (dari Raspberry Pi sampai enterprise)
- Developer SDK untuk embed ke aplikasi kamu
- Free untuk basic use
Cara Install Zrok
Zrok menyediakan binary untuk macOS, Linux, dan Windows. Download dari GitHub releases page atau pakai package manager.
macOS (Homebrew):
1brew install zrokLinux:
1curl -s https://get.zrok.io | bashWindows: Download binary dari releases page di GitHub.
Cara Pakai Zrok (3 Langkah Mudah)
Zrok dirancang untuk extremely easy to use. Dalam 3 command aja, kamu sudah bisa start sharing.
Langkah 1: Buat Account
1zrok inviteCommand ini akan register account baru dengan service. Dapat unique identifier yang bisa kamu use ulang.
Langkah 2: Enable Environment
1zrok enableIni akan enable shell environment kamu untuk sharing. Satu kali setup aja — setelah itu start sharing.
Langkah 3: Share Resource
1zrok share public http://localhost:3000Ini akan generate unique public URL yang bisa kamu share ke siapa aja. Buka URL itu di browser, dan kamu akan akses local service kamu.
Yang Bisa Kamu Share
1. Web Services
Yang paling sering dipake. Expose local web app ke internet:
1zrok share public http://localhost:3000Akan output something like: https://random-name.zrok.io
2. Files dan Directories
Turn folder jadi shareable network drive:
1zrok share public -b drive ./my-folderIni akan mount folder sebagai drive yang bisa diakses dari browser.
3. TCP/UDP Services
Private sharing untuk services non-HTTP:
1zrok share private tcp://localhost:5432Dengan private share, connection langsung antara kamu dan recipient — tidak ada public endpoint exposure.
Private Sharing vs Public Sharing
Ini yang bikin zrok unik:
Public Sharing:
- Service di-expose ke public internet via unique URL
- Siapa aja yang punya URL bisa akses
- Cocok untuk: demo, testing, webhook integration
Private Sharing:
- Resource di-share secara private ke user zrok lain
- Tidak ada public internet exposure
- Semua komunikasi end-to-end encrypted, peer-to-peer
- Cocok untuk: collaboration internal, secure access, sensitive services
Self-Hosting
Zrok bisa di-self-host, dari Raspberry Pi sampai enterprise infrastructure.
Kebutuhan minimal untuk self-hosted zrok:
- OpenZiti network (bisa di-setup sendiri atau pakai managed service)
- Zrok service instance
- Publicly accessible endpoint
Benefit self-host:
- Full control atas infrastructure
- Tidak ada dependency ke third-party service
- Bisa customize security policy
- Bikin private network sendiri
Developer SDK
Zrok menyediakan Go SDK kalau kamu mau embed sharing capability ke aplikasi kamu.
Contoh basic usage:
1import "github.com/openziti/zrok/sdk/go/zrok"
2
3req := &zrok.ShareRequest{
4 BackendMode: "proxy",
5 Target: "http://localhost:8080",
6}
7resp, err := client.Share(req)Documentation lengkap ada di GitHub repository.
Kapan Pake Zrok?
Cocok:
- Demo aplikasi ke client atau stakeholder
- Testing webhook integration dengan service diluar network
- Collaboration dengan tim yang berbeda network
- Share temporary development server
- Expose local AI models ke web interface
- Share files tanpa upload ke cloud
Tidak Cocok:
- Production-grade exposure (pake proper reverse proxy + CDN)
- Long-term public services
- High-traffic production apps
Zrok vs Alternatives
| Tool | Type | Open Source | Private Sharing | Self-Host |
|---|---|---|---|---|
| Zrok | Tunneling | (YES) | (YES) | (YES) |
| Ngrok | Tunneling | Partial | (NO) | (NO) |
| LocalXpose | Tunneling | (NO) | (NO) | (NO) |
| Cloudflare Tunnel | Tunneling | (YES) | (NO) | (YES) |
| PuTTY SSH Tunnel | SSH Tunnel | (YES) | (NO) | (NO) |
TL;DR
Zrok = open-source tunneling tool dengan fitur private sharing. Built on zero-trust network (OpenZiti). Free, self-hostable, dan bisa jalan di Raspberry Pi.
3 command untuk start:
zrok invitezrok enablezrok share public http://localhost:3000
