gdr / tuntox (public) (License: GPLv3) (since 2017-01-24) (hash sha1)
Tunnel TCP connections over the Tox protocol
List of commits:
Subject Hash Author Date (UTC)
Document on making a point-to-point VPN 32d3ec0ee95c1a8516ee3bb730ffaf5eeb854911 GDR! 2015-01-12 22:19:05
Allow using @ instead of : in port forward definitions 4350dabf2f524daabb03f26928742296310b456f GDR! 2015-01-12 21:57:20
Got rid of the memory leak 4e3d5e48fe25648a182dc7f67f4f49e4d8471ebf GDR! 2014-12-30 13:38:43
Removed old comments 870624e91fa526f5eeb0d699f8a33a43ff7af4a1 GDR! 2014-12-28 14:35:41
Debian init script added 86e70ffe9f835b12667d296f2df9c307ba1aff06 GDR! 2014-12-24 16:26:51
Forking/setuid/pidfile working e98c42e6712f16b60ade4f2f996b25001394da4d GDR! 2014-12-24 16:07:35
Added syslog capability 53bfa010d3ee7a0c79e4c9155e189431eeafb208 GDR! 2014-12-24 14:59:40
Clean target 4280af5e82fad6296d3581a5f62700da34ccd3ea GDR! 2014-12-24 14:35:07
Version string 325ae4c314482d10fe46c5c16c2b581959af2f41 GDR! 2014-12-24 14:28:13
Fixed callbacks on raspbian 7324419faf44b59072633a76db24a8e612460c8f GDR! 2014-12-22 02:23:21
Logging framework and command line options b8c1f1cf062ff681daf160411ad6c35ed7a49d42 GDR! 2014-12-22 02:22:38
Fixed warning on implicit function declaration 575ea150208b7ca61a639d0c9a20df656d2b178f GDR! 2014-12-22 00:52:53
Trying to make the calling convention problem go away 1fb0fae11b2d129dd380b6413e5e81d461c8806d GDR! 2014-12-22 00:52:27
Increased number of send retries - helpful on flaky links 3f86c8bb935408fdfb056a412da23b6b181d0755 GDR! 2014-12-13 18:13:12
Tokssh formatted 489cad267d4537cbe20f4c539f49a2d96ed6d0bb GDR! 2014-12-13 17:50:07
Added tokssh wrapper script 967a260e4fb84659424e9b81cc7f6318380ae02d GDR! 2014-12-13 17:49:14
More robust connection algorithm 4f28d0b194fdd9607955f2e32de44f8fbf5d7d31 GDR! 2014-12-13 17:24:39
Added -lrt for old glibc versions like raspbian 9f66ecc193b1bca4eac19f178123215340c9cb14 GDR! 2014-12-13 17:24:10
Pipe mode working, yay! 99a66836911b804dce1455580cbf75dc99f23538 GDR! 2014-12-11 22:27:26
Added MSG_NOSIGNAL to send() in client c9f51df320380a537843145ebbf4ceff7ef1c561 GDR! 2014-12-11 21:33:27
Commit 32d3ec0ee95c1a8516ee3bb730ffaf5eeb854911 - Document on making a point-to-point VPN
Author: GDR!
Author date (UTC): 2015-01-12 22:19
Committer name: GDR!
Committer date (UTC): 2015-01-12 22:19
Parent(s): 4350dabf2f524daabb03f26928742296310b456f
Signer:
Signing key:
Signing status: N
Tree: 1148a9397f17da1b8fe0ecbbd47affa7d3e79bb7
File Lines added Lines deleted
VPN.md 39 0
File VPN.md added (mode: 100644) (index 0000000..24507f2)
1 h2. How to make a point-to-point VPN
2
3 Socat is a powerful tool which can work together with Tuntox.
4
5 On the server (where tuntox is already running:
6
7 socat -d -d 'TCP-LISTEN:9876' 'TUN:10.20.30.41/24,up'
8
9 On the client:
10
11 socat -d -d TUN:10.20.30.40/24,up 'SYSTEM:./tuntox -P 127.0.0.1@9876 -i 86e70ffe9f835b12667d296f2df9c307ba1aff06'
12
13 Viola, you have a point-to-point VPN. On client:
14
15 # ping 10.20.30.41
16 PING 10.20.30.41 (10.20.30.41) 56(84) bytes of data.
17 64 bytes from 10.20.30.41: icmp_seq=1 ttl=64 time=138 ms
18 64 bytes from 10.20.30.41: icmp_seq=2 ttl=64 time=169 ms
19 64 bytes from 10.20.30.41: icmp_seq=3 ttl=64 time=130 ms
20 64 bytes from 10.20.30.41: icmp_seq=4 ttl=64 time=90.8 ms
21 64 bytes from 10.20.30.41: icmp_seq=5 ttl=64 time=50.7 ms
22
23 h3. Full madness mode: tunnelling VPN over SSH over Tox
24
25 No need to log in run and run socat on the server.
26
27 Also: inefficient, insecure (requires PermitRootLogin yes on server).
28
29 On the client:
30 socat -d -d TUN:10.20.30.40/24,up 'SYSTEM:ssh root@localhost -o ProxyCommand=\"./tuntox -P "127.0.0.1:22" -d -i 86e70ffe9f835b12667d296f2df9c307ba1aff06\" socat -d -d - "TUN:10.20.30.41/24,up"'
31
32 # ping 10.20.30.41
33 PING 10.20.30.41 (10.20.30.41) 56(84) bytes of data.
34 64 bytes from 10.20.30.41: icmp_seq=1 ttl=64 time=50.6 ms
35 64 bytes from 10.20.30.41: icmp_seq=2 ttl=64 time=81.2 ms
36 64 bytes from 10.20.30.41: icmp_seq=3 ttl=64 time=50.3 ms
37 64 bytes from 10.20.30.41: icmp_seq=4 ttl=64 time=151 ms
38 64 bytes from 10.20.30.41: icmp_seq=5 ttl=64 time=50.3 ms
39
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/gdr/tuntox

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/gdr/tuntox

Clone this repository using git:
git clone git://git.rocketgit.com/user/gdr/tuntox

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main