diff --git a/13.txt b/13.txt new file mode 100755 index 0000000..e3ddede --- /dev/null +++ b/13.txt @@ -0,0 +1,16 @@ +==1384== Memcheck, a memory error detector +==1384== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==1384== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info +==1384== Command: ./CProxy +==1384== Parent PID: 74 +==1384== +==1384== error calling PR_SET_PTRACER, vgdb might block +==1384== +==1384== HEAP SUMMARY: +==1384== in use at exit: 0 bytes in 0 blocks +==1384== total heap usage: 43 allocs, 43 frees, 10,762 bytes allocated +==1384== +==1384== All heap blocks were freed -- no leaks are possible +==1384== +==1384== For lists of detected and suppressed errors, rerun with: -s +==1384== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/CProxy b/CProxy index 2be3d68..0427a96 100755 Binary files a/CProxy and b/CProxy differ diff --git a/CProxy.conf b/CProxy.conf index d19903d..1ae6bff 100755 --- a/CProxy.conf +++ b/CProxy.conf @@ -9,25 +9,24 @@ global { } http { - http_ip="2001:19f0:4401:2f:5400:3ff:fec4:e376"; - http_port=127; + http_ip="47.240.75.93"; + http_port=129; http_del="Host"; http_first="[M] http://[host][U] [V]\r\nHost: [H]\r\n"; - strrep="Windows NT 10.0" -> "Linux"; - strrep="XiaoMi MIX 2S" -> "Linux"; - regrep="Host:*.+?" -> "Host: [host]:80"; - regrep="Host:*.+?" -> "host: [host]:80"; + strrep = "(Windows NT 10.0; Win64; x64)" -> "Android"; + regrep = "Host*.+?" -> "Host: [host]"; } https { https_ip="2001:19f0:4401:2f:5400:3ff:fec4:e376"; - https_port=127; + https_port=129; https_del="Host,host,x-online-host"; https_first="[M] [U] [V]\r\nHost: [host]\r\n"; - strrep = "Windows NT 10.0" -> "Linux1"; - strrep = "XiaoMi MIX 2S" -> "Linux2"; - regrep = "Host*.+?" -> "host: [host]:443"; - regrep = "Host*.+?" -> "Host: [host]:443"; + strrep = "HTTP/1.1" -> "HTTP/1.3"; + strrep = "HTTP/1.3" -> "HTTP/1.1"; + regrep = "host*.+?" -> "Host: [host]"; + regrep = "Host*.+?" -> "host: [host]"; + } httpdns { diff --git a/conf.c b/conf.c index 5085052..075ab00 100755 --- a/conf.c +++ b/conf.c @@ -221,6 +221,7 @@ static void parse_http_module(char *content, conf * p) int val_begin_len; tcp *http_node = NULL; char *p1 = NULL, *s = NULL, *t = NULL; + char *p2 = NULL; while ((lineEnd = set_var_val_lineEnd(content, &var, &val_begin, &val_end)) != NULL) { if (strcasecmp(var, "http_ip") == 0) { @@ -248,10 +249,13 @@ static void parse_http_module(char *content, conf * p) return ; memset(http_node, 0, sizeof(struct tcp)); http_node->strrep = strdup(val_begin); + http_node->strrep_len = val_end - val_begin; p1 = strstr(val_begin, "->"); for (t = p1; *t != '"'; ++t) ; http_node->strrep_t = strdup(t + 1); + p2 = strchr(t+1, '\0'); + http_node->strrep_t_len = p2 - (t + 1); for (s = p1 - 1; *s == ' '; s--) { if (s == val_begin) @@ -261,6 +265,7 @@ static void parse_http_module(char *content, conf * p) s--; http_node->strrep_s = strndup(val_begin, s - val_begin + 1); + http_node->strrep_s_len = s - val_begin + 1; http_node->next = NULL; if (http_head == NULL) { @@ -275,10 +280,13 @@ static void parse_http_module(char *content, conf * p) return ; memset(http_node, 0, sizeof(struct tcp)); http_node->regrep = strdup(val_begin); + http_node->regrep_len = val_end - val_begin; p1 = strstr(val_begin, "->"); for (t = p1; *t != '"'; ++t) ; http_node->regrep_t = strdup(t + 1); + p2 = strchr(t+1, '\0'); + http_node->regrep_t_len = p2 - (t + 1); for (s = p1 - 1; *s == ' '; s--) { if (s == val_begin) @@ -288,6 +296,7 @@ static void parse_http_module(char *content, conf * p) s--; http_node->regrep_s = strndup(val_begin, s - val_begin + 1); + http_node->regrep_s_len = s - val_begin + 1; http_node->next = NULL; if (http_head == NULL) { @@ -308,6 +317,7 @@ static void parse_https_module(char *content, conf * p) int val_begin_len; tcp *https_node = NULL; char *p1 = NULL, *s = NULL, *t = NULL; + char *p2 = NULL; while ((lineEnd = set_var_val_lineEnd(content, &var, &val_begin, &val_end)) != NULL) { if (strcasecmp(var, "https_ip") == 0) { @@ -336,10 +346,13 @@ static void parse_https_module(char *content, conf * p) return ; memset(https_node, 0, sizeof(struct tcp)); https_node->strrep = strdup(val_begin); + https_node->strrep_len = val_end - val_begin; p1 = strstr(val_begin, "->"); for (t = p1; *t != '"'; ++t) ; https_node->strrep_t = strdup(t + 1); + p2 = strchr(t+1, '\0'); + https_node->strrep_t_len = p2 - (t + 1); for (s = p1 - 1; *s == ' '; s--) { if (s == val_begin) @@ -349,13 +362,18 @@ static void parse_https_module(char *content, conf * p) s--; https_node->strrep_s = strndup(val_begin, s - val_begin + 1); + https_node->strrep_s_len = s - val_begin + 1; https_node->next = NULL; + if (https_head == NULL) { https_head = https_node; } else { - https_node->next = https_head; - https_head = https_node; + //https_node->next = https_head; + //https_head = https_node; + + https_node->next = https_head->next; + https_head->next = https_node; } } else if (strcasecmp(var, "regrep") == 0) { https_node = (tcp *) malloc(sizeof(struct tcp)); @@ -363,10 +381,13 @@ static void parse_https_module(char *content, conf * p) return ; memset(https_node, 0, sizeof(struct tcp)); https_node->regrep = strdup(val_begin); + https_node->regrep_len = val_end - val_begin; p1 = strstr(val_begin, "->"); for (t = p1; *t != '"'; ++t) ; https_node->regrep_t = strdup(t + 1); + p2 = strchr(t+1, '\0'); + https_node->regrep_t_len = p2 - (t + 1); for (s = p1 - 1; *s == ' '; s--) { if (s == val_begin) @@ -376,6 +397,7 @@ static void parse_https_module(char *content, conf * p) s--; https_node->regrep_s = strndup(val_begin, s - val_begin + 1); + https_node->regrep_s_len = s - val_begin + 1; https_node->next = NULL; if (https_head == NULL) { @@ -383,6 +405,9 @@ static void parse_https_module(char *content, conf * p) } else { https_node->next = https_head; https_head = https_node; + + //https_node->next = https_head->next; + //https_head->next = https_node; } } @@ -390,56 +415,54 @@ static void parse_https_module(char *content, conf * p) } } -// 打印链表 +// 打印tcp链表 void print_tcp(tcp * p) { tcp *temp = p; while (temp) { if (temp->strrep) - ;//printf("%s\n", temp->strrep); + printf("%s %d\n", temp->strrep, temp->strrep_len); if (temp->strrep_s) - printf("%s\n", temp->strrep_s); + printf("%s %d\n", temp->strrep_s, temp->strrep_s_len); if (temp->strrep_t) - printf("%s\n", temp->strrep_t); + printf("%s %d\n", temp->strrep_t, temp->strrep_t_len); if (temp->regrep) - ;//printf("%s\n", temp->regrep); + printf("%s %d\n", temp->regrep, temp->regrep_len); if (temp->regrep_s) - printf("%s\n", temp->regrep_s); + printf("%s %d\n", temp->regrep_s, temp->regrep_s_len); if (temp->regrep_t) - printf("%s\n", temp->regrep_t); + printf("%s %d\n", temp->regrep_t, temp->regrep_t_len); temp = temp->next; } } -// free链表 -void free_tcp(tcp * p) +// Free tcp 链表 +void free_tcp(tcp **conf_head) { - while (p) { - tcp *temp = p; + tcp *t; + while(*conf_head != NULL) + { + t=*conf_head; + *conf_head=t->next; - if (temp->strrep) - free(temp->strrep); - if (temp->strrep_s) - free(temp->strrep_s); - if (temp->strrep_t) - free(temp->strrep_t); - - if (temp->regrep) - free(temp->regrep); - if (temp->regrep_s) - free(temp->regrep_s); - if (temp->regrep_t) - free(temp->regrep_t); + if (t->strrep) + free(t->strrep); + if (t->strrep_s) + free(t->strrep_s); + if (t->strrep_t) + free(t->strrep_t); - if (temp) - free(temp); - - p = p->next; + if (t->regrep) + free(t->regrep); + if (t->regrep_s) + free(t->regrep_s); + if (t->regrep_t) + free(t->regrep_t); + if (t) + free(t); } - free(p); - } static void parse_httpdns_module(char *content, conf * p) diff --git a/conf.h b/conf.h index 159d7a1..0d3caf9 100755 --- a/conf.h +++ b/conf.h @@ -45,10 +45,14 @@ typedef struct CONF { typedef struct tcp { char *strrep; + int strrep_len; char *strrep_s, *strrep_t; + int strrep_s_len, strrep_t_len; char *regrep; + int regrep_len; char *regrep_s, *regrep_t; + int regrep_s_len, regrep_t_len; struct tcp *next; } tcp; @@ -59,7 +63,8 @@ extern tcp *http_node; extern tcp *https_head; extern tcp *https_node; extern void print_tcp(tcp *p); -extern void free_tcp(tcp *p); +extern void free_tcp(tcp **p); + char *strncpy_(char *dest, const char *src, size_t n); void read_conf(char *file, conf *p); diff --git a/conf.o b/conf.o index 2157646..3435ee9 100755 Binary files a/conf.o and b/conf.o differ diff --git a/help.o b/help.o index 23c3fa0..f8c1b52 100755 Binary files a/help.o and b/help.o differ diff --git a/http_proxy.c b/http_proxy.c index ef4d883..6e68446 100755 --- a/http_proxy.c +++ b/http_proxy.c @@ -336,6 +336,7 @@ void tcp_in(conn_t * in, conf * configure) if (request_type(in->incomplete_data) == HTTP_TYPE) { in->incomplete_data = request_head(in, configure); server->fd = create_connection6(remote_host, remote_port); + if (server->fd < 0) printf("remote->fd ERROR!\n"); fcntl(server->fd, F_SETFL, O_NONBLOCK); diff --git a/http_proxy.o b/http_proxy.o index 62cd8db..a7177be 100755 Binary files a/http_proxy.o and b/http_proxy.o differ diff --git a/http_request.c b/http_request.c index dba632d..526160a 100755 --- a/http_request.c +++ b/http_request.c @@ -212,9 +212,11 @@ int extract_host(char *header, char *host, char *port) } else { char *p = strstr(header, "Host:"); - if (!p) { + char *p0 = strstr(header, "host:"); + if (!p && !p0) { // 都为空的时候返回 -1 return -1; } + char *p1 = strchr(p, '\n'); if (!p1) { return -1; @@ -229,54 +231,55 @@ int extract_host(char *header, char *host, char *port) char *p4 = NULL; if (p3) p4 = strchr(p3 + 1, ':'); + { // IPV6 + if (p4 != NULL) { + char *p5 = NULL; + char *p6 = NULL; + p5 = strchr(header, ' '); + if (p5) + p6 = strchr(p5 + 1, ' '); - if (p4 != NULL) { // IPV6 - char *p5 = NULL; - char *p6 = NULL; - p5 = strchr(header, ' '); - if (p5) - p6 = strchr(p5 + 1, ' '); + char url[p6 - p5 - 1]; + memset(url, 0, p6 - p5 - 1); + strncpy(url, p5 + 1, p6 - p5 - 1); + url[p6 - p5 - 1] = '\0'; - char url[p6 - p5 - 1]; - memset(url, 0, p6 - p5 - 1); - strncpy(url, p5 + 1, p6 - p5 - 1); - url[p6 - p5 - 1] = '\0'; + if (strstr(url, "http") != NULL) { // 去除 'http://' + memcpy(url, url + 7, strlen(url) - 7); + url[strlen(url) - 7] = '\0'; + char *p7 = strchr(url, '/'); + if (p7) // 去除 uri + url[p7 - url] = '\0'; - if (strstr(url, "http") != NULL) { // 去除 'http://' - memcpy(url, url + 7, strlen(url) - 7); - url[strlen(url) - 7] = '\0'; - char *p7 = strchr(url, '/'); - if (p7) // 去除 uri - url[p7 - url] = '\0'; - - char *p8 = strchr(url, ']'); - if (p8) { - strcpy(port, p8 + 2); - strncpy(host, url + 1, strlen(url) - strlen(p8) - 1); - - if (strlen(p8) < 3) { - strcpy(port, "80"); + char *p8 = strchr(url, ']'); + if (p8) { + strcpy(port, p8 + 2); strncpy(host, url + 1, strlen(url) - strlen(p8) - 1); - } - } - return 0; - } else { // HTTP头为不规范的url时处理Host, 主要Proxifier转发url为'/'时 - //printf("s_host: %s\n", s_host); - char *_p1 = strchr(s_host, '['); - char *_p2 = strchr(_p1 + 1, ']'); - if (_p1 && _p2) { - memcpy(host, _p1 + 1, _p2 - _p1 - 1); - if (strlen(_p2) < 3) { - strcpy(port, "80"); - } else { - strcpy(port, _p2 + 2); - } + if (strlen(p8) < 3) { + strcpy(port, "80"); + strncpy(host, url + 1, strlen(url) - strlen(p8) - 1); + } + } + return 0; + } else { // HTTP头为不规范的url时处理Host, 主要Proxifier转发url为'/'时 + //printf("s_host: %s\n", s_host); + char *_p1 = strchr(s_host, '['); + char *_p2 = strchr(_p1 + 1, ']'); + if (_p1 && _p2) { + memcpy(host, _p1 + 1, _p2 - _p1 - 1); + if (strlen(_p2) < 3) { + strcpy(port, "80"); + } else { + strcpy(port, _p2 + 2); + } + + } + return 0; } - return 0; + + return -1; } - - return -1; } if (p2 && p2 < p1) { @@ -492,8 +495,28 @@ void parse_request_head(char *http_request_line, struct http_request *http_reque return; } +char *conf_handle(char *str, int str_len, tcp *p) +{ + + while (p) { + if (p->strrep) { + str = replace(str, &str_len, p->strrep_s, p->strrep_s_len, p->strrep_t, p->strrep_t_len); + } + + if (p->regrep) { + str = regrep(str, &str_len, p->regrep_s, p->regrep_t, p->regrep_t_len); + } + + + p = p->next; + } + + return str; +} + char *request_head(conn_t * in, conf * configure) { + struct http_request *http_request; http_request = (struct http_request *)malloc(sizeof(struct http_request)); memset(http_request, 0, sizeof(struct http_request)); @@ -525,6 +548,7 @@ char *request_head(conn_t * in, conf * configure) delete_head(incomplete_head, result, '\n'); result = strtok(NULL, ","); } + splice_head(incomplete_head, "\n", configure->https_first); incomplete_head_len = strlen(incomplete_head); incomplete_head = replace(incomplete_head, &incomplete_head_len, "\\r", 2, "\r", 1); @@ -544,12 +568,9 @@ char *request_head(conn_t * in, conf * configure) incomplete_head = replace(incomplete_head, &incomplete_head_len, "[host]", 6, http_request->host, http_request->host_len); incomplete_head = replace(incomplete_head, &incomplete_head_len, "[port]", 6, http_request->port, http_request->port_len); incomplete_head = replace(incomplete_head, &incomplete_head_len, "[H]", 3, http_request->H, http_request->H_len); - /* - if (configure->https_strrep) - incomplete_head = replace(incomplete_head, &incomplete_head_len, configure->https_strrep_aim, configure->https_strrep_aim_len, configure->https_strrep_obj, configure->https_strrep_obj_len); - if (configure->https_regrep) - incomplete_head = regrep(incomplete_head, &incomplete_head_len, configure->https_regrep_aim, configure->https_regrep_obj, configure->https_regrep_obj_len); - */ + + incomplete_head = conf_handle(incomplete_head, incomplete_head_len, https_head); + incomplete_head = replace(incomplete_head, &incomplete_head_len, "[H]", 3, http_request->H, http_request->H_len); incomplete_head = replace(incomplete_head, &incomplete_head_len, "[host]", 6, http_request->host, http_request->host_len); incomplete_head = replace(incomplete_head, &incomplete_head_len, "[port]", 6, http_request->port, http_request->port_len); @@ -609,12 +630,9 @@ char *request_head(conn_t * in, conf * configure) incomplete_head = replace(incomplete_head, &incomplete_head_len, "[host]", 6, http_request->host, http_request->host_len); incomplete_head = replace(incomplete_head, &incomplete_head_len, "[port]", 6, http_request->port, http_request->port_len); incomplete_head = replace(incomplete_head, &incomplete_head_len, "[H]", 3, http_request->H, http_request->H_len); - /* - if (configure->http_strrep) - incomplete_head = replace(incomplete_head, &incomplete_head_len, configure->http_strrep_aim, configure->http_strrep_aim_len, configure->http_strrep_obj, configure->http_strrep_obj_len); - if (configure->http_regrep) - incomplete_head = regrep(incomplete_head, &incomplete_head_len, configure->http_regrep_aim, configure->http_regrep_obj, configure->http_regrep_obj_len); - */ + + incomplete_head = conf_handle(incomplete_head, incomplete_head_len, http_head); + incomplete_head = replace(incomplete_head, &incomplete_head_len, "[host]", 6, http_request->host, http_request->host_len); incomplete_head = replace(incomplete_head, &incomplete_head_len, "[port]", 6, http_request->port, http_request->port_len); incomplete_head = replace(incomplete_head, &incomplete_head_len, "[H]", 3, http_request->H, http_request->H_len); diff --git a/http_request.o b/http_request.o index a052786..105c900 100755 Binary files a/http_request.o and b/http_request.o differ diff --git a/httpdns.o b/httpdns.o index d806f08..d7dcb98 100755 Binary files a/httpdns.o and b/httpdns.o differ diff --git a/httpudp.o b/httpudp.o index 2736b8c..73ad8ef 100755 Binary files a/httpudp.o and b/httpudp.o differ diff --git a/libs/arm64-v8a/CProxy b/libs/arm64-v8a/CProxy new file mode 100755 index 0000000..2f4bbb6 Binary files /dev/null and b/libs/arm64-v8a/CProxy differ diff --git a/libs/armeabi-v7a/CProxy b/libs/armeabi-v7a/CProxy new file mode 100755 index 0000000..035ffa3 Binary files /dev/null and b/libs/armeabi-v7a/CProxy differ diff --git a/main.c b/main.c index 5826a85..1a781f9 100755 --- a/main.c +++ b/main.c @@ -456,11 +456,16 @@ void _main(int argc, char *argv[]) memset(configure, 0, sizeof(struct CONF)); read_conf(inifile, configure); +/* print_tcp(https_head); - free_tcp(https_head); - print_tcp(http_head); - free_tcp(http_head); - //exit(0); + free_tcp(&https_head); + //print_tcp(http_head); + free_tcp(&http_head); + free_conf(configure); + free(configure); + exit(0); +*/ + sslEncodeCode = 0; // 默认SSL不转码 if (configure->sslencoding > 0) // 如果配置文件有sslencoding值,优先使用配置文件读取的值 @@ -514,6 +519,8 @@ void _main(int argc, char *argv[]) process = atoi(optarg); break; case 'c': + free_tcp(&https_head); + free_tcp(&http_head); free_conf(configure); memset(configure, 0, sizeof(struct CONF)); read_conf(optarg, configure); @@ -559,7 +566,7 @@ void _main(int argc, char *argv[]) return; } -int main(int argc, char *argv[], char **env) +int main(int argc, char *argv[], char **envp) { _main(argc, argv); return 0; diff --git a/main.o b/main.o index a70c98f..bea02d9 100755 Binary files a/main.o and b/main.o differ diff --git a/obj/local/arm64-v8a/CProxy b/obj/local/arm64-v8a/CProxy new file mode 100755 index 0000000..592d4a3 Binary files /dev/null and b/obj/local/arm64-v8a/CProxy differ diff --git a/obj/local/arm64-v8a/objs/CProxy/conf.o b/obj/local/arm64-v8a/objs/CProxy/conf.o new file mode 100755 index 0000000..735cb80 Binary files /dev/null and b/obj/local/arm64-v8a/objs/CProxy/conf.o differ diff --git a/obj/local/arm64-v8a/objs/CProxy/conf.o.d b/obj/local/arm64-v8a/objs/CProxy/conf.o.d new file mode 100755 index 0000000..edd287a --- /dev/null +++ b/obj/local/arm64-v8a/objs/CProxy/conf.o.d @@ -0,0 +1,3 @@ +./obj/local/arm64-v8a/objs/CProxy/conf.o: conf.c conf.h + +conf.h: diff --git a/obj/local/arm64-v8a/objs/CProxy/help.o b/obj/local/arm64-v8a/objs/CProxy/help.o new file mode 100755 index 0000000..1701183 Binary files /dev/null and b/obj/local/arm64-v8a/objs/CProxy/help.o differ diff --git a/obj/local/arm64-v8a/objs/CProxy/help.o.d b/obj/local/arm64-v8a/objs/CProxy/help.o.d new file mode 100755 index 0000000..a020526 --- /dev/null +++ b/obj/local/arm64-v8a/objs/CProxy/help.o.d @@ -0,0 +1,3 @@ +./obj/local/arm64-v8a/objs/CProxy/help.o: help.c help.h + +help.h: diff --git a/obj/local/arm64-v8a/objs/CProxy/http_proxy.o b/obj/local/arm64-v8a/objs/CProxy/http_proxy.o new file mode 100755 index 0000000..07552f9 Binary files /dev/null and b/obj/local/arm64-v8a/objs/CProxy/http_proxy.o differ diff --git a/obj/local/arm64-v8a/objs/CProxy/http_proxy.o.d b/obj/local/arm64-v8a/objs/CProxy/http_proxy.o.d new file mode 100755 index 0000000..9c32f6c --- /dev/null +++ b/obj/local/arm64-v8a/objs/CProxy/http_proxy.o.d @@ -0,0 +1,8 @@ +./obj/local/arm64-v8a/objs/CProxy/http_proxy.o: http_proxy.c http_proxy.h \ + conf.h main.h + +http_proxy.h: + +conf.h: + +main.h: diff --git a/obj/local/arm64-v8a/objs/CProxy/http_request.o b/obj/local/arm64-v8a/objs/CProxy/http_request.o new file mode 100755 index 0000000..96233e4 Binary files /dev/null and b/obj/local/arm64-v8a/objs/CProxy/http_request.o differ diff --git a/obj/local/arm64-v8a/objs/CProxy/http_request.o.d b/obj/local/arm64-v8a/objs/CProxy/http_request.o.d new file mode 100755 index 0000000..2736e15 --- /dev/null +++ b/obj/local/arm64-v8a/objs/CProxy/http_request.o.d @@ -0,0 +1,10 @@ +./obj/local/arm64-v8a/objs/CProxy/http_request.o: http_request.c \ + http_request.h http_proxy.h conf.h main.h + +http_request.h: + +http_proxy.h: + +conf.h: + +main.h: diff --git a/obj/local/arm64-v8a/objs/CProxy/httpdns.o b/obj/local/arm64-v8a/objs/CProxy/httpdns.o new file mode 100755 index 0000000..1745187 Binary files /dev/null and b/obj/local/arm64-v8a/objs/CProxy/httpdns.o differ diff --git a/obj/local/arm64-v8a/objs/CProxy/httpdns.o.d b/obj/local/arm64-v8a/objs/CProxy/httpdns.o.d new file mode 100755 index 0000000..765fb86 --- /dev/null +++ b/obj/local/arm64-v8a/objs/CProxy/httpdns.o.d @@ -0,0 +1,12 @@ +./obj/local/arm64-v8a/objs/CProxy/httpdns.o: httpdns.c httpdns.h main.h \ + http_request.h http_proxy.h conf.h + +httpdns.h: + +main.h: + +http_request.h: + +http_proxy.h: + +conf.h: diff --git a/obj/local/arm64-v8a/objs/CProxy/httpudp.o b/obj/local/arm64-v8a/objs/CProxy/httpudp.o new file mode 100755 index 0000000..e63bbb3 Binary files /dev/null and b/obj/local/arm64-v8a/objs/CProxy/httpudp.o differ diff --git a/obj/local/arm64-v8a/objs/CProxy/httpudp.o.d b/obj/local/arm64-v8a/objs/CProxy/httpudp.o.d new file mode 100755 index 0000000..be51ef2 --- /dev/null +++ b/obj/local/arm64-v8a/objs/CProxy/httpudp.o.d @@ -0,0 +1,12 @@ +./obj/local/arm64-v8a/objs/CProxy/httpudp.o: httpudp.c http_request.h \ + http_proxy.h conf.h main.h httpudp.h + +http_request.h: + +http_proxy.h: + +conf.h: + +main.h: + +httpudp.h: diff --git a/obj/local/arm64-v8a/objs/CProxy/main.o b/obj/local/arm64-v8a/objs/CProxy/main.o new file mode 100755 index 0000000..6439b63 Binary files /dev/null and b/obj/local/arm64-v8a/objs/CProxy/main.o differ diff --git a/obj/local/arm64-v8a/objs/CProxy/main.o.d b/obj/local/arm64-v8a/objs/CProxy/main.o.d new file mode 100755 index 0000000..47661bf --- /dev/null +++ b/obj/local/arm64-v8a/objs/CProxy/main.o.d @@ -0,0 +1,16 @@ +./obj/local/arm64-v8a/objs/CProxy/main.o: main.c main.h http_proxy.h \ + conf.h http_request.h httpdns.h httpudp.h help.h + +main.h: + +http_proxy.h: + +conf.h: + +http_request.h: + +httpdns.h: + +httpudp.h: + +help.h: diff --git a/obj/local/armeabi-v7a/CProxy b/obj/local/armeabi-v7a/CProxy new file mode 100755 index 0000000..e2a36ec Binary files /dev/null and b/obj/local/armeabi-v7a/CProxy differ diff --git a/obj/local/armeabi-v7a/objs/CProxy/conf.o b/obj/local/armeabi-v7a/objs/CProxy/conf.o new file mode 100755 index 0000000..857a53b Binary files /dev/null and b/obj/local/armeabi-v7a/objs/CProxy/conf.o differ diff --git a/obj/local/armeabi-v7a/objs/CProxy/conf.o.d b/obj/local/armeabi-v7a/objs/CProxy/conf.o.d new file mode 100755 index 0000000..f1f457e --- /dev/null +++ b/obj/local/armeabi-v7a/objs/CProxy/conf.o.d @@ -0,0 +1,3 @@ +./obj/local/armeabi-v7a/objs/CProxy/conf.o: conf.c conf.h + +conf.h: diff --git a/obj/local/armeabi-v7a/objs/CProxy/help.o b/obj/local/armeabi-v7a/objs/CProxy/help.o new file mode 100755 index 0000000..8501a8f Binary files /dev/null and b/obj/local/armeabi-v7a/objs/CProxy/help.o differ diff --git a/obj/local/armeabi-v7a/objs/CProxy/help.o.d b/obj/local/armeabi-v7a/objs/CProxy/help.o.d new file mode 100755 index 0000000..4dbc18d --- /dev/null +++ b/obj/local/armeabi-v7a/objs/CProxy/help.o.d @@ -0,0 +1,3 @@ +./obj/local/armeabi-v7a/objs/CProxy/help.o: help.c help.h + +help.h: diff --git a/obj/local/armeabi-v7a/objs/CProxy/http_proxy.o b/obj/local/armeabi-v7a/objs/CProxy/http_proxy.o new file mode 100755 index 0000000..a6bcd0a Binary files /dev/null and b/obj/local/armeabi-v7a/objs/CProxy/http_proxy.o differ diff --git a/obj/local/armeabi-v7a/objs/CProxy/http_proxy.o.d b/obj/local/armeabi-v7a/objs/CProxy/http_proxy.o.d new file mode 100755 index 0000000..af23238 --- /dev/null +++ b/obj/local/armeabi-v7a/objs/CProxy/http_proxy.o.d @@ -0,0 +1,8 @@ +./obj/local/armeabi-v7a/objs/CProxy/http_proxy.o: http_proxy.c \ + http_proxy.h conf.h main.h + +http_proxy.h: + +conf.h: + +main.h: diff --git a/obj/local/armeabi-v7a/objs/CProxy/http_request.o b/obj/local/armeabi-v7a/objs/CProxy/http_request.o new file mode 100755 index 0000000..fd63663 Binary files /dev/null and b/obj/local/armeabi-v7a/objs/CProxy/http_request.o differ diff --git a/obj/local/armeabi-v7a/objs/CProxy/http_request.o.d b/obj/local/armeabi-v7a/objs/CProxy/http_request.o.d new file mode 100755 index 0000000..9a5f3c6 --- /dev/null +++ b/obj/local/armeabi-v7a/objs/CProxy/http_request.o.d @@ -0,0 +1,10 @@ +./obj/local/armeabi-v7a/objs/CProxy/http_request.o: http_request.c \ + http_request.h http_proxy.h conf.h main.h + +http_request.h: + +http_proxy.h: + +conf.h: + +main.h: diff --git a/obj/local/armeabi-v7a/objs/CProxy/httpdns.o b/obj/local/armeabi-v7a/objs/CProxy/httpdns.o new file mode 100755 index 0000000..c47b9b6 Binary files /dev/null and b/obj/local/armeabi-v7a/objs/CProxy/httpdns.o differ diff --git a/obj/local/armeabi-v7a/objs/CProxy/httpdns.o.d b/obj/local/armeabi-v7a/objs/CProxy/httpdns.o.d new file mode 100755 index 0000000..f39bdbe --- /dev/null +++ b/obj/local/armeabi-v7a/objs/CProxy/httpdns.o.d @@ -0,0 +1,12 @@ +./obj/local/armeabi-v7a/objs/CProxy/httpdns.o: httpdns.c httpdns.h main.h \ + http_request.h http_proxy.h conf.h + +httpdns.h: + +main.h: + +http_request.h: + +http_proxy.h: + +conf.h: diff --git a/obj/local/armeabi-v7a/objs/CProxy/httpudp.o b/obj/local/armeabi-v7a/objs/CProxy/httpudp.o new file mode 100755 index 0000000..45504c9 Binary files /dev/null and b/obj/local/armeabi-v7a/objs/CProxy/httpudp.o differ diff --git a/obj/local/armeabi-v7a/objs/CProxy/httpudp.o.d b/obj/local/armeabi-v7a/objs/CProxy/httpudp.o.d new file mode 100755 index 0000000..6cf9f1b --- /dev/null +++ b/obj/local/armeabi-v7a/objs/CProxy/httpudp.o.d @@ -0,0 +1,12 @@ +./obj/local/armeabi-v7a/objs/CProxy/httpudp.o: httpudp.c http_request.h \ + http_proxy.h conf.h main.h httpudp.h + +http_request.h: + +http_proxy.h: + +conf.h: + +main.h: + +httpudp.h: diff --git a/obj/local/armeabi-v7a/objs/CProxy/main.o b/obj/local/armeabi-v7a/objs/CProxy/main.o new file mode 100755 index 0000000..b87fcc2 Binary files /dev/null and b/obj/local/armeabi-v7a/objs/CProxy/main.o differ diff --git a/obj/local/armeabi-v7a/objs/CProxy/main.o.d b/obj/local/armeabi-v7a/objs/CProxy/main.o.d new file mode 100755 index 0000000..2dccfde --- /dev/null +++ b/obj/local/armeabi-v7a/objs/CProxy/main.o.d @@ -0,0 +1,16 @@ +./obj/local/armeabi-v7a/objs/CProxy/main.o: main.c main.h http_proxy.h \ + conf.h http_request.h httpdns.h httpudp.h help.h + +main.h: + +http_proxy.h: + +conf.h: + +http_request.h: + +httpdns.h: + +httpudp.h: + +help.h: