
magic-wormhole: transfer file aman dengan kode sekali pakai
Table of Contents
Halo semuanya,
hari ini saya ingin membahas sebuah tool CLI kecil yang sering saya gunakan saat urusan support dan incident: magic-wormhole. Tool ini menyelesaikan masalah yang jauh lebih sering terjadi di bisnis sehari-hari dibanding cerita “enterprise” yang keren-keren itu: kamu perlu mengirim file (atau folder) ke seseorang sekarang juga, tapi email terlalu kecil, link cloud bermasalah secara kebijakan atau legal, dan “buka port sebentar” jelas bukan pilihan.
Jumat, 16:47. Sebuah perusahaan dengan sekitar 60 karyawan sedang punya masalah mendesak: file server pusat lambat, pengguna mengeluh timeout, dan vendor IT eksternal meminta support bundle berisi log dan sedikit export konfigurasi. Ukurannya hampir 900 MB. Email menolak, SharePoint dilarang karena compliance, dan membuat FTP ad-hoc adalah mimpi buruk yang kamu tidak mau ciptakan di 2026.
Di sinilah magic-wormhole pas sekali: tukar kode sekali pakai, transfer file terenkripsi end-to-end, selesai.
Apa itu magic-wormhole?
magic-wormhole adalah tool ringan untuk transfer ad-hoc antar dua komputer. Triknya adalah wormhole code (misalnya 7-coral-lion): kedua sisi memasukkan kode yang sama, lalu terbentuk koneksi terenkripsi end-to-end.
Yang penting adalah apa yang tidak dibutuhkan magic-wormhole:
- tanpa akun
- tanpa portal login
- tanpa “upload ke suatu tempat lalu bagikan link”
- tanpa aturan firewall inbound
Kedua sisi hanya perlu memasang wormhole dan punya akses internet outbound. Dalam praktiknya: kalau HTTP(S) outbound bisa, magic-wormhole biasanya juga bisa.
Contoh kasus nyata di SMB
Kembali ke Jumat tadi. Alur pragmatisnya biasanya seperti ini:
- Buat support bundle (log, export, beberapa screenshot).
- Opsional: hitung hash agar nanti bisa memastikan paket yang diterima benar-benar sama.
- Kirim bundle lewat magic-wormhole.
- Bagikan kode melalui kanal kedua (telepon, chat terpisah, atau dibacakan).
Di sisi pengirim:
tar -czf support-bundle.tgz ./logs ./config-export
sha256sum support-bundle.tgz
wormhole send support-bundle.tgz
magic-wormhole akan menampilkan kodenya. Penerima menjalankan:
wormhole receive
Masukkan kode, download berjalan, lalu kamu bisa cek hash. Di dunia nyata, kombinasi “cepat” tapi “tetap rapi” ini sangat berguna untuk banyak perusahaan kecil dan menengah.
Cara saya memakainya
Mengirim file dari A ke B
Pengirim:
wormhole send /path/to/file.zip
Penerima:
wormhole receive
File akan tersimpan di direktori saat ini. Saya sering membuat folder khusus supaya tidak tercecer di antara Downloads dan Desktop:
mkdir -p ~/wormhole-recv && cd ~/wormhole-recv
wormhole receive
Mengirim direktori
Kalau perlu mengirim satu folder penuh:
wormhole send --dir ./support-bundle/
Apa yang terjadi di balik layar (singkat dan tanpa marketing)
Di bawah kap, magic-wormhole melakukan tiga hal yang kalau tidak, kamu harus merakit sendiri: mempertemukan peer, menegosiasikan kunci dengan aman, dan memindahkan data dengan andal, bahkan ketika NAT dan firewall merepotkan.
| Langkah | Apa yang terjadi | Kenapa penting |
|---|---|---|
| 1. Kode | Pengirim membuat kode singkat sekali pakai. | Shared secret sederhana untuk transfer ini. |
| 2. Rendezvous | Kedua client terhubung ke rendezvous server (default: “mailbox” publik). | Peer bisa saling menemukan tanpa port inbound. |
| 3. PAKE | Kunci bersama diturunkan dari kode via SPAKE2 (PAKE). | Kunci E2E tanpa manajemen kunci klasik. |
| 4. Jalur data | Coba koneksi langsung; kalau gagal, fallback ke relay/transit. | Tetap bekerja di balik NAT dan jaringan kantor. |
| 5. Transfer E2E | Data terenkripsi dan dilindungi integritasnya end-to-end. | Relay hanya melihat ciphertext. |
Intinya: rendezvous/relay itu infrastruktur, tetapi bukan tempat data kamu ada dalam bentuk plaintext.
Keamanan: kelebihan, batasan, dan beberapa aturan
Yang saya suka dari magic-wormhole adalah model keamanannya cukup jujur: end-to-end encryption ada, tapi identitas tidak otomatis ada.
Yang kamu dapat
- End-to-end encryption: konten terlindungi antara pengirim dan penerima, bahkan saat memakai relay.
- Akses singkat: kode dibuat untuk satu transfer, bukan password jangka panjang.
- Attack surface kecil: tidak ada server yang harus di-hardening, tidak ada user management, tidak ada UI web.
Yang perlu diperhatikan
- Kodenya adalah password. Siapa pun yang punya kode adalah “peer” kamu. Kalau kode masuk ke tiket terbuka, itu masalah.
- Tidak ada audit secara default. Untuk sebagian perusahaan itu fitur; untuk yang lain itu deal-breaker. Jika butuh DLP, approval, dan jejak audit, gunakan kanal resmi.
- Endpoint tetap sumber kebenaran. Kalau pengirim sudah kompromi, dia bisa kirim apa saja. Kalau penerima kompromi, file jadi kompromi setelah diterima.
Aturan praktis (yang benar-benar membantu)
- Jangan bagikan kode di kanal yang sama dengan link tiket atau konteks file. Idealnya: telepon atau chat privat terpisah.
- Anggap log bisa berisi token, hostname, atau data pribadi. Kirim hanya yang diperlukan.
- Untuk artefak kritis: kirim hash lewat kanal terpisah dan verifikasi setelah diterima.
Instalasi (singkat dan realistis)
Di banyak sistem, cukup lewat package manager:
- Debian/Ubuntu:
sudo apt install magic-wormhole - macOS:
brew install magic-wormhole
Kalau paket distro sudah ketinggalan, pipx sering jadi opsi paling bersih:
pipx install magic-wormhole
pipx ensurepath
Dan kalau kamu tidak mau Python sama sekali (server minimal, container, rescue environment): wormhole-william adalah port Go yang kompatibel sebagai single binary.
Otomasi dan self-hosting
Untuk workflow yang terkontrol, magic-wormhole bisa di-scripting:
CODE="5-alpaca-orbit"
wormhole send --code "$CODE" /path/to/db.dump
Penerima:
wormhole receive --code "$CODE" --accept-file
Ini praktis, tapi begitu kamu hard-code kode, kamu kembali ke masalah manajemen kredensial. Kalau diotomasi, lakukan dengan secret handling yang benar dan masa berlaku yang pendek.
Kalau ingin kontrol penuh terhadap rendezvous/relay, kamu bisa arahkan client ke infrastruktur sendiri, termasuk:
--relay-urluntuk rendezvous server milikmu--transit-helperuntuk transit relay milikmu
Kesimpulan
magic-wormhole bukan pengganti alur transfer yang dikelola dengan kebijakan perusahaan. Tapi sebagai tool sehari-hari, ini sangat bagus: cepat, minim friksi, dan punya model keamanan yang jelas.
Terutama di dunia SMB, ketika tidak ada waktu dan energi untuk membuat rangkaian approval setiap kali ada permintaan support, tool yang “cukup aman dan bisa dipakai sekarang” sering kali tepat sasaran.
Sumber dan bacaan lanjut
- Dokumentasi magic-wormhole (Read the Docs)
- magic-wormhole di GitHub
- wormhole-william (Go, single binary)
- magic-wormhole di PyPI
Sampai jumpa lagi, Joe


