From e87c6c9b1c595c34fba6d66e097d7a1efdfd5b24 Mon Sep 17 00:00:00 2001 From: qorg11 Date: Sat, 6 Feb 2021 00:15:41 +0100 Subject: [PATCH] fug --- clainsafecli.c | 139 ------------------------------------------------- 1 file changed, 139 deletions(-) delete mode 100644 clainsafecli.c diff --git a/clainsafecli.c b/clainsafecli.c deleted file mode 100644 index 203a341..0000000 --- a/clainsafecli.c +++ /dev/null @@ -1,139 +0,0 @@ -#include -#include -#include -#include -#include -#include - -size_t static write_data(void *buffer, size_t size, size_t nmemb, - void *userp) -{ - memcpy(userp, buffer, nmemb*size); - return 0; -} - -void -print_usage() -{ - printf("USAGE: clainsafecli [--tor|--i2p] [--server] file\n"); - return; -} - -void -print_help() -{ - printf("--server : specifies the lainsafe server\n%s\n%s\n%s", - "--tor: uses tor", - "--help: print this message\n", - "--i2p: uses i2p HTTP proxy" - ); - return; -} - -int -main(int argc, char **argv) -{ - struct curl_httppost *post = NULL; - struct curl_httppost *last = NULL; - - int tor_flag, i2p_flag; - tor_flag = i2p_flag = 0; - - char *buffer = (char *)calloc(1024,sizeof(char)); - if(buffer == NULL) { - fprintf(stderr,"Error allocating memory!\n"); - } - char server[256] = "https://lainsafe.kalli.st"; - - CURL *easy_handle = curl_easy_init(); - if(!easy_handle) { - fprintf(stderr,"Error initializing libcurl\n"); - return -1; - } - if(argc == optind) { - print_usage(); - return -1; - } - int option_index = 0; - - static struct option long_options[] = { - {"server",required_argument,0,'s'}, - {"help" ,no_argument ,0,'h'}, - {"tor" ,no_argument ,0,'t'}, - {"i2p" ,no_argument ,0,'i'}, - {0 ,0 ,0, 0 } - }; - - int c = 0; - while((c = getopt_long(argc,argv, "htis:", - long_options,&option_index)) != -1) { - switch(c) { - case 's': - strncpy(server,optarg,256); - break; - case 'h': - print_help(); - return 0; - break; - case 't': - tor_flag = 1; - break; - case 'i': - i2p_flag = 1; - break; - case '?': - print_usage(); - return 0; - break; - default: - print_usage(); - return 0; - break; - } - - } - - /* curl options */ - curl_easy_setopt(easy_handle, CURLOPT_WRITEFUNCTION, write_data); - curl_easy_setopt(easy_handle,CURLOPT_WRITEDATA,buffer); - curl_easy_setopt(easy_handle,CURLOPT_URL,server); - - /* Proxy options */ - - if(tor_flag && i2p_flag) { - fprintf(stderr,"Tor and I2P can't be used at once\n"); - return -1; - } else 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); - } else if(i2p_flag) { - curl_easy_setopt(easy_handle,CURLOPT_PROXY,"127.0.0.1:4444"); - curl_easy_setopt(easy_handle,CURLOPT_PROXYTYPE, - CURLPROXY_HTTP); - } - - /* Form parameters */ - - /* File name */ - curl_formadd(&post,&last, - CURLFORM_COPYNAME, "file", - CURLFORM_FILE,argv[optind], - CURLFORM_END); - /* Actual file content */ - curl_formadd(&post,&last, - CURLFORM_COPYNAME, "file", - CURLFORM_COPYCONTENTS,argv[optind], - CURLFORM_END); - - curl_easy_setopt(easy_handle,CURLOPT_HTTPPOST,post); - - curl_easy_perform(easy_handle); - - puts(buffer); - free(buffer); - curl_formfree(post); - curl_easy_cleanup(easy_handle); - - return 0; -}