From 187266426a82307686f44d1625d009ccc70736f2 Mon Sep 17 00:00:00 2001 From: Quentin Date: Sat, 1 Feb 2020 22:14:34 +0100 Subject: [PATCH] rate limit socks 5 connections --- src/donar_client.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/donar_client.c b/src/donar_client.c index 0de2797..4f1f598 100644 --- a/src/donar_client.c +++ b/src/donar_client.c @@ -151,14 +151,16 @@ void donar_client(struct donar_client_ctx* ctx, struct donar_params* dp) { load_onion_services (ctx, dp->onion_file, dp->links); printf("--- Onion services loaded\n"); - for (int i = 0; i < dp->links; i++) { - init_socks5_client(ctx, i); - } - printf("--- TCP Clients Connected\n"); - init_timer(&ctx->evts); printf("--- Inited Timer\n"); + for (int64_t i = 0; i < dp->links; i++) { + int64_t to_wait_sec = 10 + i * 3; + fprintf(stdout, "[%s][donar-client] Triggering socks5 in %ld seconds for port %d\n", current_human_datetime (), to_wait_sec, i+7500); + set_timeout(&ctx->evts, 1000 * to_wait_sec, (void*) i, reinit_socks5); + } + printf("--- TCP Clients Connected\n"); + g_ptr_array_foreach (dp->remote_ports, (void(*)(void*, void*))init_udp_remote, &(ctx->evts)); printf("--- Remote ports are binded locally\n");