21 poin oleh GN⁺ 2025-07-28 | 1 komentar | Bagikan ke WhatsApp
  • Dumbpipe adalah alat bergaya Unix yang memungkinkan koneksi pipe data yang sederhana antar dua komputer
  • Instalasi dan penggunaannya sangat sederhana, tanpa perlu akun atau konfigurasi tambahan
  • Di satu komputer, alat ini menunggu dalam mode penerima dan menyediakan kunci rahasia serta perintah koneksi
  • Di komputer lain, data dapat dikirim dengan satu baris perintah untuk mengirim dan terhubung
  • Berfungsi terlepas dari lingkungan jaringan, sehingga dapat digunakan dari lokasi mana pun

Pengenalan Dumbpipe

  • Alat open source yang memungkinkan pertukaran data langsung antara dua komputer dengan cara seperti Unix pipe
  • Karena dapat dipasang dan dijalankan dalam satu baris tanpa pengaturan rumit, alat ini praktis dan mudah diakses

Fitur utama

  • Setelah dipasang di satu komputer, Anda bisa masuk ke mode siaga (penerima) dengan perintah ./dumbpipe listen
    • Saat dijalankan, alat ini menyediakan kunci rahasia yang dibuat otomatis beserta perintah koneksi khusus yang bisa digunakan komputer lain untuk terhubung
  • Pengirim dapat mengirim data dengan mudah dalam bentuk seperti echo "hello" | ./dumbpipe connect ...
  • Tidak perlu membuat akun terpisah
    • Bisa langsung digunakan tanpa pendaftaran, login, atau pengisian informasi anggota
  • Langsung berfungsi tanpa konfigurasi tambahan
    • Dapat segera dipakai tanpa variabel lingkungan, file konfigurasi, atau pengaturan firewall tambahan
  • Mengirim dan menerima data antar dua perangkat dari mana saja di dunia
    • Berfungsi tanpa batasan lingkungan jaringan, seperti jaringan privat, cloud, maupun jaringan lokal

Ringkasan contoh penggunaan

  • Penerima menjalankan dumbpipe dalam mode listen lalu menyalin dan membagikan kunci yang diperlukan untuk koneksi
  • Pengirim menggunakan perintah connect yang berisi kunci tersebut untuk mengirim data dalam bentuk stream

Implikasi penggunaan

  • Bahkan pengguna baru atau non-ahli pun dapat dengan mudah menyusun pipeline transfer data jaringan
  • Dapat segera dimanfaatkan untuk berbagai keperluan seperti transfer file atau pesan sederhana, relay data antar perangkat, serta otomatisasi pengembangan dan deployment
  • Dengan satu perintah dan alur kerja yang intuitif, alat ini berkontribusi pada produktivitas engineer

