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)
Made tuntox build with TokTok/c-toxcore e093c65637385fe3b3db6ce5a830e5c9c2a00dd4 GDR! 2016-12-07 13:56:26
Obtain shared secret from TUNTOX_SHARED_SECRET env variable ae6ff817c202fa6e41b6ec705152fbfee6c92cd1 GDR! 2016-12-07 12:55:06
Typo in -f help 3af296c20050408ec4c668bf052fe77441ebc538 GDR! 2016-10-12 11:46:55
corrected typo 315ee76599c2ebf92c9fed9b13ffad5ef50b849b Pietro Bonfa 2016-10-10 19:54:39
better comments and if logic f5da6d8db758db9367807b45fdf4fb1a5d09e815 Pietro Bonfa 2016-10-10 19:44:50
removed enforce option bb08cc0ae4789084f88586460c9c617fe6cbb328 Pietro Bonfa 2016-10-09 16:31:39
changed arguments for rules optoins fd085c2862153d16443451d96fc56d2e67873e9e Pietro Bonfa 2016-10-08 12:10:47
fixed bug with filter_policy 230e7ae1347fe613d63f3dca136128b29331f80d Pietro Bonfa 2016-10-07 12:17:09
Changed gdr.name relay ports d194df598555e6ba31d53f5b1ec74f370b869c8c GDR! 2016-10-05 19:45:34
Separate TCP relays from bootstrap nodes during bootstrap a5b237c6fc56787e8ce9e29c4c4778f462c0d849 GDR! 2016-10-05 18:56:18
Updated node list with generate_tox_bootstrap.py 298776994486b7c07dfede1d4190ff0e5aa8789a GDR! 2016-10-05 18:40:02
Added filter for hostname and port requests e5bf743ccb6f80b70a6017a39c30f7610012979b Pietro Bonfa 2016-10-05 18:10:15
Update README.md 24a0f954ce773571aff6562084553028c8352142 GDR! 2016-10-04 08:16:39
Whitelist debug statement a971c172985088d38297ed30318910144140a44b GDR! 2016-06-08 20:36:52
Coverity fix b081686b05931064b4f9a26621d77a5d43941832 GDR! 2016-06-08 15:28:41
Fixed default value for server whitelist mode e682a05cf64ea85e30cb88a089fe220c2081e5da GDR! 2016-06-08 15:16:25
Documentation for #14 e9393fb439f94461fdc665eb85af54f156e5be75 GDR! 2016-06-07 20:00:13
"Whitelist clients by pubkeys" mode, re-request friends 1013b2aaeafa9112849df4e08bcced23cbd91fdf GDR! 2016-06-07 19:52:48
Remove FDs of closed tunnels from fdset 816245f429145052b8908d500c64d372fc8c2972 GDR! 2016-06-07 18:42:45
Mention toxvpn c2a78f48bd44613162a6e3c1d02cb53266611936 GDR! 2016-05-05 17:55:59
Commit e093c65637385fe3b3db6ce5a830e5c9c2a00dd4 - Made tuntox build with TokTok/c-toxcore
Author: GDR!
Author date (UTC): 2016-12-07 13:56
Committer name: GDR!
Committer date (UTC): 2016-12-07 13:56
Parent(s): ae6ff817c202fa6e41b6ec705152fbfee6c92cd1
Signer:
Signing key:
Signing status: N
Tree: 933d17400354412b2ac0fe895884a76e6534d6e0
File Lines added Lines deleted
Makefile 8 3
main.c 5 5
util.h 2 0
File Makefile changed (mode: 100644) (index 5e19d0a..1c4effd)
1 1 SOURCES = $(wildcard *.c) SOURCES = $(wildcard *.c)
2 DEPS=libtoxcore
2 DEPS=libsodium toxcore
3 3 CC=gcc CC=gcc
4 4 CFLAGS=-g #-std=c99 CFLAGS=-g #-std=c99
5 5 CFLAGS += $(shell pkg-config --cflags $(DEPS)) CFLAGS += $(shell pkg-config --cflags $(DEPS))
6 6 LDFLAGS=-g -pthread -lm -static -lrt LDFLAGS=-g -pthread -lm -static -lrt
7 LDFLAGS += $(shell pkg-config --libs $(DEPS))
7 LDFLAGS += $(shell pkg-config --static --libs $(DEPS))
8 DSO_LDFLAGS=-g -pthread -lm -lrt
9 DSO_LDFLAGS += $(shell pkg-config --libs $(DEPS))
8 10 OBJECTS=$(SOURCES:.c=.o) OBJECTS=$(SOURCES:.c=.o)
9 11 INCLUDES = $(wildcard *.h) INCLUDES = $(wildcard *.h)
10 12
 
