magic-wormhole: transfer file aman dengan kode sekali pakai

magic-wormhole: transfer file aman dengan kode sekali pakai

5 min read
Network

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:

  1. Buat support bundle (log, export, beberapa screenshot).
  2. Opsional: hitung hash agar nanti bisa memastikan paket yang diterima benar-benar sama.
  3. Kirim bundle lewat magic-wormhole.
  4. 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.

LangkahApa yang terjadiKenapa penting
1. KodePengirim membuat kode singkat sekali pakai.Shared secret sederhana untuk transfer ini.
2. RendezvousKedua client terhubung ke rendezvous server (default: “mailbox” publik).Peer bisa saling menemukan tanpa port inbound.
3. PAKEKunci bersama diturunkan dari kode via SPAKE2 (PAKE).Kunci E2E tanpa manajemen kunci klasik.
4. Jalur dataCoba koneksi langsung; kalau gagal, fallback ke relay/transit.Tetap bekerja di balik NAT dan jaringan kantor.
5. Transfer E2EData 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)

  1. Jangan bagikan kode di kanal yang sama dengan link tiket atau konteks file. Idealnya: telepon atau chat privat terpisah.
  2. Anggap log bisa berisi token, hostname, atau data pribadi. Kirim hanya yang diperlukan.
  3. 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-url untuk rendezvous server milikmu
  • --transit-helper untuk 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

Sampai jumpa lagi, Joe

© 2026 trueNetLab