Tuntox adalah program yang meneruskan koneksi TCP melalui protokol Tox. Hal ini memungkinkan akses latensi rendah ke mesin jauh di belakang NAT yang tidak dapat Anda kendalikan atau dengan alamat IP dinamis.
Tuntox adalah biner tunggal yang dapat berjalan dalam mode klien atau mode server. Sebagai aturan praktis, jalankan server di mesin jarak jauh yang ingin Anda akses dan klien di komputer lokal tempat Anda ingin mengakses server.
Tuntox sedang dalam tahap pengerjaan awal . Itu tidak akan membunuh kambing Anda tetapi mungkin segfault, kebocoran memori atau memiliki masalah keamanan (walaupun saya mencoba membuatnya lebih aman).
Jika Anda tidak tahu apa itu Tox - ini adalah protokol pengirim pesan instan yang sepenuhnya P2P, mendukung panggilan audio/video dan transfer file. Tidak seperti Skype, ini sepenuhnya terbuka dan tidak seperti, katakanlah, XMPP - panggilan dan transfer file benar-benar berfungsi P2P. Kunjungi https://tox.chat/ dan unduh klien jika ada kesempatan.
Dapatkan binari dari tab Rilis di github. Cukup unduh file yang benar untuk arsitektur Anda, jalankan chmod +x dan selesai. Biner ditandatangani dengan kunci PGP saya, 11C1 B15A 5D5D D662 E469 928A EBDA 6B97 4ED3 D2B7.
Jika Anda melewatkan saat-saat ketika laki-laki menulis driver perangkat mereka sendiri, lihat BUILD.md.
Jalankan server Tuntox di laptop yang terhubung melalui 3G, di komputer rumah Anda dengan enam NAT atau di Raspberry Pi Anda. Tidak ada port yang perlu diteruskan ke IP publiknya - mesin akan dapat diakses melalui jaringan overlay Tox.
./tuntox
menjalankan server di latar depan. Ketika server dimulai, ia akan mencetak ID Tox-nya ke output - perhatikan, Anda akan memerlukannya nanti untuk mengakses mesin dari luar.
Jika Anda menghentikan server (Ctrl-C) dan memulai lagi, ini akan menghasilkan ID Tox baru dan Anda harus menuliskannya lagi. Ini agak menggagalkan tujuannya, jadi Anda sebaiknya membantu server menyimpan ID Tox-nya di suatu tempat. Secara default, ia menyimpan file di /etc/tuntox/, jadi jika Anda membuat direktori ini dan menyimpannya agar dapat diakses oleh tuntox, ia akan memiliki ID Tox yang tetap.
Alternatifnya, Anda dapat menggunakan tombol -C:
./tuntox -C /path/to/the/config/directory/
Untuk melakukan daemonisasi saat startup, tambahkan -z:
/path/to/tuntox -z
Atau, jika Anda menjalankan sesuatu seperti supervisord atau systemd, Anda dapat menyumbangkan file konfigurasi untuk sistem pilihan Anda (lihat #3, #4, #6). Sama sekali tidak perlu menjalankan server sebagai root.
Jadi, di laptop sekarang sudah terinstal server Tuntox. Bagaimana Anda menghubungkannya?
./tuntox -i -L 2222:127.0.0.1:22
di mana
adalah ID yang Anda catat saat menyiapkan server. Anda tidak lupa menuliskannya, bukan?
Setelah Anda menjalankan perintah ini, buka jendela terminal kedua dan jalankan:
ssh -p 2222 myuser@localhost
Ajaib, port 2222 di localhost Anda sekarang menjadi server SSH di mesin yang menjalankan server Tuntox.
Sakelar -L bekerja (hampir) sama seperti di SSH. Bagi yang belum tahu, -LA:B:C berarti "meneruskan port C di ip B ke port A di localhost". Tidak seperti SSH, Anda tidak dapat menggunakan nama host untuk B (kecuali Anda menautkan biner secara dinamis).
Alternatifnya, mode SSH ProxyCommand juga berfungsi:
ssh -o ProxyCommand='./tuntox -i -W localhost:22' gdr@localhost
Hal menyenangkan: VPN melalui Tox
Klien dapat dijalankan sebagai pengguna non-root biasa, kecuali A < 1024 ("A" adalah port lokal). Ada solusi yang tersedia.
TUNTOX TIDAK AMAN TANPA SWITCH -s. Berikan -s kata sandi Anda di server dan klien, dan Anda akan baik-baik saja. Sakelar ini diperkenalkan di 0.0.4, dengan nama kode "Mr. Lahey's Got My Porno Tape!". Lebih baik lagi, jalankan TUNTOX_SHARED_SECRET=yourpassword tuntox ...
di kedua sisi.
Server Tuntox menghasilkan ID Tox baru pada setiap startup, atau menyimpan kunci pribadinya dalam sebuah file. Siapa pun yang ingin terhubung ke server ini memerlukan ID Tox-nya, yang terdiri dari kunci pub yang diketahui publik dan nilai rahasia "antispam" 32-bit. Kemudian, klien mengirimkan rahasia bersama yang kemudian dibandingkan dengan rahasia yang diberikan pada baris perintah server. Jika tidak cocok, permintaan pertemanan tidak akan dijawab.
Oleh karena itu, kepemilikan ID Tox server dan rahasianya harus dianggap setara dengan kepemilikan akun Unix dengan akses SSH. Tuntox tidak mengimplementasikan kemampuan shell jarak jauh, namun ada kemungkinan bahwa hal itu dapat dieksploitasi.
Otentikasi PSK bersifat opsional tetapi disarankan - ini hanya diaktifkan ketika tombol -s ada di sisi server atau variabel lingkungan TUNTOX_SHARED_SECRET disetel. PSK dikirim sebagai pesan permintaan pertemanan Tox - sejauh penulis memahami kode libtoxcore, itu dienkripsi menggunakan kunci EC publik server.
Server Tuntox secara opsional hanya mengizinkan ToxID yang masuk daftar putih. Berikan -i yourallowedtoxid satu kali atau lebih untuk menambahkan ToxID ke daftar putih. Catatan: Perilaku klien default adalah menghasilkan ToxID baru untuk setiap proses (karena menurut penulis ini adalah fitur privasi yang bagus). Anda ingin menggunakan tombol -C di klien untuk memaksa membaca identitas yang disimpan dari tox_save.
Tuntox mendukung protokol Tox, yang belum diaudit oleh peneliti keamanan. Kripto Tox telah diimplementasikan dengan libsodium (yang didasarkan pada NaCl Bernstein) dan dengan demikian menggunakan kurva ekliptika 25519 untuk pertukaran kunci dan salsa20 untuk enkripsi aliran. Menurut pengetahuan terbaik penulis, libsodium mempersulit kesalahan kripto, tetapi kita tidak akan mengetahuinya sampai Tox diaudit.
ya, ada satu
Maaf tentang GPLv3 - toxcore dan utox (dari mana saya meminjam beberapa kode) adalah GPLv3.
Terima kasih kepada pengembang toxcore dan utox yang tanpanya program ini tidak akan pernah ada.
Terima kasih Mr_4551 atas bantuan dan motivasinya.