Tuntox est un programme qui transmet les connexions TCP via le protocole Tox. Cela permet un accès à faible latence à des machines distantes derrière un NAT que vous ne pouvez pas contrôler ou avec une adresse IP dynamique.
Tuntox est un binaire unique qui peut s'exécuter en mode client ou en mode serveur. En règle générale, exécutez le serveur sur la machine distante à laquelle vous souhaitez accéder et le client sur votre ordinateur local à partir duquel vous souhaitez accéder au serveur.
Tuntox est au début de la phase de travail en cours . Cela ne tuera pas vos chèvres, mais il peut y avoir une erreur de segmentation, une fuite de mémoire ou des problèmes de sécurité (même si j'ai essayé de le rendre plutôt sécurisé).
Si vous ne savez pas ce qu'est Tox, c'est un protocole de messagerie instantanée entièrement P2P, prenant en charge les appels audio/vidéo et les transferts de fichiers. Contrairement à Skype, il est entièrement ouvert et contrairement, par exemple, à XMPP, les appels et les transferts de fichiers fonctionnent en réalité en P2P. Consultez https://tox.chat/ et téléchargez un client lorsque vous en avez l'occasion.
Obtenez les binaires depuis l'onglet Releases sur github. Téléchargez simplement le fichier adapté à votre architecture, exécutez chmod +x et vous avez terminé. Les binaires sont signés avec ma clé PGP, 11C1 B15A 5D5D D662 E469 928A EBDA 6B97 4ED3 D2B7.
Si vous manquez l'époque où les hommes écrivaient leurs propres pilotes de périphériques, consultez BUILD.md.
Exécutez le serveur Tuntox sur un ordinateur portable connecté via 3G, sur votre ordinateur personnel derrière six NAT ou sur votre Raspberry Pi. Aucun port n'a besoin d'être redirigé vers son adresse IP publique - la machine sera accessible via le réseau superposé Tox.
./tuntox
exécute le serveur au premier plan. Lorsque le serveur démarre, il imprimera son Tox ID sur la sortie - notez-le, vous en aurez besoin plus tard pour accéder à la machine de l'extérieur.
Si vous arrêtez le serveur (Ctrl-C) et redémarrez, il générera un nouvel ID Tox et vous devrez le noter à nouveau. Cela va en quelque sorte à l’encontre de l’objectif, vous souhaiterez donc aider le serveur à stocker son identifiant Tox quelque part. Par défaut, il enregistre un fichier dans /etc/tuntox/, donc si vous créez ce répertoire et le affichez pour qu'il soit accessible à tuntox, il aura un ID Tox fixe.
Alternativement, vous pouvez utiliser le commutateur -C à la place :
./tuntox -C /path/to/the/config/directory/
Pour démoniser au démarrage, ajoutez -z :
/path/to/tuntox -z
Ou, si vous exécutez quelque chose comme superviseur ou systemd, vous pouvez contribuer un fichier de configuration pour le système de votre choix (voir #3, #4, #6). Il n'est absolument pas nécessaire d'exécuter le serveur en tant que root.
Ainsi, le serveur Tuntox est désormais installé sur l'ordinateur portable. Comment s'y connecter ?
./tuntox -i -L 2222:127.0.0.1:22
où
est l'ID que vous avez noté lors de la configuration du serveur. Vous n'avez pas oublié de l'écrire, n'est-ce pas ?
Après avoir exécuté cette commande, ouvrez une deuxième fenêtre de terminal et exécutez :
ssh -p 2222 myuser@localhost
Magique, le port 2222 sur votre hôte local est désormais le serveur SSH sur la machine qui exécute le serveur Tuntox.
Le commutateur -L fonctionne (presque) de la même manière qu'en SSH. Pour les non-initiés, -LA:B:C signifie "transférer le port C sur l'ip B vers le port A sur localhost". Contrairement à SSH, vous ne pouvez pas utiliser de noms d'hôte pour B (sauf si vous liez le binaire de manière dynamique).
Alternativement, le mode SSH ProxyCommand fonctionne également :
ssh -o ProxyCommand='./tuntox -i -W localhost:22' gdr@localhost
Trucs amusants : VPN sur Tox
Le client peut être exécuté en tant qu'utilisateur non root normal, sauf si A < 1024 (« A » est le port local). Il existe une solution de contournement disponible.
TUNTOX N'EST PAS SÉCURISÉ SANS LE COMMUTATEUR -s. Fournissez -s votre mot de passe à la fois sur le serveur et sur le client, et tout ira bien. Ce commutateur est introduit dans la version 0.0.4, nom de code "M. Lahey's Got My Porno Tape!". Mieux encore, exécutez TUNTOX_SHARED_SECRET=yourpassword tuntox ...
des deux côtés.
Le serveur Tuntox génère un nouveau Tox ID à chaque démarrage, ou enregistre sa clé privée dans un fichier. Toute personne souhaitant se connecter à ce serveur a besoin de son identifiant Tox, qui se compose de la clé publique connue et d'une valeur secrète "antispam" de 32 bits. Ensuite, le client envoie un secret partagé qui est ensuite comparé au secret fourni sur la ligne de commande du serveur. S'ils ne correspondent pas, la demande d'ami reste sans réponse.
Par conséquent, la possession de l'ID Tox du serveur et d'un secret doit être considérée comme équivalente à la possession d'un compte Unix avec accès SSH. Tuntox n'implémente pas de capacité de shell distant, mais il est possible qu'elle soit exploitable.
L'authentification PSK est facultative mais recommandée - elle n'est activée que lorsque le commutateur -s est présent côté serveur ou que la variable d'environnement TUNTOX_SHARED_SECRET est définie. PSK est envoyé sous forme de message de demande d'ami Tox - dans la mesure où l'auteur comprend le code libtoxcore, il est crypté à l'aide de la clé EC publique du serveur.
Le serveur Tuntox peut éventuellement autoriser uniquement les ToxID sur liste blanche. Fournissez -i yourallowedtoxid une ou plusieurs fois pour ajouter un ToxID à la liste blanche. Remarque : Le comportement par défaut du client consiste à générer un nouveau ToxID pour chaque exécution (car l'auteur pense que c'est une fonctionnalité de confidentialité intéressante). Vous souhaiterez utiliser le commutateur -C dans le client pour forcer la lecture d'une identité enregistrée à partir de tox_save.
Tuntox s'appuie sur le protocole Tox, qui lui-même n'a pas été audité par les chercheurs en sécurité. La crypto Tox a été implémentée avec libsodium (qui est basé sur le NaCl de Bernstein) et utilise ainsi la courbe écliptique 25519 pour l'échange de clés et salsa20 pour le cryptage du flux. Selon les meilleures connaissances de l'auteur, libsodium rend aussi difficile que possible les erreurs de cryptographie, mais nous ne le saurons pas tant que Tox n'aura pas été audité.
oui, il y en a un
Désolé pour la GPLv3 - toxcore et utox (dont j'ai emprunté du code) sont tous deux GPLv3.
Merci aux développeurs toxcore et utox sans qui ce programme n'existerait jamais.
Merci Mr_4551 pour votre aide et votre motivation.