Saat Anda menjalankan aplikasi web di komputer sendiri, terminal biasanya menampilkan alamat seperti http://localhost:8080. Alamat itu hanya berarti sesuatu bagi komputer tersebut. Nama localhost selalu menunjuk balik ke mesin yang sedang Anda pakai, sehingga tidak ada perangkat lain di internet yang bisa membukanya.
Selama pekerjaan Anda hanya menulis kode dan menyegarkan browser, batasan itu tidak terasa. Masalahnya muncul saat ada pihak luar yang perlu menghubungi aplikasi tersebut.
Payment gateway ingin mengirim pemberitahuan pembayaran ke alamat aplikasi Anda. Klien ingin melihat demo tanpa menunggu proses rilis. Rekan tim ingin mencoba tampilannya dari ponsel di jaringan berbeda. Ketiganya menemui jalan buntu yang sama: aplikasi Anda tidak punya alamat yang bisa dijangkau dari luar.
Di titik inilah ngrok adalah jawaban yang paling sering dipakai. Alih-alih menyewa server atau mengubah pengaturan jaringan, Anda menjalankan satu perintah dan mendapatkan alamat publik yang langsung mengarah ke aplikasi di komputer Anda.
Ngrok Adalah Apa, dan Dari Mana Namanya Berasal
Ngrok adalah layanan tunneling (membungkus dan meneruskan trafik lewat jalur khusus) yang memberikan alamat publik untuk aplikasi yang berjalan di komputer lokal Anda. Program kecil bernama agent dijalankan di mesin Anda, lalu ngrok menyediakan domain di internet yang seluruh trafiknya diteruskan ke aplikasi tersebut.
Dokumentasi resminya menyebut diri sebagai reverse proxy terdistribusi. Istilah itu tepat: ngrok berdiri di depan aplikasi Anda, menerima permintaan dari pengunjung, lalu meneruskannya ke belakang. Kalau Anda ingin memahami perannya lebih utuh, konsep dasarnya sama dengan yang dibahas di artikel proxy adalah.
Namanya sendiri sering salah dibaca. Pelafalan yang dipakai pembuatnya adalah "en-grok", bukan "engrok" seperti satu kata. Bagian grok berasal dari kosakata budaya hacker yang berarti memahami sesuatu sampai menyatu — istilah ciptaan penulis fiksi ilmiah Robert A. Heinlein pada 1961. Huruf n di depan mengikuti kebiasaan penamaan alat jaringan Unix seperti ngrep. Digabung, namanya kira-kira berarti "memahami jaringan".
Ngrok tidak ada hubungannya dengan Grok, model kecerdasan buatan buatan xAI. Kemiripan namanya kebetulan. Ngrok sudah beredar sejak 2013, jauh sebelum Grok diperkenalkan.
Ngrok dirilis Alan Shreve pada 26 Juni 2013 sebagai proyek open source berlisensi Apache. Perusahaan di baliknya baru berdiri pada 2015, dan pada 2022 mengumpulkan pendanaan Seri A senilai 50 juta dolar AS. Halaman resminya kini mencatat lebih dari 13 juta developer terdaftar — angka yang menjelaskan kenapa hampir semua tutorial webhook memakainya sebagai contoh.
Cara Kerja Ngrok: Terowongan yang Dibuka dari Sisi Dalam
Kunci memahami ngrok terletak pada arah koneksinya. Bukan internet yang mengetuk pintu komputer Anda, melainkan komputer Anda yang lebih dulu mengulurkan tangan ke luar.
Begitu Anda menjalankan perintahnya, agent ngrok membuka koneksi TLS berumur panjang ke connect.ngrok-agent.com:443. Koneksi ini bersifat keluar, persis seperti saat browser Anda membuka sebuah situs. Karena seluruh jalurnya dienkripsi, alamat publik yang Anda terima otomatis dilayani lewat HTTPS tanpa perlu memasang sertifikat sendiri.
Setelah koneksi terbentuk, ngrok mendaftarkan sebuah domain di sisi publik. Trafik yang masuk ke domain itu diterima server ngrok, lalu dikirim balik ke agent Anda lewat koneksi yang tadi sudah dibuka. Agent meneruskannya ke port lokal yang Anda tentukan, dan respons aplikasi menempuh jalur yang sama dalam arah sebaliknya.
Diagram alur kerja ngrok dari koneksi TLS keluar hingga permintaan diteruskan ke localhost.
Selain HTTP dan HTTPS, ngrok juga melayani endpoint TCP dan TLS. Endpoint TCP inilah yang memungkinkan layanan non-web ikut dibuka, misalnya akses SSH ke mesin yang berada di jaringan tanpa IP publik.
Kenapa Ini Bukan Port Forwarding
Banyak yang mengira ngrok bekerja dengan cara membuka lubang di router. Anggapan itu keliru, dan perbedaannya penting untuk keamanan Anda.
Pada port forwarding, Anda mengubah aturan router agar permintaan dari internet ke port tertentu diteruskan ke satu komputer di jaringan lokal. Pintunya dibuka dari luar, sehingga siapa pun yang memindai alamat IP Anda bisa menemukannya. Cara ini juga menuntut akses ke router dan alamat IP publik — dua hal yang jarang dimiliki pengguna rumahan maupun karyawan kantor.
Pada VPN, yang terjadi adalah penggabungan dua jaringan agar saling terlihat seperti satu jaringan lokal. Tujuannya berbeda: memberi akses privat kepada orang yang sudah Anda percayai, bukan menerbitkan alamat publik. Perbandingannya bisa Anda baca di artikel VPN adalah.
Ngrok mengambil jalan ketiga. Karena koneksinya dimulai dari dalam, tidak ada aturan firewall yang perlu diubah dan tidak ada port yang menganga di router Anda. Inilah alasan ngrok tetap bekerja di balik jaringan kantor yang ketat, di kos dengan router milik pemilik rumah, bahkan lewat tethering ponsel.
Diagram perbandingan Port Forwarding, VPN, dan terowongan ngrok untuk akses komputer lokal.
Untuk Apa Ngrok Dipakai Sehari-hari
Fungsi ngrok akan terasa jelas begitu Anda melihat situasi nyata yang diselesaikannya:
- Menguji webhook dan callback: Layanan pembayaran atau platform pihak ketiga mengirim pemberitahuan otomatis ke alamat yang Anda daftarkan. Alamat itu wajib bisa dijangkau dari internet, sesuatu yang mustahil dipenuhi
localhost. Dengan ngrok, Anda mendaftarkan URL terowongan dan menerima kiriman aslinya di komputer sendiri. Konsep pertukaran datanya dibahas di artikel API adalah. - Memperlihatkan demo kepada klien: Perubahan yang baru selesai lima menit lalu bisa langsung ditinjau pihak lain. Anda cukup mengirim satu tautan, tanpa melewati proses rilis.
- Mencoba tampilan di perangkat lain: Aplikasi bisa dibuka dari ponsel, tablet, atau komputer rekan tim, meski perangkat itu berada di jaringan yang berbeda.
- Menjangkau layanan tanpa alamat IP publik: Server kecil di kantor atau komputer papan tunggal di rumah bisa dihubungi dari luar tanpa menyewa alamat IP khusus.
- Membuka akses jarak jauh berbasis TCP: Endpoint TCP memungkinkan akses SSH atau desktop jarak jauh ke mesin yang tidak bisa dihubungi langsung.
Agent-nya tersedia untuk Windows, macOS, dan Linux, termasuk arsitektur ARM. Karena itu ngrok juga bisa dijalankan lewat Termux di ponsel Android.
Ilustrasi lima kegunaan ngrok untuk menguji webhook, demo klien, dan akses jarak jauh.
Panel Inspeksi di localhost:4040
Fitur yang paling menentukan justru sering terlewat pengguna baru. Setiap kali agent berjalan, ngrok menyalakan antarmuka pemeriksaan di http://localhost:4040 pada komputer Anda.
Halaman itu menampilkan seluruh permintaan yang melintas: metode, jalur, header, isi permintaan, kode status, sampai durasi pemrosesan. Isi berformat JSON dan XML dirapikan otomatis, dan daftarnya bisa disaring sesuai kebutuhan.
Kemampuan terpentingnya adalah memutar ulang permintaan dengan satu klik. Bayangkan Anda sedang memperbaiki penanganan notifikasi pembayaran, lalu kode Anda gagal di percobaan pertama. Tanpa fitur ini, Anda harus mengulang seluruh proses transaksi hanya untuk memicu satu notifikasi. Dengan panel inspeksi, kiriman yang sama diputar ulang berkali-kali sampai kode Anda benar — bahkan bisa diubah dulu isinya.
Panel ini hanya melayani endpoint HTTP dan hanya tersedia pada agent mandiri. Endpoint TCP dan TLS tidak bisa diperiksa dari sini, begitu pula ngrok yang dipakai sebagai pustaka di dalam aplikasi.
Batas Versi Gratis Ngrok dan Angkanya
Ngrok memang punya paket gratis, tetapi batasnya nyata dan sebaiknya Anda ketahui sebelum menyusun rencana kerja. Berikut angka yang berlaku pada 2026:
| Batas | Paket gratis |
|---|---|
| Data keluar | 1 GB per bulan |
| Permintaan HTTP | 20.000 per bulan |
| Koneksi TCP | 5.000 per bulan |
| Endpoint aktif bersamaan | 3 |
| Agent berjalan bersamaan | 3 |
| Domain pengembangan tetap | 1 |
| Batas laju permintaan | 4.000 per menit |
| Domain sendiri | Tidak tersedia |
| Halaman peringatan browser | Selalu muncul |
Untuk pekerjaan pengembangan sehari-hari, kuota 20.000 permintaan per bulan umumnya memadai. Yang lebih cepat terasa sesak adalah kuota 1 GB, terutama kalau aplikasi yang Anda perlihatkan berisi banyak gambar.
Satu perbaikan penting terjadi pada 2023: pengguna gratis kini mendapat satu domain pengembangan tetap, misalnya contoh-anda.ngrok-free.dev. Sebelumnya alamat itu diacak setiap kali agent dinyalakan ulang, sehingga pengaturan webhook harus diperbarui terus-menerus.
Kalau batasnya kurang, paket Hobbyist dibanderol 8 dolar AS per bulan dengan pembayaran tahunan, atau 10 dolar AS bila dibayar bulanan. Paket ini menghapus halaman peringatan dan menambah kuota. Kemampuan memakai domain milik Anda sendiri baru terbuka di paket Pay-as-you-go seharga 20 dolar AS per bulan ditambah biaya pemakaian.
Kelemahan dan Hal yang Perlu Anda Pertimbangkan
Kemudahan ngrok datang dengan sejumlah konsekuensi yang perlu Anda hitung:
- Alamatnya benar-benar publik: Selama terowongan menyala, siapa pun yang mengetahui URL-nya bisa membuka aplikasi Anda. Kalau aplikasi tersebut belum punya autentikasi, basis data pengembangan Anda praktis terbuka. Matikan agent begitu selesai bekerja, dan jangan pernah mengarahkan terowongan ke sistem berisi data sungguhan tanpa perlindungan.
- Halaman peringatan mengganggu demo: Pada paket gratis, pengunjung yang memakai browser disambut halaman peringatan lebih dulu dan harus menekan tombol lanjut. Ngrok memasangnya untuk mencegah penyalahgunaan sebagai sarana penipuan. Setelah ditekan, sebuah cookie menahannya agar tidak muncul lagi selama tujuh hari. Webhook dan permintaan API tidak terpengaruh, apalagi bila menyertakan header
ngrok-skip-browser-warning. Meski begitu, kesan pertama saat memperlihatkan demo kepada klien tetap terganggu. - Ada tambahan waktu tempuh: Trafik Anda memutar lewat infrastruktur ngrok sebelum sampai ke komputer lokal. Untuk pengujian hal ini tidak masalah, tetapi jangan memakai terowongan sebagai tolok ukur kecepatan aplikasi.
- Bergantung pada pihak ketiga: Ketika layanan ngrok terganggu, terowongan Anda ikut mati meski aplikasi lokal baik-baik saja. Ketergantungan ini juga menjadi alasan sejumlah perusahaan melarang pemakaiannya di jaringan internal.
- Bukan pengganti hosting: Terowongan hanya hidup selama komputer Anda menyala dan agent berjalan. Aplikasi yang melayani pengguna sungguhan membutuhkan server yang memang dirancang untuk itu.
Ketika Ngrok Dipakai Penyerang
Sisi ini jarang dibahas dalam bahasa Indonesia, padahal justru penting bagi Anda yang mengelola jaringan kantor atau server perusahaan.
Ngrok adalah perangkat lunak yang sah dan dipakai jutaan developer. Sifat itulah yang membuatnya menarik bagi penyerang.
Laporan tim Sophos Rapid Response mencatat polanya dalam sejumlah insiden. Setelah berhasil masuk ke sebuah komputer, penyerang menjalankan perintah semacam ngrok.exe tcp 3389 untuk membuka port desktop jarak jauh ke luar. Terowongan itu memberi mereka pintu masuk yang tetap terbuka. Pada kasus lain, URL ngrok dipakai sebagai tempat mengunduh berkas berbahaya.
Pendeteksiannya sulit karena beberapa alasan sekaligus. Perangkat keamanan cenderung menganggapnya program normal, dan trafiknya memakai port 443 yang sama dengan trafik web biasa. Programnya pun berdiri sendiri hampir tanpa berkas pendukung, sementara tujuan akhir koneksinya tersamarkan di balik infrastruktur ngrok.
Kalau Anda bertanggung jawab atas sebuah jaringan, beberapa jejak berikut layak diperiksa secara berkala:
- Proses
ngrok.exeyang berjalan dengan argumen sepertitcp 3389atauhttp 443, terutama di komputer yang penggunanya bukan developer - Berkas konfigurasi
ngrok.ymldi dalam folder.ngrok2pada direktori pengguna - Kueri DNS ke domain milik ngrok dari perangkat yang seharusnya tidak memakainya
- Tugas terjadwal yang menjalankan ngrok secara otomatis saat komputer menyala
- Catatan masuk desktop jarak jauh dengan alamat sumber yang menunjuk ke perangkat itu sendiri, tanda bahwa koneksi datang lewat terowongan lokal
Temuan semacam ini tidak otomatis berarti ada serangan — bisa jadi memang ada developer yang sedang bekerja. Namun pada komputer bagian keuangan atau administrasi, kehadiran ngrok pantas dipertanyakan.
Empat Langkah Menjalankan Ngrok Pertama Anda
Langkah #1: Daftar dan Unduh Agent
Buat akun di situs resmi ngrok, lalu unduh agent sesuai sistem operasi Anda. Pada macOS dan Linux, pemasangannya juga tersedia lewat pengelola paket seperti Homebrew atau apt. Hindari sumber unduhan pihak ketiga, karena biner tunneling adalah target empuk untuk disisipi kode berbahaya.
Langkah #2: Pasang Authtoken
Setelah mendaftar, salin authtoken dari dasbor akun Anda, lalu jalankan perintah berikut untuk menyimpannya:
ngrok config add-authtoken TOKEN_ANDAToken ini disimpan di berkas konfigurasi dan hanya perlu dipasang sekali per komputer. Tanpa token, agent menolak bekerja. Perlakukan token seperti kata sandi, karena pemegangnya bisa membuat terowongan atas nama akun Anda.
Langkah #3: Nyalakan Terowongan
Misalkan aplikasi Anda berjalan di port 8080. Perintahnya cukup satu baris:
ngrok http 8080Terminal akan menampilkan domain publik yang diberikan, alamat tujuan penerusan, dan penghitung permintaan yang masuk. Domain itulah yang Anda bagikan atau daftarkan sebagai alamat webhook. Kalau aplikasi Anda memakai port lain, ganti angkanya — misalnya ngrok http 8000 untuk server pengembangan Django, atau ngrok http 3000 untuk aplikasi Node.js.
Langkah #4: Pantau Lewat Panel Inspeksi
Biarkan terminal tetap terbuka, lalu buka http://localhost:4040 di browser. Setiap permintaan yang masuk akan muncul di sana lengkap dengan isinya. Kebiasaan membuka panel ini sejak awal menghemat banyak waktu saat sesuatu tidak berjalan sesuai harapan.
Untuk menghentikan terowongan, tekan Ctrl+C di terminal tempat agent berjalan. Alamat publiknya mati saat itu juga.
Saat Alamat Ngrok Tidak Bisa Dibuka
Empat pesan kesalahan berikut mencakup hampir semua kegagalan yang dialami pengguna baru:
- ERR_NGROK_3200: Endpoint sedang offline. Penyebab tersering adalah agent yang sudah berhenti karena terminalnya tertutup atau komputernya sempat tidur. Nyalakan ulang agent-nya.
- ERR_NGROK_8012: Trafik sampai ke agent, tetapi agent gagal menghubungi aplikasi Anda. Artinya nomor port pada perintah tidak cocok dengan port yang benar-benar dipakai aplikasi, atau aplikasinya memang belum berjalan.
- ERR_NGROK_4018: Authtoken belum terpasang. Ulangi Langkah #2.
- ERR_NGROK_108: Jumlah agent yang berjalan bersamaan melewati batas akun. Paket gratis mengizinkan tiga, jadi tutup sesi yang tidak terpakai.
Kalau halamannya terbuka tetapi yang muncul justru peringatan dari ngrok, itu bukan kegagalan. Perilaku tersebut memang bawaan paket gratis, seperti dibahas di bagian kelemahan.
Alternatif Ngrok dan Kapan Sebaiknya Beralih
Ngrok bukan satu-satunya pilihan. Beberapa alternatif berikut punya karakter berbeda:
| Alternatif | Kelebihan utama | Yang perlu disiapkan |
|---|---|---|
| Cloudflare Tunnel | Kuota data tidak dibatasi, alamat memakai domain Anda sendiri | Domain yang dikelola lewat Cloudflare |
| Localtunnel | Satu perintah lewat npm, tanpa pendaftaran akun | Ketersediaan bergantung pada server komunitas |
| Tailscale Funnel | Cocok untuk akses tim, jaringan berbasis WireGuard | Aplikasi Tailscale terpasang di setiap perangkat |
| zrok | Bisa dijalankan di server sendiri | Server dan waktu untuk memasangnya |
Cloudflare Tunnel biasanya menjadi jawaban paling masuk akal begitu kebutuhan Anda melewati sekadar pengujian, karena alamatnya memakai domain sendiri dan tanpa halaman peringatan. Localtunnel unggul untuk keperluan sesaat. Tailscale Funnel lebih tepat kalau yang Anda butuhkan sebenarnya akses internal untuk tim.
Namun ada garis yang lebih penting daripada memilih di antara keempatnya. Terowongan, siapa pun penyedianya, dirancang untuk pekerjaan sementara. Begitu aplikasi Anda harus melayani pengguna sungguhan setiap saat, laptop yang Anda bawa pulang bukan lagi tempat yang pantas menanggungnya. Yang dibutuhkan adalah lingkungan yang menyala terus, seperti VPS Indonesia. Perbedaan karakter keduanya dibahas di artikel VPS adalah.
Patokan praktisnya sederhana. Kalau terowongan Anda perlu menyala lebih dari delapan jam sehari selama lebih dari dua minggu berturut-turut, itu pertanda pekerjaannya sudah berpindah dari pengujian ke produksi.
Pertanyaan yang Sering Muncul
Apakah ngrok berbayar?
Ngrok tersedia gratis dengan batas 1 GB data dan 20.000 permintaan HTTP per bulan, tiga endpoint aktif, dan satu domain pengembangan tetap. Paket berbayar dimulai dari 8 dolar AS per bulan. Kemampuan memakai domain milik sendiri baru tersedia pada paket 20 dolar AS per bulan.
Apa arti nama ngrok?
Namanya menggabungkan huruf n dari tradisi penamaan alat jaringan di Unix dengan kata grok yang berarti memahami sesuatu secara mendalam. Kata itu berasal dari novel fiksi ilmiah Robert A. Heinlein terbitan 1961. Pelafalan resminya "en-grok".
Apakah ngrok aman dipakai?
Koneksi antara agent dan server ngrok dienkripsi, dan endpoint publiknya dilayani lewat HTTPS. Risikonya bukan pada enkripsi, melainkan pada kenyataan bahwa alamat tersebut terbuka bagi siapa saja yang mengetahuinya. Pastikan aplikasi yang Anda buka tidak berisi data sungguhan, dan matikan agent setelah selesai.
Apa bedanya ngrok dengan Grok?
Keduanya tidak berhubungan. Ngrok adalah alat tunneling untuk developer yang dirilis pada 2013, sedangkan Grok adalah model kecerdasan buatan milik xAI. Nama keduanya berangkat dari kata dasar yang sama, tetapi produknya berbeda jauh.
Kesimpulan
Ngrok adalah cara tercepat memberi alamat publik kepada aplikasi yang berjalan di komputer Anda. Terowongannya dibuka dari dalam ke luar, sehingga tidak ada port maupun aturan firewall yang perlu diubah. Kekuatannya ada di pengujian webhook, demo cepat, dan akses ke perangkat tanpa alamat IP publik. Panel inspeksi di localhost:4040 melengkapinya dengan kemampuan memutar ulang permintaan tanpa mengulang seluruh proses.
Pakailah ngrok untuk pekerjaan yang memang bersifat sementara. Begitu alamat tersebut perlu hidup terus-menerus dan diakses pengguna sungguhan, pindahkan aplikasi Anda ke server yang dirancang untuk melayaninya. Dan bila Anda mengelola jaringan, ingat bahwa kemudahan yang sama juga tersedia bagi orang yang tidak berkepentingan baik.
Semoga artikel ini membantu.




