7 poin oleh GN⁺ 2026-02-28 | 1 komentar | Bagikan ke WhatsApp
  • Alat komunikasi bergaya walkie-talkie berbasis Bash untuk mengirim dan menerima suara dan teks secara anonim dengan enkripsi end-to-end (E2EE) melalui jaringan Tor
  • Terhubung langsung ke lawan bicara hanya dengan alamat .onion tanpa server, akun, atau nomor telepon, dengan struktur push-to-talk (PTT) yang merekam pesan suara lalu mengirimkannya
  • Menyediakan fitur keamanan kuat seperti pilihan 21 jenis cipher termasuk AES, ChaCha20, Camellia, ARIA, autentikasi HMAC-SHA256, dan derivasi kunci PBKDF2
  • Mendukung lingkungan Linux dan Android Termux, dan berjalan hanya dengan alat standar seperti sox·opus-tools·Tor·openssl
  • Terdiri dari satu skrip sehingga instalasi dan pemeliharaan sederhana, serta dapat dimanfaatkan untuk riset keamanan dan eksperimen komunikasi berfokus privasi

Ikhtisar

  • TerminalPhone adalah skrip Bash yang memungkinkan dua pengguna bertukar suara dan teks secara anonim menggunakan Tor Hidden Service
    • Semua komunikasi dilindungi dengan cipher yang dapat dipilih seperti AES-256-CBC (default)
    • Alamat .onion berfungsi sebagai pengenal pengguna
    • Tidak memerlukan infrastruktur server atau pendaftaran akun

Fitur utama

  • Pesan suara gaya walkie-talkie: direkam lalu dikirim, tanpa streaming real-time
  • Obrolan terenkripsi saat panggilan berlangsung: kirim dan terima pesan teks dengan tombol T
  • Deteksi penutupan otomatis dan indikasi status lawan bicara (sedang merekam/menunggu)
  • Pilihan 21 cipher dan tampilan negosiasi secara real-time, cipher dapat diubah di tengah panggilan
  • Dukungan bridge Snowflake untuk menghindari sensor
  • Berbagai fitur tambahan seperti berbagi alamat via QR code, pengubah suara (voice changer), nada notifikasi PTT, dan penerimaan otomatis (auto-listen)
  • Autentikasi protokol HMAC-SHA256 untuk mencegah serangan replay
  • Mendukung tampilan rute sirkuit Tor dan pengaturan pengecualian negara tertentu
  • Satu file Bash, tidak memerlukan hak root, dan tetap berfungsi di lingkungan bandwidth rendah (16kbps)

Instalasi

  • Linux: jalankan git clone lalu bash terminalphone.sh, kemudian instal dependensi otomatis lewat menu 7
    • Paket instalasi: tor, opus-tools, sox, socat, openssl, alsa-utils
  • Android Termux:
    • Instal aplikasi Termux dan Termux:API dari F-Droid
    • Setelah pkg install termux-api, jalankan bash terminalphone.sh
    • Paket tambahan: ffmpeg, openssl-tool, tor, sox, socat dan lainnya

Cara penggunaan

  • Prosedur dasar
    1. Jalankan bash terminalphone.sh
    2. Instal dependensi lewat menu 7
    3. Jalankan Tor lewat menu 8
    4. Atur shared secret key di menu 4
    5. Berikan alamat .onion kepada lawan bicara
  • Menerima: menu 1 “Listen for calls”
  • Memanggil: menu 2 “Call an onion address”
  • Contoh perintah mode CLI:
    • bash terminalphone.sh call ADDRESS
    • bash terminalphone.sh listen

Cara kerja

  • Model record-then-send
    • Suara yang direkam diproses dengan encoding Opus → enkripsi AES → encoding Base64 → pengiriman via Tor
    • Pihak penerima melakukan dekripsi dan pemutaran dalam urutan terbalik
  • Pesan protokol berbasis teks mencakup ID, CIPHER, PTT_START, AUDIO, MSG, HANGUP, PING dan lainnya
  • Di Termux, ffmpeg digunakan untuk mengonversi M4A ke PCM sebelum diproses

