Add --tor|-t flag to clainsafecli

(or you can use torsocks but well, proxies are good)
This commit is contained in:
qorg11 2021-02-02 14:40:58 +01:00
parent 6aafa6783b
commit 693be32ee3
No known key found for this signature in database
GPG key ID: 343FC20A4ACA62B9

View file

@ -21,7 +21,8 @@ print_usage()
void void
print_help() print_help()
{ {
printf("--server <server>: specifies the lainsafe server\n%s", printf("--server <server>: specifies the lainsafe server\n%s\n%s",
"--tor: uses tor",
"--help: print this message\n"); "--help: print this message\n");
return; return;
} }
@ -32,6 +33,8 @@ main(int argc, char **argv)
struct curl_httppost *post = NULL; struct curl_httppost *post = NULL;
struct curl_httppost *last = NULL; struct curl_httppost *last = NULL;
int tor_flag = 0;
char *buffer = (char *)calloc(1024,sizeof(char)); char *buffer = (char *)calloc(1024,sizeof(char));
char server[256] = "https://lainsafe.kalli.st"; char server[256] = "https://lainsafe.kalli.st";
@ -49,10 +52,12 @@ main(int argc, char **argv)
static struct option long_options[] = { static struct option long_options[] = {
{"server",required_argument,0,'s'}, {"server",required_argument,0,'s'},
{"help" ,no_argument ,0,'h'}, {"help" ,no_argument ,0,'h'},
{"tor" ,no_argument ,0,'t'},
{0 ,0 ,0, 0 } {0 ,0 ,0, 0 }
}; };
int c = 0; int c = 0;
while((c = getopt_long(argc,argv, "hs:",long_options,&option_index)) != -1) { while((c = getopt_long(argc,argv, "hts:",long_options,&option_index)) != -1) {
switch(c) { switch(c) {
case 's': case 's':
strncpy(server,optarg,256); strncpy(server,optarg,256);
@ -61,6 +66,7 @@ main(int argc, char **argv)
print_help(); print_help();
return 0; return 0;
break; break;
case 't': tor_flag = 1; break;
case '?': case '?':
print_usage(); print_usage();
return 0; return 0;
@ -72,11 +78,18 @@ main(int argc, char **argv)
} }
} }
/* curl options */ /* curl options */
curl_easy_setopt(easy_handle, CURLOPT_WRITEFUNCTION, write_data); curl_easy_setopt(easy_handle, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(easy_handle,CURLOPT_WRITEDATA,buffer); curl_easy_setopt(easy_handle,CURLOPT_WRITEDATA,buffer);
curl_easy_setopt(easy_handle,CURLOPT_URL,server); curl_easy_setopt(easy_handle,CURLOPT_URL,server);
if(tor_flag) {
curl_easy_setopt(easy_handle,CURLOPT_PROXY,"127.0.0.1:9050");
curl_easy_setopt(easy_handle,CURLOPT_PROXYTYPE,
CURLPROXY_SOCKS5_HOSTNAME);
}
/* Form parameters */ /* Form parameters */
/* File name */ /* File name */