summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGDR! <gdr@gdr.name>2017-11-01 11:45:33 +0100
committerGDR! <gdr@gdr.name>2017-11-01 11:45:33 +0100
commit034d0791c08fedff295e196df1e429e0b8dabee7 (patch)
tree066b178393fe7fbc3d54c55deb740609ab3b0f92
parent8abb89fdfcd2aaf3ff8c93e269588c007e10e66a (diff)
parent4f509dc9a8dcb7e2ea63ac6da50a80e4f09c1cf5 (diff)
Merge branch 'master' of github.com:gjedeer/tuntox
-rw-r--r--BUILD.md2
-rw-r--r--main.c49
-rw-r--r--main.h5
-rw-r--r--tox_bootstrap.h140
4 files changed, 116 insertions, 80 deletions
diff --git a/BUILD.md b/BUILD.md
index 6731aa2..2c68c9a 100644
--- a/BUILD.md
+++ b/BUILD.md
@@ -9,7 +9,7 @@ One reason to do so may be if you'd like to resolve hostnames on the tuntox serv
9 9
10Static linking breaks hostname resolution, but IMHO the pros overweight the cons. 10Static linking breaks hostname resolution, but IMHO the pros overweight the cons.
11 11
12c-toxcore is the only direct dependency. c-toxcore requires libsodium and libevent_pthreads at the time of writing this, please refer to their install instructions for the current dependencies. 12c-toxcore is the only direct dependency. c-toxcore requires libsodium and libevent_pthreads at the time of writing this, please refer to their install instructions for the current dependencies. Also pkg-config is required.
13 13
14## MacOS build 14## MacOS build
15Basically the same as above but: 15Basically the same as above but:
diff --git a/main.c b/main.c
index 0d2e5e8..a16c040 100644
--- a/main.c
+++ b/main.c
@@ -71,6 +71,10 @@ fd_set master_server_fds;
71/* We keep two hash tables: one indexed by sockfd and another by "connection id" */ 71/* We keep two hash tables: one indexed by sockfd and another by "connection id" */
72tunnel *by_id = NULL; 72tunnel *by_id = NULL;
73 73
74/* Tunnels need to be delete safely, outside FD_ISSET polling */
75/* See: tunnel_queue_delete() */
76tunnel_list *tunnels_to_delete = NULL;
77
74/* Highest used fd + 1 for select() */ 78/* Highest used fd + 1 for select() */
75int select_nfds = 4; 79int select_nfds = 4;
76 80
@@ -144,9 +148,10 @@ tunnel *tunnel_create(int sockfd, int connid, uint32_t friendnumber)
144 return t; 148 return t;
145} 149}
146 150
151/* Please use tunnel_queue_delete() instead */
147void tunnel_delete(tunnel *t) 152void tunnel_delete(tunnel *t)
148{ 153{
149 log_printf(L_INFO, "Deleting tunnel #%d\n", t->connid); 154 log_printf(L_INFO, "Deleting tunnel #%d ptr %p\n", t->connid, t);
150 if(t->sockfd) 155 if(t->sockfd)
151 { 156 {
152 close(t->sockfd); 157 close(t->sockfd);
@@ -156,6 +161,17 @@ void tunnel_delete(tunnel *t)
156 free(t); 161 free(t);
157} 162}
158 163
164void tunnel_queue_delete(tunnel *t)
165{
166 tunnel_list *tunnel_list_entry = NULL;
167
168 log_printf(L_DEBUG2, "Queued deleting tunnel #%d ptr %p\n", t->connid, t);
169
170 tunnel_list_entry = calloc(sizeof(tunnel_list), 1);
171 tunnel_list_entry->tun = t;
172 LL_APPEND(tunnels_to_delete, tunnel_list_entry);
173}
174
159/* bootstrap to dht with bootstrap_nodes */ 175/* bootstrap to dht with bootstrap_nodes */
160/* From uTox/tox.c */ 176/* From uTox/tox.c */
161static void do_bootstrap(Tox *tox) 177static void do_bootstrap(Tox *tox)
@@ -342,7 +358,7 @@ int send_frame(protocol_frame *frame, uint8_t *data)
342 358
343 if(i > 0 && rv >= 0) 359 if(i > 0 && rv >= 0)
344 { 360 {
345 log_printf(L_DEBUG, "Packet succeeded at try %d\n", try); 361 log_printf(L_DEBUG, "Packet succeeded at try %d (friend %d tunnel %d)\n", try, frame->friendnumber, frame->connid);
346 } 362 }
347 363
348 return rv; 364 return rv;
@@ -533,7 +549,8 @@ int handle_client_tcp_fin_frame(protocol_frame *rcvd_frame)
533 return -1; 549 return -1;
534 } 550 }
535 551
536 tunnel_delete(tun); 552 log_printf(L_DEBUG2, "Deleting tunnel #%d (%p) in handle_client_tcp_fin_frame(), socket %d", rcvd_frame->connid, tun, tun->sockfd);
553 tunnel_queue_delete(tun);
537 554
538 return 0; 555 return 0;
539} 556}
@@ -920,8 +937,8 @@ int do_server_loop()
920 int select_rv = 0; 937 int select_rv = 0;
921 sent_data = 0; 938 sent_data = 0;
922 939
923 /* Let tox do its stuff */ 940 /* Let tox do its stuff */
924 tox_iterate(tox, NULL); 941 tox_iterate(tox, NULL);
925 942
926 /* Get the desired sleep time, used in select() later */ 943 /* Get the desired sleep time, used in select() later */
927 tox_do_interval_ms = tox_iteration_interval(tox); 944 tox_do_interval_ms = tox_iteration_interval(tox);
@@ -947,8 +964,8 @@ int do_server_loop()
947 964
948 fds = master_server_fds; 965 fds = master_server_fds;
949 966
950 /* Poll for data from our client connection */ 967 /* Poll for data from our client connection */
951 select_rv = select(select_nfds, &fds, NULL, NULL, &tv); 968 select_rv = select(select_nfds, &fds, NULL, NULL, &tv);
952 if(select_rv == -1 || select_rv == 0) 969 if(select_rv == -1 || select_rv == 0)
953 { 970 {
954 if(select_rv == -1) 971 if(select_rv == -1)
@@ -963,8 +980,14 @@ int do_server_loop()
963 } 980 }
964 else 981 else
965 { 982 {
983 tunnel_list *tunnel_list_entry = NULL, *list_tmp = NULL;
984 tmp = NULL;
985 tun = NULL;
986
987 log_printf(L_DEBUG, "Starting tunnel iteration...");
966 HASH_ITER(hh, by_id, tun, tmp) 988 HASH_ITER(hh, by_id, tun, tmp)
967 { 989 {
990 log_printf(L_DEBUG, "Current tunnel: %p", tun);
968 if(FD_ISSET(tun->sockfd, &fds)) 991 if(FD_ISSET(tun->sockfd, &fds))
969 { 992 {
970 int nbytes = recv(tun->sockfd, 993 int nbytes = recv(tun->sockfd,
@@ -996,7 +1019,7 @@ int do_server_loop()
996 send_frame(frame, data); 1019 send_frame(frame, data);
997 sent_data = 1; 1020 sent_data = 1;
998 1021
999 tunnel_delete(tun); 1022 tunnel_queue_delete(tun);
1000 1023
1001 continue; 1024 continue;
1002 } 1025 }
@@ -1015,6 +1038,14 @@ int do_server_loop()
1015 } 1038 }
1016 } 1039 }
1017 } 1040 }
1041 log_printf(L_DEBUG, "Tunnel iteration done");
1042
1043 LL_FOREACH_SAFE(tunnels_to_delete, tunnel_list_entry, list_tmp)
1044 {
1045 tunnel_delete(tunnel_list_entry->tun);
1046 LL_DELETE(tunnels_to_delete, tunnel_list_entry);
1047 free(tunnel_list_entry);
1048 }
1018 } 1049 }
1019 1050
1020 gettimeofday(&tv_end, NULL); 1051 gettimeofday(&tv_end, NULL);
@@ -1218,7 +1249,7 @@ int main(int argc, char *argv[])
1218 1249
1219 log_init(); 1250 log_init();
1220 1251
1221 while ((oc = getopt(argc, argv, "L:pi:C:s:f:P:dqhSF:DU:t:u:")) != -1) 1252 while ((oc = getopt(argc, argv, "L:pi:C:s:f:W:dqhSF:DU:t:u:")) != -1)
1222 { 1253 {
1223 switch(oc) 1254 switch(oc)
1224 { 1255 {
diff --git a/main.h b/main.h
index 106525f..90f393e 100644
--- a/main.h
+++ b/main.h
@@ -57,6 +57,11 @@ typedef struct tunnel_t {
57 UT_hash_handle hh; 57 UT_hash_handle hh;
58} tunnel; 58} tunnel;
59 59
60typedef struct tunnel_list_t {
61 tunnel *tun;
62 struct tunnel_list_t *next;
63} tunnel_list;
64
60typedef struct allowed_toxid { 65typedef struct allowed_toxid {
61 uint8_t toxid[TOX_ADDRESS_SIZE]; 66 uint8_t toxid[TOX_ADDRESS_SIZE];
62 struct allowed_toxid *next; 67 struct allowed_toxid *next;
diff --git a/tox_bootstrap.h b/tox_bootstrap.h
index 0f8d142..88f0fc9 100644
--- a/tox_bootstrap.h
+++ b/tox_bootstrap.h
@@ -1,7 +1,7 @@
1 1
2/* 2/*
3 * Generated with generate_tox_bootstrap.py by GDR! 3 * Generated with generate_tox_bootstrap.py by GDR!
4 * from https://nodes.tox.chat/json on 2017-10-20 22:00:19.930069 4 * from https://nodes.tox.chat/json on 2017-10-28 14:39:07.047671
5 */ 5 */
6struct bootstrap_node { 6struct bootstrap_node {
7 char *address; 7 char *address;
@@ -235,7 +235,7 @@ struct bootstrap_node {
235 }, 235 },
236 236
237 { 237 {
238 "61.230.160.183", 238 "61.230.173.150",
239 33445, 239 33445,
240 { 240 {
241 0x3F, 0x0A, 0x45, 0xA2, 0x68, 0x36, 0x7C, 0x1B, 0xEA, 0x65, 0x2F, 0x25, 0x8C, 0x85, 0xF4, 0xA6, 241 0x3F, 0x0A, 0x45, 0xA2, 0x68, 0x36, 0x7C, 0x1B, 0xEA, 0x65, 0x2F, 0x25, 0x8C, 0x85, 0xF4, 0xA6,
@@ -298,15 +298,6 @@ struct bootstrap_node {
298 }, 298 },
299 299
300 { 300 {
301 "85.21.144.224",
302 33445,
303 {
304 0x8F, 0x73, 0x8B, 0xBC, 0x8F, 0xA9, 0x39, 0x46, 0x70, 0xBC, 0xAB, 0x14, 0x6C, 0x67, 0xA5, 0x07,
305 0xB9, 0x90, 0x7C, 0x8E, 0x56, 0x4E, 0x28, 0xC2, 0xB5, 0x9B, 0xEB, 0xB2, 0xFF, 0x68, 0x71, 0x1B
306 }
307 },
308
309 {
310 "104.207.131.136", 301 "104.207.131.136",
311 33445, 302 33445,
312 { 303 {
@@ -343,6 +334,15 @@ struct bootstrap_node {
343 }, 334 },
344 335
345 { 336 {
337 "95.215.46.114",
338 33445,
339 {
340 0x58, 0x23, 0xFB, 0x94, 0x7F, 0xF2, 0x4C, 0xF8, 0x3D, 0xDF, 0xAC, 0x3F, 0x3B, 0xAA, 0x18, 0xF9,
341 0x6E, 0xA2, 0x01, 0x8B, 0x16, 0xCC, 0x08, 0x42, 0x9C, 0xB9, 0x7F, 0xA5, 0x02, 0xF4, 0x0C, 0x23
342 }
343 },
344
345 {
346 "23.101.75.197", 346 "23.101.75.197",
347 33445, 347 33445,
348 { 348 {
@@ -446,7 +446,7 @@ struct bootstrap_node tcp_relays[] = {
446 446
447 { 447 {
448 "198.46.138.44", 448 "198.46.138.44",
449 3389, 449 33445,
450 { 450 {
451 0xF4, 0x04, 0xAB, 0xAA, 0x1C, 0x99, 0xA9, 0xD3, 0x7D, 0x61, 0xAB, 0x54, 0x89, 0x8F, 0x56, 0x79, 451 0xF4, 0x04, 0xAB, 0xAA, 0x1C, 0x99, 0xA9, 0xD3, 0x7D, 0x61, 0xAB, 0x54, 0x89, 0x8F, 0x56, 0x79,
452 0x3E, 0x1D, 0xEF, 0x8B, 0xD4, 0x6B, 0x10, 0x38, 0xB9, 0xD8, 0x22, 0xE8, 0x46, 0x0F, 0xAB, 0x67 452 0x3E, 0x1D, 0xEF, 0x8B, 0xD4, 0x6B, 0x10, 0x38, 0xB9, 0xD8, 0x22, 0xE8, 0x46, 0x0F, 0xAB, 0x67
@@ -455,7 +455,7 @@ struct bootstrap_node tcp_relays[] = {
455 455
456 { 456 {
457 "198.46.138.44", 457 "198.46.138.44",
458 33445, 458 3389,
459 { 459 {
460 0xF4, 0x04, 0xAB, 0xAA, 0x1C, 0x99, 0xA9, 0xD3, 0x7D, 0x61, 0xAB, 0x54, 0x89, 0x8F, 0x56, 0x79, 460 0xF4, 0x04, 0xAB, 0xAA, 0x1C, 0x99, 0xA9, 0xD3, 0x7D, 0x61, 0xAB, 0x54, 0x89, 0x8F, 0x56, 0x79,
461 0x3E, 0x1D, 0xEF, 0x8B, 0xD4, 0x6B, 0x10, 0x38, 0xB9, 0xD8, 0x22, 0xE8, 0x46, 0x0F, 0xAB, 0x67 461 0x3E, 0x1D, 0xEF, 0x8B, 0xD4, 0x6B, 0x10, 0x38, 0xB9, 0xD8, 0x22, 0xE8, 0x46, 0x0F, 0xAB, 0x67
@@ -509,7 +509,7 @@ struct bootstrap_node tcp_relays[] = {
509 509
510 { 510 {
511 "198.98.51.198", 511 "198.98.51.198",
512 3389, 512 33445,
513 { 513 {
514 0x1D, 0x5A, 0x5F, 0x2F, 0x5D, 0x62, 0x33, 0x05, 0x8B, 0xF0, 0x25, 0x9B, 0x09, 0x62, 0x2F, 0xB4, 514 0x1D, 0x5A, 0x5F, 0x2F, 0x5D, 0x62, 0x33, 0x05, 0x8B, 0xF0, 0x25, 0x9B, 0x09, 0x62, 0x2F, 0xB4,
515 0x0B, 0x48, 0x2E, 0x4F, 0xA0, 0x93, 0x1E, 0xB8, 0xFD, 0x3A, 0xB8, 0xE7, 0xBF, 0x7D, 0xAF, 0x6F 515 0x0B, 0x48, 0x2E, 0x4F, 0xA0, 0x93, 0x1E, 0xB8, 0xFD, 0x3A, 0xB8, 0xE7, 0xBF, 0x7D, 0xAF, 0x6F
@@ -518,7 +518,7 @@ struct bootstrap_node tcp_relays[] = {
518 518
519 { 519 {
520 "198.98.51.198", 520 "198.98.51.198",
521 33445, 521 3389,
522 { 522 {
523 0x1D, 0x5A, 0x5F, 0x2F, 0x5D, 0x62, 0x33, 0x05, 0x8B, 0xF0, 0x25, 0x9B, 0x09, 0x62, 0x2F, 0xB4, 523 0x1D, 0x5A, 0x5F, 0x2F, 0x5D, 0x62, 0x33, 0x05, 0x8B, 0xF0, 0x25, 0x9B, 0x09, 0x62, 0x2F, 0xB4,
524 0x0B, 0x48, 0x2E, 0x4F, 0xA0, 0x93, 0x1E, 0xB8, 0xFD, 0x3A, 0xB8, 0xE7, 0xBF, 0x7D, 0xAF, 0x6F 524 0x0B, 0x48, 0x2E, 0x4F, 0xA0, 0x93, 0x1E, 0xB8, 0xFD, 0x3A, 0xB8, 0xE7, 0xBF, 0x7D, 0xAF, 0x6F
@@ -536,7 +536,7 @@ struct bootstrap_node tcp_relays[] = {
536 536
537 { 537 {
538 "194.249.212.109", 538 "194.249.212.109",
539 33445, 539 3389,
540 { 540 {
541 0x3C, 0xEE, 0x1F, 0x05, 0x40, 0x81, 0xE7, 0xA0, 0x11, 0x23, 0x48, 0x83, 0xBC, 0x4F, 0xC3, 0x9F, 541 0x3C, 0xEE, 0x1F, 0x05, 0x40, 0x81, 0xE7, 0xA0, 0x11, 0x23, 0x48, 0x83, 0xBC, 0x4F, 0xC3, 0x9F,
542 0x66, 0x1A, 0x55, 0xB7, 0x36, 0x37, 0xA5, 0xAC, 0x29, 0x3D, 0xDF, 0x12, 0x51, 0xD9, 0x43, 0x2B 542 0x66, 0x1A, 0x55, 0xB7, 0x36, 0x37, 0xA5, 0xAC, 0x29, 0x3D, 0xDF, 0x12, 0x51, 0xD9, 0x43, 0x2B
@@ -545,7 +545,7 @@ struct bootstrap_node tcp_relays[] = {
545 545
546 { 546 {
547 "194.249.212.109", 547 "194.249.212.109",
548 3389, 548 33445,
549 { 549 {
550 0x3C, 0xEE, 0x1F, 0x05, 0x40, 0x81, 0xE7, 0xA0, 0x11, 0x23, 0x48, 0x83, 0xBC, 0x4F, 0xC3, 0x9F, 550 0x3C, 0xEE, 0x1F, 0x05, 0x40, 0x81, 0xE7, 0xA0, 0x11, 0x23, 0x48, 0x83, 0xBC, 0x4F, 0xC3, 0x9F,
551 0x66, 0x1A, 0x55, 0xB7, 0x36, 0x37, 0xA5, 0xAC, 0x29, 0x3D, 0xDF, 0x12, 0x51, 0xD9, 0x43, 0x2B 551 0x66, 0x1A, 0x55, 0xB7, 0x36, 0x37, 0xA5, 0xAC, 0x29, 0x3D, 0xDF, 0x12, 0x51, 0xD9, 0x43, 0x2B
@@ -554,7 +554,7 @@ struct bootstrap_node tcp_relays[] = {
554 554
555 { 555 {
556 "185.25.116.107", 556 "185.25.116.107",
557 33445, 557 3389,
558 { 558 {
559 0xDA, 0x4E, 0x4E, 0xD4, 0xB6, 0x97, 0xF2, 0xE9, 0xB0, 0x00, 0xEE, 0xFE, 0x3A, 0x34, 0xB5, 0x54, 559 0xDA, 0x4E, 0x4E, 0xD4, 0xB6, 0x97, 0xF2, 0xE9, 0xB0, 0x00, 0xEE, 0xFE, 0x3A, 0x34, 0xB5, 0x54,
560 0xAC, 0xD3, 0xF4, 0x5F, 0x5C, 0x96, 0xEA, 0xEA, 0x25, 0x16, 0xDD, 0x7F, 0xF9, 0xAF, 0x7B, 0x43 560 0xAC, 0xD3, 0xF4, 0x5F, 0x5C, 0x96, 0xEA, 0xEA, 0x25, 0x16, 0xDD, 0x7F, 0xF9, 0xAF, 0x7B, 0x43
@@ -563,7 +563,7 @@ struct bootstrap_node tcp_relays[] = {
563 563
564 { 564 {
565 "185.25.116.107", 565 "185.25.116.107",
566 3389, 566 33445,
567 { 567 {
568 0xDA, 0x4E, 0x4E, 0xD4, 0xB6, 0x97, 0xF2, 0xE9, 0xB0, 0x00, 0xEE, 0xFE, 0x3A, 0x34, 0xB5, 0x54, 568 0xDA, 0x4E, 0x4E, 0xD4, 0xB6, 0x97, 0xF2, 0xE9, 0xB0, 0x00, 0xEE, 0xFE, 0x3A, 0x34, 0xB5, 0x54,
569 0xAC, 0xD3, 0xF4, 0x5F, 0x5C, 0x96, 0xEA, 0xEA, 0x25, 0x16, 0xDD, 0x7F, 0xF9, 0xAF, 0x7B, 0x43 569 0xAC, 0xD3, 0xF4, 0x5F, 0x5C, 0x96, 0xEA, 0xEA, 0x25, 0x16, 0xDD, 0x7F, 0xF9, 0xAF, 0x7B, 0x43
@@ -572,7 +572,7 @@ struct bootstrap_node tcp_relays[] = {
572 572
573 { 573 {
574 "5.189.176.217", 574 "5.189.176.217",
575 33445, 575 5190,
576 { 576 {
577 0x2B, 0x21, 0x37, 0xE0, 0x94, 0xF7, 0x43, 0xAC, 0x8B, 0xD4, 0x46, 0x52, 0xC5, 0x5F, 0x41, 0xDF, 577 0x2B, 0x21, 0x37, 0xE0, 0x94, 0xF7, 0x43, 0xAC, 0x8B, 0xD4, 0x46, 0x52, 0xC5, 0x5F, 0x41, 0xDF,
578 0xAC, 0xC5, 0x02, 0xF1, 0x25, 0xE9, 0x9E, 0x4F, 0xE2, 0x4D, 0x40, 0x53, 0x74, 0x89, 0xE3, 0x2F 578 0xAC, 0xC5, 0x02, 0xF1, 0x25, 0xE9, 0x9E, 0x4F, 0xE2, 0x4D, 0x40, 0x53, 0x74, 0x89, 0xE3, 0x2F
@@ -590,7 +590,7 @@ struct bootstrap_node tcp_relays[] = {
590 590
591 { 591 {
592 "5.189.176.217", 592 "5.189.176.217",
593 5190, 593 33445,
594 { 594 {
595 0x2B, 0x21, 0x37, 0xE0, 0x94, 0xF7, 0x43, 0xAC, 0x8B, 0xD4, 0x46, 0x52, 0xC5, 0x5F, 0x41, 0xDF, 595 0x2B, 0x21, 0x37, 0xE0, 0x94, 0xF7, 0x43, 0xAC, 0x8B, 0xD4, 0x46, 0x52, 0xC5, 0x5F, 0x41, 0xDF,
596 0xAC, 0xC5, 0x02, 0xF1, 0x25, 0xE9, 0x9E, 0x4F, 0xE2, 0x4D, 0x40, 0x53, 0x74, 0x89, 0xE3, 0x2F 596 0xAC, 0xC5, 0x02, 0xF1, 0x25, 0xE9, 0x9E, 0x4F, 0xE2, 0x4D, 0x40, 0x53, 0x74, 0x89, 0xE3, 0x2F
@@ -599,7 +599,7 @@ struct bootstrap_node tcp_relays[] = {
599 599
600 { 600 {
601 "217.182.143.254", 601 "217.182.143.254",
602 443, 602 33445,
603 { 603 {
604 0x7A, 0xED, 0x21, 0xF9, 0x4D, 0x82, 0xB0, 0x57, 0x74, 0xF6, 0x97, 0xB2, 0x09, 0x62, 0x8C, 0xD5, 604 0x7A, 0xED, 0x21, 0xF9, 0x4D, 0x82, 0xB0, 0x57, 0x74, 0xF6, 0x97, 0xB2, 0x09, 0x62, 0x8C, 0xD5,
605 0xA9, 0xAD, 0x17, 0xE0, 0xC0, 0x73, 0xD9, 0x32, 0x90, 0x76, 0xA4, 0xC2, 0x8E, 0xD2, 0x81, 0x47 605 0xA9, 0xAD, 0x17, 0xE0, 0xC0, 0x73, 0xD9, 0x32, 0x90, 0x76, 0xA4, 0xC2, 0x8E, 0xD2, 0x81, 0x47
@@ -617,7 +617,7 @@ struct bootstrap_node tcp_relays[] = {
617 617
618 { 618 {
619 "217.182.143.254", 619 "217.182.143.254",
620 33445, 620 443,
621 { 621 {
622 0x7A, 0xED, 0x21, 0xF9, 0x4D, 0x82, 0xB0, 0x57, 0x74, 0xF6, 0x97, 0xB2, 0x09, 0x62, 0x8C, 0xD5, 622 0x7A, 0xED, 0x21, 0xF9, 0x4D, 0x82, 0xB0, 0x57, 0x74, 0xF6, 0x97, 0xB2, 0x09, 0x62, 0x8C, 0xD5,
623 0xA9, 0xAD, 0x17, 0xE0, 0xC0, 0x73, 0xD9, 0x32, 0x90, 0x76, 0xA4, 0xC2, 0x8E, 0xD2, 0x81, 0x47 623 0xA9, 0xAD, 0x17, 0xE0, 0xC0, 0x73, 0xD9, 0x32, 0x90, 0x76, 0xA4, 0xC2, 0x8E, 0xD2, 0x81, 0x47
@@ -644,7 +644,7 @@ struct bootstrap_node tcp_relays[] = {
644 644
645 { 645 {
646 "138.201.117.204", 646 "138.201.117.204",
647 33445, 647 3389,
648 { 648 {
649 0x1C, 0x52, 0x93, 0xAE, 0xF2, 0x11, 0x47, 0x17, 0x54, 0x7B, 0x39, 0xDA, 0x8E, 0xA6, 0xF1, 0xE3, 649 0x1C, 0x52, 0x93, 0xAE, 0xF2, 0x11, 0x47, 0x17, 0x54, 0x7B, 0x39, 0xDA, 0x8E, 0xA6, 0xF1, 0xE3,
650 0x31, 0xE5, 0xE3, 0x58, 0xB3, 0x5F, 0x9B, 0x6B, 0x5F, 0x19, 0x31, 0x79, 0x11, 0xC5, 0xF9, 0x76 650 0x31, 0xE5, 0xE3, 0x58, 0xB3, 0x5F, 0x9B, 0x6B, 0x5F, 0x19, 0x31, 0x79, 0x11, 0xC5, 0xF9, 0x76
@@ -653,7 +653,7 @@ struct bootstrap_node tcp_relays[] = {
653 653
654 { 654 {
655 "138.201.117.204", 655 "138.201.117.204",
656 3389, 656 33445,
657 { 657 {
658 0x1C, 0x52, 0x93, 0xAE, 0xF2, 0x11, 0x47, 0x17, 0x54, 0x7B, 0x39, 0xDA, 0x8E, 0xA6, 0xF1, 0xE3, 658 0x1C, 0x52, 0x93, 0xAE, 0xF2, 0x11, 0x47, 0x17, 0x54, 0x7B, 0x39, 0xDA, 0x8E, 0xA6, 0xF1, 0xE3,
659 0x31, 0xE5, 0xE3, 0x58, 0xB3, 0x5F, 0x9B, 0x6B, 0x5F, 0x19, 0x31, 0x79, 0x11, 0xC5, 0xF9, 0x76 659 0x31, 0xE5, 0xE3, 0x58, 0xB3, 0x5F, 0x9B, 0x6B, 0x5F, 0x19, 0x31, 0x79, 0x11, 0xC5, 0xF9, 0x76
@@ -671,7 +671,7 @@ struct bootstrap_node tcp_relays[] = {
671 671
672 { 672 {
673 "51.254.84.212", 673 "51.254.84.212",
674 33445, 674 3389,
675 { 675 {
676 0xAE, 0xC2, 0x04, 0xB9, 0xA4, 0x50, 0x14, 0x12, 0xD5, 0xF0, 0xBB, 0x67, 0xD9, 0xC8, 0x1B, 0x5D, 676 0xAE, 0xC2, 0x04, 0xB9, 0xA4, 0x50, 0x14, 0x12, 0xD5, 0xF0, 0xBB, 0x67, 0xD9, 0xC8, 0x1B, 0x5D,
677 0xB3, 0xEE, 0x6A, 0xDA, 0x64, 0x12, 0x2D, 0x32, 0xA3, 0xE9, 0xB0, 0x93, 0xD5, 0x44, 0x32, 0x7D 677 0xB3, 0xEE, 0x6A, 0xDA, 0x64, 0x12, 0x2D, 0x32, 0xA3, 0xE9, 0xB0, 0x93, 0xD5, 0x44, 0x32, 0x7D
@@ -680,7 +680,7 @@ struct bootstrap_node tcp_relays[] = {
680 680
681 { 681 {
682 "51.254.84.212", 682 "51.254.84.212",
683 3389, 683 33445,
684 { 684 {
685 0xAE, 0xC2, 0x04, 0xB9, 0xA4, 0x50, 0x14, 0x12, 0xD5, 0xF0, 0xBB, 0x67, 0xD9, 0xC8, 0x1B, 0x5D, 685 0xAE, 0xC2, 0x04, 0xB9, 0xA4, 0x50, 0x14, 0x12, 0xD5, 0xF0, 0xBB, 0x67, 0xD9, 0xC8, 0x1B, 0x5D,
686 0xB3, 0xEE, 0x6A, 0xDA, 0x64, 0x12, 0x2D, 0x32, 0xA3, 0xE9, 0xB0, 0x93, 0xD5, 0x44, 0x32, 0x7D 686 0xB3, 0xEE, 0x6A, 0xDA, 0x64, 0x12, 0x2D, 0x32, 0xA3, 0xE9, 0xB0, 0x93, 0xD5, 0x44, 0x32, 0x7D
@@ -689,7 +689,7 @@ struct bootstrap_node tcp_relays[] = {
689 689
690 { 690 {
691 "88.99.133.52", 691 "88.99.133.52",
692 3389, 692 33445,
693 { 693 {
694 0x2D, 0x32, 0x0F, 0x97, 0x1E, 0xF2, 0xCA, 0x18, 0x00, 0x44, 0x16, 0xC2, 0xAA, 0xE7, 0xBA, 0x52, 694 0x2D, 0x32, 0x0F, 0x97, 0x1E, 0xF2, 0xCA, 0x18, 0x00, 0x44, 0x16, 0xC2, 0xAA, 0xE7, 0xBA, 0x52,
695 0xBF, 0x79, 0x49, 0xDB, 0x34, 0xEA, 0x8E, 0x2E, 0x21, 0xAF, 0x67, 0xBD, 0x36, 0x7B, 0xE2, 0x11 695 0xBF, 0x79, 0x49, 0xDB, 0x34, 0xEA, 0x8E, 0x2E, 0x21, 0xAF, 0x67, 0xBD, 0x36, 0x7B, 0xE2, 0x11
@@ -698,7 +698,7 @@ struct bootstrap_node tcp_relays[] = {
698 698
699 { 699 {
700 "88.99.133.52", 700 "88.99.133.52",
701 33445, 701 3389,
702 { 702 {
703 0x2D, 0x32, 0x0F, 0x97, 0x1E, 0xF2, 0xCA, 0x18, 0x00, 0x44, 0x16, 0xC2, 0xAA, 0xE7, 0xBA, 0x52, 703 0x2D, 0x32, 0x0F, 0x97, 0x1E, 0xF2, 0xCA, 0x18, 0x00, 0x44, 0x16, 0xC2, 0xAA, 0xE7, 0xBA, 0x52,
704 0xBF, 0x79, 0x49, 0xDB, 0x34, 0xEA, 0x8E, 0x2E, 0x21, 0xAF, 0x67, 0xBD, 0x36, 0x7B, 0xE2, 0x11 704 0xBF, 0x79, 0x49, 0xDB, 0x34, 0xEA, 0x8E, 0x2E, 0x21, 0xAF, 0x67, 0xBD, 0x36, 0x7B, 0xE2, 0x11
@@ -734,7 +734,7 @@ struct bootstrap_node tcp_relays[] = {
734 734
735 { 735 {
736 "174.127.245.27", 736 "174.127.245.27",
737 3389, 737 33445,
738 { 738 {
739 0x1A, 0x56, 0xEA, 0x3E, 0xDF, 0x5D, 0xF4, 0xC0, 0xAE, 0xAB, 0xBF, 0x3C, 0x2E, 0x4E, 0x60, 0x38, 739 0x1A, 0x56, 0xEA, 0x3E, 0xDF, 0x5D, 0xF4, 0xC0, 0xAE, 0xAB, 0xBF, 0x3C, 0x2E, 0x4E, 0x60, 0x38,
740 0x90, 0xF8, 0x7E, 0x98, 0x3C, 0xAC, 0x8A, 0x0D, 0x53, 0x2A, 0x33, 0x5F, 0x2C, 0x6E, 0x3E, 0x1F 740 0x90, 0xF8, 0x7E, 0x98, 0x3C, 0xAC, 0x8A, 0x0D, 0x53, 0x2A, 0x33, 0x5F, 0x2C, 0x6E, 0x3E, 0x1F
@@ -743,7 +743,7 @@ struct bootstrap_node tcp_relays[] = {
743 743
744 { 744 {
745 "174.127.245.27", 745 "174.127.245.27",
746 33445, 746 3389,
747 { 747 {
748 0x1A, 0x56, 0xEA, 0x3E, 0xDF, 0x5D, 0xF4, 0xC0, 0xAE, 0xAB, 0xBF, 0x3C, 0x2E, 0x4E, 0x60, 0x38, 748 0x1A, 0x56, 0xEA, 0x3E, 0xDF, 0x5D, 0xF4, 0xC0, 0xAE, 0xAB, 0xBF, 0x3C, 0x2E, 0x4E, 0x60, 0x38,
749 0x90, 0xF8, 0x7E, 0x98, 0x3C, 0xAC, 0x8A, 0x0D, 0x53, 0x2A, 0x33, 0x5F, 0x2C, 0x6E, 0x3E, 0x1F 749 0x90, 0xF8, 0x7E, 0x98, 0x3C, 0xAC, 0x8A, 0x0D, 0x53, 0x2A, 0x33, 0x5F, 0x2C, 0x6E, 0x3E, 0x1F
@@ -788,7 +788,7 @@ struct bootstrap_node tcp_relays[] = {
788 788
789 { 789 {
790 "163.172.136.118", 790 "163.172.136.118",
791 3389, 791 33445,
792 { 792 {
793 0x2C, 0x28, 0x9F, 0x9F, 0x37, 0xC2, 0x0D, 0x09, 0xDA, 0x83, 0x56, 0x55, 0x88, 0xBF, 0x49, 0x6F, 793 0x2C, 0x28, 0x9F, 0x9F, 0x37, 0xC2, 0x0D, 0x09, 0xDA, 0x83, 0x56, 0x55, 0x88, 0xBF, 0x49, 0x6F,
794 0xAB, 0x37, 0x64, 0x85, 0x3F, 0xA3, 0x81, 0x41, 0x81, 0x7A, 0x72, 0xE3, 0xF1, 0x8A, 0xCA, 0x0B 794 0xAB, 0x37, 0x64, 0x85, 0x3F, 0xA3, 0x81, 0x41, 0x81, 0x7A, 0x72, 0xE3, 0xF1, 0x8A, 0xCA, 0x0B
@@ -797,7 +797,7 @@ struct bootstrap_node tcp_relays[] = {
797 797
798 { 798 {
799 "163.172.136.118", 799 "163.172.136.118",
800 33445, 800 3389,
801 { 801 {
802 0x2C, 0x28, 0x9F, 0x9F, 0x37, 0xC2, 0x0D, 0x09, 0xDA, 0x83, 0x56, 0x55, 0x88, 0xBF, 0x49, 0x6F, 802 0x2C, 0x28, 0x9F, 0x9F, 0x37, 0xC2, 0x0D, 0x09, 0xDA, 0x83, 0x56, 0x55, 0x88, 0xBF, 0x49, 0x6F,
803 0xAB, 0x37, 0x64, 0x85, 0x3F, 0xA3, 0x81, 0x41, 0x81, 0x7A, 0x72, 0xE3, 0xF1, 0x8A, 0xCA, 0x0B 803 0xAB, 0x37, 0x64, 0x85, 0x3F, 0xA3, 0x81, 0x41, 0x81, 0x7A, 0x72, 0xE3, 0xF1, 0x8A, 0xCA, 0x0B
@@ -806,7 +806,7 @@ struct bootstrap_node tcp_relays[] = {
806 806
807 { 807 {
808 "144.76.31.180", 808 "144.76.31.180",
809 3389, 809 33445,
810 { 810 {
811 0x02, 0x80, 0x7C, 0xF4, 0xF8, 0xBB, 0x8F, 0xB3, 0x90, 0xCC, 0x37, 0x94, 0xBD, 0xF1, 0xE8, 0x44, 811 0x02, 0x80, 0x7C, 0xF4, 0xF8, 0xBB, 0x8F, 0xB3, 0x90, 0xCC, 0x37, 0x94, 0xBD, 0xF1, 0xE8, 0x44,
812 0x9E, 0x9A, 0x83, 0x92, 0xC5, 0xD3, 0xF2, 0x20, 0x00, 0x19, 0xDA, 0x9F, 0x1E, 0x81, 0x2E, 0x46 812 0x9E, 0x9A, 0x83, 0x92, 0xC5, 0xD3, 0xF2, 0x20, 0x00, 0x19, 0xDA, 0x9F, 0x1E, 0x81, 0x2E, 0x46
@@ -815,7 +815,7 @@ struct bootstrap_node tcp_relays[] = {
815 815
816 { 816 {
817 "144.76.31.180", 817 "144.76.31.180",
818 33445, 818 3389,
819 { 819 {
820 0x02, 0x80, 0x7C, 0xF4, 0xF8, 0xBB, 0x8F, 0xB3, 0x90, 0xCC, 0x37, 0x94, 0xBD, 0xF1, 0xE8, 0x44, 820 0x02, 0x80, 0x7C, 0xF4, 0xF8, 0xBB, 0x8F, 0xB3, 0x90, 0xCC, 0x37, 0x94, 0xBD, 0xF1, 0xE8, 0x44,
821 0x9E, 0x9A, 0x83, 0x92, 0xC5, 0xD3, 0xF2, 0x20, 0x00, 0x19, 0xDA, 0x9F, 0x1E, 0x81, 0x2E, 0x46 821 0x9E, 0x9A, 0x83, 0x92, 0xC5, 0xD3, 0xF2, 0x20, 0x00, 0x19, 0xDA, 0x9F, 0x1E, 0x81, 0x2E, 0x46
@@ -833,7 +833,7 @@ struct bootstrap_node tcp_relays[] = {
833 833
834 { 834 {
835 "80.87.193.193", 835 "80.87.193.193",
836 33445, 836 3389,
837 { 837 {
838 0xB3, 0x82, 0x55, 0xEE, 0x4B, 0x05, 0x49, 0x24, 0xF6, 0xD7, 0x9A, 0x5E, 0x6E, 0x58, 0x89, 0xEC, 838 0xB3, 0x82, 0x55, 0xEE, 0x4B, 0x05, 0x49, 0x24, 0xF6, 0xD7, 0x9A, 0x5E, 0x6E, 0x58, 0x89, 0xEC,
839 0x94, 0xB6, 0xAD, 0xF6, 0xFE, 0x99, 0x06, 0xF9, 0x7A, 0x3D, 0x01, 0xE3, 0xD0, 0x83, 0x22, 0x3A 839 0x94, 0xB6, 0xAD, 0xF6, 0xFE, 0x99, 0x06, 0xF9, 0x7A, 0x3D, 0x01, 0xE3, 0xD0, 0x83, 0x22, 0x3A
@@ -842,7 +842,7 @@ struct bootstrap_node tcp_relays[] = {
842 842
843 { 843 {
844 "80.87.193.193", 844 "80.87.193.193",
845 3389, 845 33445,
846 { 846 {
847 0xB3, 0x82, 0x55, 0xEE, 0x4B, 0x05, 0x49, 0x24, 0xF6, 0xD7, 0x9A, 0x5E, 0x6E, 0x58, 0x89, 0xEC, 847 0xB3, 0x82, 0x55, 0xEE, 0x4B, 0x05, 0x49, 0x24, 0xF6, 0xD7, 0x9A, 0x5E, 0x6E, 0x58, 0x89, 0xEC,
848 0x94, 0xB6, 0xAD, 0xF6, 0xFE, 0x99, 0x06, 0xF9, 0x7A, 0x3D, 0x01, 0xE3, 0xD0, 0x83, 0x22, 0x3A 848 0x94, 0xB6, 0xAD, 0xF6, 0xFE, 0x99, 0x06, 0xF9, 0x7A, 0x3D, 0x01, 0xE3, 0xD0, 0x83, 0x22, 0x3A
@@ -850,7 +850,7 @@ struct bootstrap_node tcp_relays[] = {
850 }, 850 },
851 851
852 { 852 {
853 "61.230.160.183", 853 "61.230.173.150",
854 33445, 854 33445,
855 { 855 {
856 0x3F, 0x0A, 0x45, 0xA2, 0x68, 0x36, 0x7C, 0x1B, 0xEA, 0x65, 0x2F, 0x25, 0x8C, 0x85, 0xF4, 0xA6, 856 0x3F, 0x0A, 0x45, 0xA2, 0x68, 0x36, 0x7C, 0x1B, 0xEA, 0x65, 0x2F, 0x25, 0x8C, 0x85, 0xF4, 0xA6,
@@ -859,7 +859,7 @@ struct bootstrap_node tcp_relays[] = {
859 }, 859 },
860 860
861 { 861 {
862 "61.230.160.183", 862 "61.230.173.150",
863 3389, 863 3389,
864 { 864 {
865 0x3F, 0x0A, 0x45, 0xA2, 0x68, 0x36, 0x7C, 0x1B, 0xEA, 0x65, 0x2F, 0x25, 0x8C, 0x85, 0xF4, 0xA6, 865 0x3F, 0x0A, 0x45, 0xA2, 0x68, 0x36, 0x7C, 0x1B, 0xEA, 0x65, 0x2F, 0x25, 0x8C, 0x85, 0xF4, 0xA6,
@@ -914,7 +914,7 @@ struct bootstrap_node tcp_relays[] = {
914 914
915 { 915 {
916 "144.217.86.39", 916 "144.217.86.39",
917 3389, 917 33445,
918 { 918 {
919 0x7E, 0x56, 0x68, 0xE0, 0xEE, 0x09, 0xE1, 0x9F, 0x32, 0x0A, 0xD4, 0x79, 0x02, 0x41, 0x93, 0x31, 919 0x7E, 0x56, 0x68, 0xE0, 0xEE, 0x09, 0xE1, 0x9F, 0x32, 0x0A, 0xD4, 0x79, 0x02, 0x41, 0x93, 0x31,
920 0xFF, 0xEE, 0x14, 0x7B, 0xB3, 0x60, 0x67, 0x69, 0xCF, 0xBE, 0x92, 0x1A, 0x2A, 0x2F, 0xD3, 0x4C 920 0xFF, 0xEE, 0x14, 0x7B, 0xB3, 0x60, 0x67, 0x69, 0xCF, 0xBE, 0x92, 0x1A, 0x2A, 0x2F, 0xD3, 0x4C
@@ -923,7 +923,7 @@ struct bootstrap_node tcp_relays[] = {
923 923
924 { 924 {
925 "144.217.86.39", 925 "144.217.86.39",
926 33445, 926 3389,
927 { 927 {
928 0x7E, 0x56, 0x68, 0xE0, 0xEE, 0x09, 0xE1, 0x9F, 0x32, 0x0A, 0xD4, 0x79, 0x02, 0x41, 0x93, 0x31, 928 0x7E, 0x56, 0x68, 0xE0, 0xEE, 0x09, 0xE1, 0x9F, 0x32, 0x0A, 0xD4, 0x79, 0x02, 0x41, 0x93, 0x31,
929 0xFF, 0xEE, 0x14, 0x7B, 0xB3, 0x60, 0x67, 0x69, 0xCF, 0xBE, 0x92, 0x1A, 0x2A, 0x2F, 0xD3, 0x4C 929 0xFF, 0xEE, 0x14, 0x7B, 0xB3, 0x60, 0x67, 0x69, 0xCF, 0xBE, 0x92, 0x1A, 0x2A, 0x2F, 0xD3, 0x4C
@@ -932,7 +932,7 @@ struct bootstrap_node tcp_relays[] = {
932 932
933 { 933 {
934 "185.14.30.213", 934 "185.14.30.213",
935 443, 935 33445,
936 { 936 {
937 0x25, 0x55, 0x76, 0x3C, 0x8C, 0x46, 0x04, 0x95, 0xB1, 0x41, 0x57, 0xD2, 0x34, 0xDD, 0x56, 0xB8, 937 0x25, 0x55, 0x76, 0x3C, 0x8C, 0x46, 0x04, 0x95, 0xB1, 0x41, 0x57, 0xD2, 0x34, 0xDD, 0x56, 0xB8,
938 0x63, 0x00, 0xA2, 0x39, 0x55, 0x54, 0xBC, 0xAE, 0x46, 0x21, 0xAC, 0x34, 0x5B, 0x8C, 0x1B, 0x1B 938 0x63, 0x00, 0xA2, 0x39, 0x55, 0x54, 0xBC, 0xAE, 0x46, 0x21, 0xAC, 0x34, 0x5B, 0x8C, 0x1B, 0x1B
@@ -941,7 +941,7 @@ struct bootstrap_node tcp_relays[] = {
941 941
942 { 942 {
943 "185.14.30.213", 943 "185.14.30.213",
944 33445, 944 443,
945 { 945 {
946 0x25, 0x55, 0x76, 0x3C, 0x8C, 0x46, 0x04, 0x95, 0xB1, 0x41, 0x57, 0xD2, 0x34, 0xDD, 0x56, 0xB8, 946 0x25, 0x55, 0x76, 0x3C, 0x8C, 0x46, 0x04, 0x95, 0xB1, 0x41, 0x57, 0xD2, 0x34, 0xDD, 0x56, 0xB8,
947 0x63, 0x00, 0xA2, 0x39, 0x55, 0x54, 0xBC, 0xAE, 0x46, 0x21, 0xAC, 0x34, 0x5B, 0x8C, 0x1B, 0x1B 947 0x63, 0x00, 0xA2, 0x39, 0x55, 0x54, 0xBC, 0xAE, 0x46, 0x21, 0xAC, 0x34, 0x5B, 0x8C, 0x1B, 0x1B
@@ -958,24 +958,6 @@ struct bootstrap_node tcp_relays[] = {
958 }, 958 },
959 959
960 { 960 {
961 "85.21.144.224",
962 3389,
963 {
964 0x8F, 0x73, 0x8B, 0xBC, 0x8F, 0xA9, 0x39, 0x46, 0x70, 0xBC, 0xAB, 0x14, 0x6C, 0x67, 0xA5, 0x07,
965 0xB9, 0x90, 0x7C, 0x8E, 0x56, 0x4E, 0x28, 0xC2, 0xB5, 0x9B, 0xEB, 0xB2, 0xFF, 0x68, 0x71, 0x1B
966 }
967 },
968
969 {
970 "85.21.144.224",
971 33445,
972 {
973 0x8F, 0x73, 0x8B, 0xBC, 0x8F, 0xA9, 0x39, 0x46, 0x70, 0xBC, 0xAB, 0x14, 0x6C, 0x67, 0xA5, 0x07,
974 0xB9, 0x90, 0x7C, 0x8E, 0x56, 0x4E, 0x28, 0xC2, 0xB5, 0x9B, 0xEB, 0xB2, 0xFF, 0x68, 0x71, 0x1B
975 }
976 },
977
978 {
979 "104.207.131.136", 961 "104.207.131.136",
980 33445, 962 33445,
981 { 963 {
@@ -986,7 +968,7 @@ struct bootstrap_node tcp_relays[] = {
986 968
987 { 969 {
988 "37.187.122.30", 970 "37.187.122.30",
989 33445, 971 3389,
990 { 972 {
991 0xBE, 0xB7, 0x1F, 0x97, 0xED, 0x9C, 0x99, 0xC0, 0x4B, 0x84, 0x89, 0xBB, 0x75, 0x57, 0x9E, 0xB4, 973 0xBE, 0xB7, 0x1F, 0x97, 0xED, 0x9C, 0x99, 0xC0, 0x4B, 0x84, 0x89, 0xBB, 0x75, 0x57, 0x9E, 0xB4,
992 0xDC, 0x6A, 0xB6, 0xF4, 0x41, 0xB6, 0x03, 0xD6, 0x35, 0x33, 0x12, 0x2F, 0x18, 0x58, 0xB5, 0x1D 974 0xDC, 0x6A, 0xB6, 0xF4, 0x41, 0xB6, 0x03, 0xD6, 0x35, 0x33, 0x12, 0x2F, 0x18, 0x58, 0xB5, 0x1D
@@ -995,7 +977,7 @@ struct bootstrap_node tcp_relays[] = {
995 977
996 { 978 {
997 "37.187.122.30", 979 "37.187.122.30",
998 3389, 980 33445,
999 { 981 {
1000 0xBE, 0xB7, 0x1F, 0x97, 0xED, 0x9C, 0x99, 0xC0, 0x4B, 0x84, 0x89, 0xBB, 0x75, 0x57, 0x9E, 0xB4, 982 0xBE, 0xB7, 0x1F, 0x97, 0xED, 0x9C, 0x99, 0xC0, 0x4B, 0x84, 0x89, 0xBB, 0x75, 0x57, 0x9E, 0xB4,
1001 0xDC, 0x6A, 0xB6, 0xF4, 0x41, 0xB6, 0x03, 0xD6, 0x35, 0x33, 0x12, 0x2F, 0x18, 0x58, 0xB5, 0x1D 983 0xDC, 0x6A, 0xB6, 0xF4, 0x41, 0xB6, 0x03, 0xD6, 0x35, 0x33, 0x12, 0x2F, 0x18, 0x58, 0xB5, 0x1D
@@ -1004,7 +986,7 @@ struct bootstrap_node tcp_relays[] = {
1004 986
1005 { 987 {
1006 "136.243.141.187", 988 "136.243.141.187",
1007 33445, 989 443,
1008 { 990 {
1009 0x6E, 0xE1, 0xFA, 0xDE, 0x9F, 0x55, 0xCC, 0x79, 0x38, 0x23, 0x4C, 0xC0, 0x7C, 0x86, 0x40, 0x81, 991 0x6E, 0xE1, 0xFA, 0xDE, 0x9F, 0x55, 0xCC, 0x79, 0x38, 0x23, 0x4C, 0xC0, 0x7C, 0x86, 0x40, 0x81,
1010 0xFC, 0x60, 0x6D, 0x8F, 0xE7, 0xB7, 0x51, 0xED, 0xA2, 0x17, 0xF2, 0x68, 0xF1, 0x07, 0x8A, 0x39 992 0xFC, 0x60, 0x6D, 0x8F, 0xE7, 0xB7, 0x51, 0xED, 0xA2, 0x17, 0xF2, 0x68, 0xF1, 0x07, 0x8A, 0x39
@@ -1013,7 +995,7 @@ struct bootstrap_node tcp_relays[] = {
1013 995
1014 { 996 {
1015 "136.243.141.187", 997 "136.243.141.187",
1016 3389, 998 33445,
1017 { 999 {
1018 0x6E, 0xE1, 0xFA, 0xDE, 0x9F, 0x55, 0xCC, 0x79, 0x38, 0x23, 0x4C, 0xC0, 0x7C, 0x86, 0x40, 0x81, 1000 0x6E, 0xE1, 0xFA, 0xDE, 0x9F, 0x55, 0xCC, 0x79, 0x38, 0x23, 0x4C, 0xC0, 0x7C, 0x86, 0x40, 0x81,
1019 0xFC, 0x60, 0x6D, 0x8F, 0xE7, 0xB7, 0x51, 0xED, 0xA2, 0x17, 0xF2, 0x68, 0xF1, 0x07, 0x8A, 0x39 1001 0xFC, 0x60, 0x6D, 0x8F, 0xE7, 0xB7, 0x51, 0xED, 0xA2, 0x17, 0xF2, 0x68, 0xF1, 0x07, 0x8A, 0x39
@@ -1022,7 +1004,7 @@ struct bootstrap_node tcp_relays[] = {
1022 1004
1023 { 1005 {
1024 "136.243.141.187", 1006 "136.243.141.187",
1025 443, 1007 3389,
1026 { 1008 {
1027 0x6E, 0xE1, 0xFA, 0xDE, 0x9F, 0x55, 0xCC, 0x79, 0x38, 0x23, 0x4C, 0xC0, 0x7C, 0x86, 0x40, 0x81, 1009 0x6E, 0xE1, 0xFA, 0xDE, 0x9F, 0x55, 0xCC, 0x79, 0x38, 0x23, 0x4C, 0xC0, 0x7C, 0x86, 0x40, 0x81,
1028 0xFC, 0x60, 0x6D, 0x8F, 0xE7, 0xB7, 0x51, 0xED, 0xA2, 0x17, 0xF2, 0x68, 0xF1, 0x07, 0x8A, 0x39 1010 0xFC, 0x60, 0x6D, 0x8F, 0xE7, 0xB7, 0x51, 0xED, 0xA2, 0x17, 0xF2, 0x68, 0xF1, 0x07, 0x8A, 0x39
@@ -1039,6 +1021,24 @@ struct bootstrap_node tcp_relays[] = {
1039 }, 1021 },
1040 1022
1041 { 1023 {
1024 "95.215.46.114",
1025 3389,
1026 {
1027 0x58, 0x23, 0xFB, 0x94, 0x7F, 0xF2, 0x4C, 0xF8, 0x3D, 0xDF, 0xAC, 0x3F, 0x3B, 0xAA, 0x18, 0xF9,
1028 0x6E, 0xA2, 0x01, 0x8B, 0x16, 0xCC, 0x08, 0x42, 0x9C, 0xB9, 0x7F, 0xA5, 0x02, 0xF4, 0x0C, 0x23
1029 }
1030 },
1031
1032 {
1033 "95.215.46.114",
1034 33445,
1035 {
1036 0x58, 0x23, 0xFB, 0x94, 0x7F, 0xF2, 0x4C, 0xF8, 0x3D, 0xDF, 0xAC, 0x3F, 0x3B, 0xAA, 0x18, 0xF9,
1037 0x6E, 0xA2, 0x01, 0x8B, 0x16, 0xCC, 0x08, 0x42, 0x9C, 0xB9, 0x7F, 0xA5, 0x02, 0xF4, 0x0C, 0x23
1038 }
1039 },
1040
1041 {
1042 "23.101.75.197", 1042 "23.101.75.197",
1043 33445, 1043 33445,
1044 { 1044 {
@@ -1103,7 +1103,7 @@ struct bootstrap_node tcp_relays[] = {
1103 1103
1104 { 1104 {
1105 "5.79.75.37", 1105 "5.79.75.37",
1106 33445, 1106 3389,
1107 { 1107 {
1108 0xD5, 0x27, 0xE5, 0x84, 0x7F, 0x83, 0x30, 0xD6, 0x28, 0xDA, 0xB1, 0x81, 0x4F, 0x0A, 0x42, 0x2F, 1108 0xD5, 0x27, 0xE5, 0x84, 0x7F, 0x83, 0x30, 0xD6, 0x28, 0xDA, 0xB1, 0x81, 0x4F, 0x0A, 0x42, 0x2F,
1109 0x6D, 0xC9, 0xD0, 0xA3, 0x00, 0xE6, 0xC3, 0x57, 0x63, 0x4E, 0xE2, 0xDA, 0x88, 0xC3, 0x54, 0x63 1109 0x6D, 0xC9, 0xD0, 0xA3, 0x00, 0xE6, 0xC3, 0x57, 0x63, 0x4E, 0xE2, 0xDA, 0x88, 0xC3, 0x54, 0x63
@@ -1112,7 +1112,7 @@ struct bootstrap_node tcp_relays[] = {
1112 1112
1113 { 1113 {
1114 "5.79.75.37", 1114 "5.79.75.37",
1115 3389, 1115 33445,
1116 { 1116 {
1117 0xD5, 0x27, 0xE5, 0x84, 0x7F, 0x83, 0x30, 0xD6, 0x28, 0xDA, 0xB1, 0x81, 0x4F, 0x0A, 0x42, 0x2F, 1117 0xD5, 0x27, 0xE5, 0x84, 0x7F, 0x83, 0x30, 0xD6, 0x28, 0xDA, 0xB1, 0x81, 0x4F, 0x0A, 0x42, 0x2F,
1118 0x6D, 0xC9, 0xD0, 0xA3, 0x00, 0xE6, 0xC3, 0x57, 0x63, 0x4E, 0xE2, 0xDA, 0x88, 0xC3, 0x54, 0x63 1118 0x6D, 0xC9, 0xD0, 0xA3, 0x00, 0xE6, 0xC3, 0x57, 0x63, 0x4E, 0xE2, 0xDA, 0x88, 0xC3, 0x54, 0x63
@@ -1175,7 +1175,7 @@ struct bootstrap_node tcp_relays[] = {
1175 1175
1176 { 1176 {
1177 "46.101.197.175", 1177 "46.101.197.175",
1178 3389, 1178 33445,
1179 { 1179 {
1180 0xCD, 0x13, 0x3B, 0x52, 0x11, 0x59, 0x54, 0x1F, 0xB1, 0xD3, 0x26, 0xDE, 0x98, 0x50, 0xF5, 0xE5, 1180 0xCD, 0x13, 0x3B, 0x52, 0x11, 0x59, 0x54, 0x1F, 0xB1, 0xD3, 0x26, 0xDE, 0x98, 0x50, 0xF5, 0xE5,
1181 0x6A, 0x6C, 0x72, 0x4B, 0x5B, 0x8E, 0x5E, 0xB5, 0xCD, 0x8D, 0x95, 0x04, 0x08, 0xE9, 0x57, 0x07 1181 0x6A, 0x6C, 0x72, 0x4B, 0x5B, 0x8E, 0x5E, 0xB5, 0xCD, 0x8D, 0x95, 0x04, 0x08, 0xE9, 0x57, 0x07
@@ -1184,7 +1184,7 @@ struct bootstrap_node tcp_relays[] = {
1184 1184
1185 { 1185 {
1186 "46.101.197.175", 1186 "46.101.197.175",
1187 33445, 1187 3389,
1188 { 1188 {
1189 0xCD, 0x13, 0x3B, 0x52, 0x11, 0x59, 0x54, 0x1F, 0xB1, 0xD3, 0x26, 0xDE, 0x98, 0x50, 0xF5, 0xE5, 1189 0xCD, 0x13, 0x3B, 0x52, 0x11, 0x59, 0x54, 0x1F, 0xB1, 0xD3, 0x26, 0xDE, 0x98, 0x50, 0xF5, 0xE5,
1190 0x6A, 0x6C, 0x72, 0x4B, 0x5B, 0x8E, 0x5E, 0xB5, 0xCD, 0x8D, 0x95, 0x04, 0x08, 0xE9, 0x57, 0x07 1190 0x6A, 0x6C, 0x72, 0x4B, 0x5B, 0x8E, 0x5E, 0xB5, 0xCD, 0x8D, 0x95, 0x04, 0x08, 0xE9, 0x57, 0x07