Relay adalah platform yang memungkinkan Anda meneruskan webhook dari internet publik ke server lokal — tanpa perlu IP publik atau port forwarding.
Alur Kerja Relay
GitHub / Stripe / Service Lain
Mengirim POST ke relay.duls.space/hook/{slug}
Relay Server
Antri & teruskan ke agent yang terhubung
Relay Agent (di mesin lokal)
Diteruskan ke localhost:3000
Mengapa Relay?
Setiap proyek memiliki token unik X-Relay-Token. Hanya agent dengan token yang cocok yang bisa menerima data.
Webhook tidak terlewat. Pesan masuk antri di Redis dan langsung dikirim ke agent yang sedang aktif.
Relay Agent terhubung via WebSocket. Webhook diteruskan hampir seketika tanpa polling.
Kelola banyak proyek dalam satu akun. Masing-masing proyek punya endpoint dan token sendiri.
Relay Agent adalah binary tunggal tanpa dependensi. Jalankan dengan satu perintah di Windows, macOS, atau Linux.
Atur URL tujuan lokal, aktifkan/nonaktifkan proyek, dan pantau status agent langsung dari dashboard.
Panduan Cepat
Dari daftar hingga webhook diterima di localhost, hanya butuh 5 menit.
Daftar di relay.duls.space/register, lalu masuk ke Dashboard → Buat Proyek Baru. Isi nama proyek dan aktifkan status.
Setelah proyek dibuat, Anda akan mendapat Project ID dan Public URL. Keduanya dibutuhkan saat setup wizard agent.
Download binary sesuai OS Anda — tidak perlu install apapun. Wizard interaktif akan muncul otomatis saat pertama kali dijalankan.
# 1. Download binary (pilih sesuai chip) # Apple Silicon — M1/M2/M3/M4 curl -L "https://github.com/theKims0/relay-agent/releases/latest/download/relay-agent-darwin-arm64" -o relay-agent # Intel Mac curl -L "https://github.com/theKims0/relay-agent/releases/latest/download/relay-agent-darwin-amd64" -o relay-agent # 2. Beri izin eksekusi chmod +x relay-agent # 3. Jalankan — wizard otomatis akan muncul saat pertama kali ./relay-agent
💡 Saat pertama kali dijalankan, wizard akan muncul:
╔══════════════════════════════════════════════════╗ ║ Relay Agent — First Time Setup ║ ╚══════════════════════════════════════════════════╝ Project ID (dari dashboard Relay): <YOUR_PROJECT_ID> Server URL [ws://localhost:8081] : wss://relay.duls.space/ws/agent Target URL (service lokal Anda) : http://localhost:3000 ✅ Konfigurasi disimpan ke relay.json
Jalankan berikutnya langsung konek tanpa wizard. Reset dengan --reset.
Setelah terhubung, agent siap menerima dan meneruskan webhook ke service lokal Anda.
Gunakan Public URL proyek Anda sebagai endpoint webhook di layanan seperti GitHub, Stripe, Midtrans, dll.
Format Endpoint
Ganti {public-url-slug} dengan slug proyek Anda dari dashboard.
Contoh — GitHub Webhook
# Settings → Webhooks → Add webhook Payload URL : https://relay.duls.space/v1/gateway/payment-relay Content type: application/json Secret : (kosongkan atau isi bebas) Events : Just the push event (atau pilih sesuai kebutuhan)
Test manual dengan cURL
curl -X POST https://relay.duls.space/v1/gateway/payment-relay \ -H "Content-Type: application/json" \ -d '{"event":"payment.success","amount":150000}'
Agent akan meneruskan request masuk ke URL target lokal Anda. Pastikan server lokal sedang berjalan.
Contoh — Express.js
// server.js const express = require('express'); const app = express(); app.use(express.json()); app.post('/webhook', (req, res) => { console.log('Webhook diterima:', req.body); res.json({ status: 'ok' }); }); app.listen(3000, () => console.log('Server jalan di port 3000'));
Jalankan: node server.js — lalu agent akan meneruskan webhook ke http://localhost:3000/webhook
Gratis, tanpa kartu kredit. Mulai dalam hitungan menit.