1 komentar

 
GN⁺ 2025-07-28
Opini Hacker News
  • Memperkenalkan cara bertukar perintah dari jarak jauh dengan memanfaatkan ssh dan socat atau mkfifo

    # penerima
    socat UNIX-RECV:/tmp/foobar - | my-command
    
    # pengirim
    my-command | ssh host socat - UNIX-SENDTO:/tmp/foobar
    

    Jika target terhalang firewall atau NAT, server SSH publik seperti ssh-j.com dapat digunakan sebagai relay untuk mengirim dan menerima data dengan aman (memanfaatkan tunneling SSH ganda)

    # penerima
    ssh top-secret@ssh-j.com -N -R ssh:22:localhost:22
    socat UNIX-RECV:/tmp/foobar - | my command
    
    # pengirim
    my-command | ssh -J top-secret@ssh-j.com ssh socat - UNIX-SENDTO:/tmp/foobar
    

    Ini adalah isi yang pertama kali diposting di thread terkait beam tautan

    • Jika menggunakan alat bernama spiped, ini bisa diimplementasikan lebih sederhana tanpa bergantung pada ssh situs resmi spiped
    • Metode ini tidak memenuhi tujuan utama yang dijelaskan dumbpipe. Misalnya, tidak menggunakan QUIC, juga tidak menghindari relay bila memungkinkan, serta tidak memiliki pemilihan relay otomatis dan kemampuan mempertahankan koneksi saat kondisi jaringan berubah. Selain itu, pengelolaan kunci SSH harus dilakukan sendiri oleh pengguna, sementara dumbpipe menyediakan kunci dengan string ASCII sembarang. WireGuard lebih mirip dengan dumbpipe
    • Kalimat pertama pada tautan pengantar dumbpipe:
      Dumb pipe punches through NATs, using on-the-fly node identifiers. It even keeps your machines connected as network conditions change.
      
    • Jika membangun server wg untuk menghubungkan dua klien, data memang bisa dikirim ke IP masing-masing, tetapi pada akhirnya relay pusat tetap berperan meneruskan data (terlepas dari ada NAT atau tidak)
    • Baru sekarang tahu soal ssh-j.com, dan ini cukup menarik
  • Penasaran kenapa pertukaran file sederhana antardua PC hanya dengan kabel USB tidak menjadi standar. Rasanya ini semestinya sudah ada sejak awal jika semua OS mendukung protokol yang sama. Saya tahu kabel USB A-A secara teori tidak ada, tetapi justru itu menunjukkan adanya kebutuhan. Dengan USB C seharusnya cukup memungkinkan; antara Android dan PC sampai batas tertentu bisa, tetapi antara dua laptop tidak bisa

    • Jika dua perangkat dihubungkan dengan USB-C (USB4/Thunderbolt), akan terbentuk koneksi jaringan. Secara bawaan biasanya hanya mendapat alamat Link-Local, jadi agak merepotkan saat ingin memakai SSH dan sejenisnya, tetapi dengan penemuan jaringan otomatis, ini bisa berjalan cukup mulus. Referensi: Thunderbolt Networking on Linux, jawaban SuperUser
    • Teknologi untuk melakukan ini secara nirkabel, tanpa kabel dan tanpa LAN, bahkan sudah ada di Nintendo DS. Selama 40 tahun terakhir, masalah transfer file telah diselesaikan dengan tak terhitung banyaknya cara, tetapi ada kesan bahwa sebagian orang tidak pernah ingin masalah ini benar-benar selesai tanpa layanan cloud. dumbpipe memang menarik, tetapi bisa saja menabrak hambatan praktis yang sama seperti banyak solusi sebelumnya. Misalnya, jika pengguna Linux ingin mengirim file 50MB ke pengguna Windows, tidak ada cara untuk menerimanya di sisi Windows tanpa memasang program tambahan
    • USB secara struktural bersifat asimetris, karena dibagi menjadi host dan device. Device bekerja sebagai slave dengan model polling. Koneksi kabel langsung antardua PC sudah merupakan masalah yang diselesaikan oleh Ethernet bahkan sebelum USB ada
    • Sebelum TCP/IP menjadi standar umum, file besar dipindahkan menggunakan kabel crossover Ethernet. Sekarang banyak PC justru menghapus port Ethernet, dan perubahan ini terkait dengan sudut pandang yang mendorong pemilik mengunggah file mereka ke komputer internet milik pihak ketiga (cloud). Seiring waktu, cara transfer file memang makin beragam, tetapi metode kabel crossover tetap bekerja dengan baik dan cukup menggunakan adaptor USB to Ethernet. Tidak perlu perangkat lunak khusus, router, internet, atau pihak ketiga. TCP/IP saja sudah cukup
    • Di Linux, ini dimungkinkan dengan membuat endpoint MTP seperti pada perangkat mobile uMTP-Responder
      MS juga pernah merilis alat yang mendukung ini, tetapi tampaknya hanya tersedia di Windows CE tautan resmi MS
  • Terkait ini, saya punya daftar alat transfer file yang saya kumpulkan (kebanyakan berbasis browser + sedikit CLI). Saya membagikannya setiap kali situasinya muncul dan terus mencari alat tambahan yang bagus daftar alat saya

    • Saya lebih suka LocalSend. Sangat bagus untuk transfer cepat antardevais sendiri dan berjalan baik di semua OS GitHub LocalSend
    • Tim pembuat dumbpipe juga membuat Sendme, yang dirancang jauh lebih dekat untuk tujuan ini GitHub Sendme
  • Saya penasaran seberapa banyak implementasi yang tumpang tindih antara dumbpipe dan Tailscale. Tampaknya ada banyak fungsi yang sama-sama dibutuhkan, dan untuk level rendah seperti menembus NAT mungkin sudah ada banyak pustaka yang bisa dipakai. Atau mungkin ini justru pustaka pertama untuk hal seperti itu

    • Kalau mau dihitung-hitung, Tailscale sendiri juga sebenarnya implementasi ke-600 dari ide yang sama. Sebelumnya sudah ada nebula, tinc, dan lainnya. Hanya saja Tailscale muncul saat WireGuard mulai naik daun, lalu diperkuat promosi besar-besaran dan pendanaan VC
    • Iroh jauh lebih cocok di lapisan aplikasi. Banyak stream QUIC bisa dimultipleks untuk tujuan berbeda dalam satu koneksi. Yang dibutuhkan hanya akses ke QUIC, jadi tidak perlu antarmuka jaringan virtual. Contoh yang mirip adalah gRPC, tetapi kontrol atas byte stream lebih bebas, sehingga satu stream bisa untuk panggilan suara, yang lain untuk transfer file, dan yang lain lagi untuk RPC sederhana, semuanya dibagi secara real-time. Ini paling mirip dengan WebRTC, tetapi memberi lebih banyak opsi dibanding SCTP atau RTMP
    • Ini dibuat dengan iroh, dan menargetkan framework tingkat rendah untuk perangkat lunak terdistribusi. Selain jaringan, ini juga mencakup berbagai struktur data yang diperlukan untuk replikasi data dan menjaga konsistensi
    • Menghubungkan ponsel dengan Tailscale di jaringan mobile/cignat benar-benar salah satu pengalaman “aha” perangkat lunak yang langka bagi saya
    • Saya menganggap tailscale sebagai wrapper berbasis WireGuard dengan beberapa kemampuan hole-punch tambahan
  • Di pico.sh, fitur transfer file serupa diimplementasikan menggunakan SSH pipe.pico.sh

    • Saya penasaran hasilnya seperti apa dari sisi performa atau kemudahan penggunaan jika dibandingkan langsung dengan dumbpipe
  • Jika tertarik pada ekosistem alat tunneling serupa, ada daftar awesome yang layak dijadikan referensi awesome-tunneling

  • iroh benar-benar teknologi yang fantastis. Dua minggu lalu saya menghadiri workshop Rüdiger (N0) di web3 summit Berlin dan sangat terinspirasi. Kode untuk membuat layanan serupa dibuka di sini kode iroh-workshop dan saya juga sangat menyarankan untuk melihat slide-nya

  • Jika menginginkan pipe yang lebih canggih, saya juga punya CLI pengelola tunnel berbasis Iroh yang sedang saya bangun. Mendukung port forwarding TCP, UDP, dan socket UNIX qtm GitLab

  • Solusi seperti ini muncul sekali atau dua kali setiap tahun. Untuk open source bagus yang berfokus pada orkestrasi koneksi, saya merekomendasikan Spacebrew dokumentasi resmi Spacebrew

    • Dalam hal itu memang benar, tetapi branding proyek ini benar-benar unik. Secara harfiah konsep karakter manusia dumbpipe dengan lengan kocak. Dan selain itu, ini memang bekerja dengan baik
    • “Pada tahun 2023...”
  • Saya selalu menganggap metode ini sangat menarik GitHub pwnat
    Tidak mencakup semua kasus dan sedikit lebih kompleks, tetapi punya keunggulan terbesar karena tidak memerlukan perantara

    • Ini solusi yang cukup lama, dan sekarang kadang mengalami masalah pada beberapa router modern tautan isu
    • GitHub slipstream adalah versi baru yang dirilis
    • Baru pertama kali tahu alat seperti ini, dan tampaknya benar-benar berguna. Namun, karena keterbatasan struktur NAT, pendekatan ini juga punya kelemahan: malware bisa lebih mudah membuka koneksi masuk dengan mengabaikan aturan firewall
    • Di atas segalanya, Samy bagi saya seperti sosok pahlawan