Struktur keamanan

  • Enkripsi: menggunakan kunci turunan dari PBKDF2 (10.000 iterasi), memberi perlindungan tambahan di lapisan aplikasi terpisah dari enkripsi transmisi Tor
  • Negosiasi cipher: saling dipertukarkan saat koneksi dibuat dan saat diubah; jika tidak cocok, header ditampilkan merah
  • Jalur transmisi: komunikasi melalui sirkuit Tor Hidden Service tanpa mengekspos IP
  • Ketahanan terhadap analisis trafik: pola transmisi tidak teratur untuk mencegah fingerprinting
  • Autentikasi: jika shared secret key tidak cocok, dekripsi akan gagal
  • Tanda tangan HMAC-SHA256: setiap pesan menyertakan nonce acak untuk memblokir serangan replay
  • Keterbatasan:
    • Secret key harus ditukar melalui kanal eksternal yang aman
    • Tidak ada forward secrecy, sehingga jika kunci bocor komunikasi lama bisa didekripsi
    • Tidak dapat melindungi jika keamanan endpoint telah dikompromikan

Lisensi

  • MIT License

1 komentar

 
GN⁺ 2026-02-28
Komentar Hacker News
  • Struktur yang memakai alamat onion v3 sekaligus sebagai ID kriptografis dan lapisan traversasi NAT benar-benar rapi
    Tidak perlu server STUN/TURN maupun hole punching; cukup jalankan skrip dan Tor yang menangani routing
    Penasaran berapa latensi nyatanya saat mengirim potongan audio Opus sekitar 20KB lewat Tor — apakah sekitar 2–3 detik, atau malah lebih parah

    • Latensi nyatanya sekitar 2–3 detik. Awalnya sempat dicoba dalam mode full-duplex, tapi hasilnya benar-benar buruk
      Model walkie-talkie membuat pengguna mengikuti urutan ‘dengar-lalu-bicara’, jadi latensi besar tidak terlalu jadi masalah
    • STUN/TUN penting karena efisiensi bandwidth
      Dengan STUN, trafik hanya lewat antara dua perangkat, sedangkan VPN seperti Tor harus melewati semua server perantara sehingga biaya trafiknya besar
      Jika VPS dibatasi beberapa GB per bulan, ini jadi kendala besar
    • Rasanya tidak perlu mengubahnya jadi pesan audio lalu menambah latensi
      Mungkin pesan teks lebih baik. Meski begitu, proyeknya sendiri tetap keren
    • Hanya meninggalkan bunyi bip
  • Menarik melihat contoh nyata penggunaan onion service sebagai backend
    Sebentar lagi juga akan ada dukungan untuk klien onion Arti yang memungkinkan Tor di-embed langsung ke aplikasi dalam bentuk pustaka Rust
    Semakin banyak percobaan seperti ini, semakin besar pula cover traffic di jaringan

    • Salah satu alasan Tor sulit dipakai adalah karena banyak admin TI yang menganggap Tor identik dengan aktivitas ilegal
      Karena itu, di lingkungan terkontrol seperti jaringan perusahaan atau Wi-Fi publik, penggunaan Tor hampir mustahil
  • Jika tidak harus real-time, sisi penerima juga bisa menambahkan penyesuaian kecepatan pemutaran atau penghapusan jeda untuk mengurangi keterlambatan
    Audio dari beberapa orang yang dikirim bersamaan pun bisa diputar cepat
    Jika memakai Opus, mungkin layak mencoba fitur eksperimental skema pemulihan kesalahan DRED sebagai bagian dari codec
    Walau Tor terputus saat transmisi, sistem bisa diatur agar data DRED dikirim lebih dulu sehingga penerima tetap mendapat suara minimum

  • Bagian yang menyebut “tersedia 21 algoritma kriptografi” cukup menarik. Rasanya terlalu banyak

    • Itu karena memakai OpenSSL, dan sebenarnya termasuk kategori “dilakukan karena memang bisa”
      Ingin memakai AES-GCM, tetapi autentikasi sulit ditangani hanya dengan OpenSSL saja
      Tor sendiri sudah E2EE, jadi lapisan ini pada dasarnya adalah enkripsi berlapis yang redundan. Tetap saja, menyenangkan mengetahui datanya terenkripsi sekali lagi sebelum menyentuh jaringan
    • Terlalu terpaku pada cipher tertentu itu berbahaya. Karena penyerang jadi tahu targetnya dengan jelas, itu malah bisa menjadi kerentanan
  • GitLab belakangan ini terasa lebih cepat, penasaran apakah memang dioptimalkan atau cuma ilusi karena lazy loading

  • Saya sangat suka proyek ini. Kalau pengguna ingin bertukar kredensial dengan aman, cara terbaiknya bagaimana? Apakah email PGP cukup baik?

    • Saya mengasumsikan situasinya adalah berbicara dengan orang yang memang sudah dipercaya
      Kalau bisa, idealnya bertukar langsung saat bertemu, atau lewat messenger aman
    • Atau memakai layanan “oh by code” seperti 0x.co untuk menuliskan alamat onion,
      atau meninggalkannya di ruang fisik (papan tulis, papan pengumuman, rambu, dan semacamnya)
      Dengan begitu, koneksi dengan lawan bicara di masa depan tetap dimungkinkan bahkan dalam keadaan sepenuhnya offline
  • Fitur untuk mengecualikan negara tertentu (Exclude Countries) dari sirkuit Tor terdengar menarik
    Ada juga preset seperti Five Eyes, Nine Eyes, Fourteen Eyes, dan pengaturannya memakai ExcludeNodes serta StrictNodes di torrc
    Penasaran apakah ini benar-benar membantu meningkatkan keamanan

    • Ini juga termasuk salah satu hal yang “dibuat karena memang bisa”. Kalau pengembang Tor memasukkannya sebagai opsi, mungkin ada alasannya
      Fakta bahwa node yang telah dikompromikan memang ada itu nyata, jadi entah efektif atau tidak, menarik bahwa kita punya kendali
    • Walau mungkin tidak bisa menghindari node yang sepenuhnya dikuasai, setidaknya ini membantu menghindari ISP yang dikendalikan pemerintah tersebut
  • Mengingat karakteristik latensi Tor, model walkie-talkie adalah desain yang sangat cerdas
    Audio dua arah real-time mulai terasa janggal jika round trip melebihi 150ms, sedangkan Tor menambah 50–200ms per hop
    Jika dirancang dengan model store-and-forward, tidak perlu melawan sifat dasar jaringannya
    Penasaran codec apa yang dipakai — kalau bukan real-time, trade-off Opus bisa berbeda

    • Saat ini memakai Opus, dan kualitas bisa diatur dari 6kbps hingga 64kbps
      Mengejutkan bahwa bahkan di 6kbps pun tingkat keterpahaman suara masih cukup tinggi
      Di Termux, akses mikrofon tidak tersedia, jadi audio harus dikonversi lewat aplikasi Termux API dan ffmpeg
    • Seseorang bercanda bahwa komentar ini terlihat seperti dibuat otomatis oleh AI
    • Saya juga suka pendekatan ini karena terasa seperti email atau SMS, memberi waktu untuk berpikir sebelum bicara
      Bahkan jeda beberapa detik saja bisa mengurangi obrolan yang tidak perlu
  • Apakah ini bisa diatur seperti komunikasi grup, sehingga beberapa orang bergabung di kanal yang sama?

    • Saat ini baru mendukung komunikasi 1:1, tetapi fitur panggilan grup juga sedang dieksplorasi
    • Karena struktur E2EE, komunikasi grup memang tidak sesederhana itu
  • Kelihatannya menarik jadi saya sempat melihat-lihat kodenya,
    '|| true' muncul 76 kali, 'echo ""' 50 kali, ' [ ' 261 kali, dan '=$(' 90 kali

    • Saya juga suka bash, jadi penasaran. Saya paham kenapa '[' tidak disarankan,
      tetapi ingin tahu kenapa pola seperti '|| true' dianggap bermasalah. Saya sendiri cukup sering memakainya bersama set -euo pipefail untuk penanganan error kustom