... ... gitversion.c: gitversion.h
19 21 $(CC) $(CFLAGS) $< -c -o $@ $(CC) $(CFLAGS) $< -c -o $@
20 22
21 23 tuntox: $(OBJECTS) $(INCLUDES) tuntox: $(OBJECTS) $(INCLUDES)
22 $(CC) -o $@ $(OBJECTS) -ltoxcore -lpthread $(LDFLAGS) /usr/local/lib/libsodium.a /usr/local/lib/libtoxcore.a
24 $(CC) -o $@ $(OBJECTS) -lpthread $(LDFLAGS) /usr/local/lib/libtoxmessenger.a /usr/local/lib/libtoxcore.a
25
26 tuntox_nostatic: $(OBJECTS) $(INCLUDES)
27 $(CC) -o $@ $(OBJECTS) -lpthread $(DSO_LDFLAGS)
23 28
24 29 cscope.out: cscope.out:
25 30 cscope -bv ./*.[ch] cscope -bv ./*.[ch]
File main.c changed (mode: 100644) (index f9e3092..783b509)
... ... int send_frame(protocol_frame *frame, uint8_t *data)
331 331
332 332 for(j = 0; j < i; j++) for(j = 0; j < i; j++)
333 333 { {
334 tox_iterate(tox);
334 tox_iterate(tox, NULL);
335 335 usleep(j * 10000); usleep(j * 10000);
336 336 } }
337 337 } }
 
... ... int do_server_loop()
904 904 tunnel *tmp = NULL; tunnel *tmp = NULL;
905 905 TOX_CONNECTION connected = 0; TOX_CONNECTION connected = 0;
906 906
907 tox_callback_friend_lossless_packet(tox, parse_lossless_packet, NULL);
907 tox_callback_friend_lossless_packet(tox, parse_lossless_packet);
908 908
909 909 tv.tv_sec = 0; tv.tv_sec = 0;
910 910 tv.tv_usec = 20000; tv.tv_usec = 20000;
 
... ... int do_server_loop()
918 918 int select_rv = 0; int select_rv = 0;
919 919
920 920 /* Let tox do its stuff */ /* Let tox do its stuff */
921 tox_iterate(tox);
921 tox_iterate(tox, NULL);
922 922
923 923 /* Get the desired sleep time, used in select() later */ /* Get the desired sleep time, used in select() later */
924 924 tox_do_interval_ms = tox_iteration_interval(tox); tox_do_interval_ms = tox_iteration_interval(tox);
 
... ... int main(int argc, char *argv[])
1378 1378 } }
1379 1379
1380 1380 set_tox_username(tox); set_tox_username(tox);
1381 tox_callback_self_connection_status(tox, handle_connection_status_change, NULL);
1381 tox_callback_self_connection_status(tox, handle_connection_status_change);
1382 1382
1383 1383 do_bootstrap(tox); do_bootstrap(tox);
1384 1384
 
... ... int main(int argc, char *argv[])
1411 1411 tox_printable_id[TOX_ADDRESS_SIZE * 2] = '\0'; tox_printable_id[TOX_ADDRESS_SIZE * 2] = '\0';
1412 1412 log_printf(L_INFO, "Using Tox ID: %s\n", tox_printable_id); log_printf(L_INFO, "Using Tox ID: %s\n", tox_printable_id);
1413 1413
1414 tox_callback_friend_request(tox, accept_friend_request, NULL);
1414 tox_callback_friend_request(tox, accept_friend_request);
1415 1415 do_server_loop(); do_server_loop();
1416 1416 clear_rules(); clear_rules();
1417 1417 } }
File util.h changed (mode: 100644) (index 1a210d5..7dced6b)
... ... void id_to_string(char_t *dest, const char_t *src);
13 13 int string_to_id(char_t *w, char_t *a); int string_to_id(char_t *w, char_t *a);
14 14 void* file_raw(char *path, uint32_t *size); void* file_raw(char *path, uint32_t *size);
15 15 const char *readable_connection_status(TOX_CONNECTION status); const char *readable_connection_status(TOX_CONNECTION status);
16 int parse_local_port_forward(char *string, int *local_port, char **hostname, int *remote_port);
17 int parse_pipe_port_forward(char *string, char **hostname, int *remote_port);
16 18
17 19 #endif #endif
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