代理linux平台socks5代理(Socks5 proxy for Linux platform)

socks5代理  时间:2021-03-11  阅读:()

linux平台socks5代理Socks5 proxy for Linux platformA few days ago, MSN couldn't get up. I thought the company hadfirewall restrictions. So this time last year wrote a proxyprogram changed to change, use it out. It turned out that MSNwas because of Microsoft' s problems and despised ah. . . . . .Because the writing is more urgent, this only supports TCP agent,UDP I did not write, because MSN can not use. This code can bemodified and distributed at will, but you'd better give me one.This is the head file:

///////////////////////////////////////////////////////////

////////////////////////////////////////////////////

/ / Socks5 proxy header file defines the related data packetstructure

/ / version 0. 1, author Yun Shu

//January 9, 2007 at 1 : 15 in the morning, GF home for 11 days.In January 25, 2008 this year, GF/ changes, always beside me,haha

/ /

/ / reference:

/ / http://www.rfc-editor.org/rfc/rfc1928. txt

/ / http://www.rfc-editor.org/rfc/rfc1929. txt

///////////////////////////////////////////////////////////

////////////////////////////////////////////////////

#ifndef SOCKS5_H

#def ine SOCKS5_H

#def ine VERSION 0x05

#def ine CONNECT 0x01

#def ine IPV4 0x01

#define DOMAIN 0x03

#def ine IPV6 0x04

Typedef struct_method_select_response // negotiation methodof server response

{

Char version; / / server supported versions of Socks, 0x04 or0x05

Char select_method; / / server selection method, 0x00 foranonymous 0x02 password authentication

} METHOD_S ELECT_RES PONSE;

Typedef struct _method_select_request / / server requestconsultation method

{

Char version; / / client support version of 0x04 or 0x05Char number_methods; / / the number of client support methodChar methods[255] ; / / type methods supported by the client,up to 255, 0x00 anonymous 0x02 password authentication} METHOD_S ELECT_REQUES T;

Typedef struct_AUTH_RESPONSE//user password authenticationserver response

{

Char version; / / version, here is 0x01 constant

Char result; / / server authentication results, 0x00 issuccessful, others are failed

} AU TH_RES PON SE;

Typedef struct_AUTH_REQUEST/ /user password authenticationclient request

{

Char version; / / version, here is 0x01 constant

Char name_len; / / the third field name length, a byte, thelength is 0xff

Char name[255] ; / / username

Char pwd_len; / / the fourth field length, a byte, the lengthis 0xff

Char pwd[255] ; / / password

} AUTH_REQUES T;

Typedef struct_SOCKS5_RESPONSE/ / connect host, Socks proxyserver response

{

Char version; / / server supported versions of Socks, 0x04 or0x05

Char reply; //proxy server to connect to host the 0x00 successChar reserved; / / keep constant, 0x00

Char address_type; //Socks proxy server address binding type,IP V4 0x01, IP V6 0x04, the domain name is 0x03

Char address_port[1] ; // if address_type for the domain name,

where the first byte length for the domain name, followed bythe domain name itself, 0 characters at the end, after thedomain name for Socks proxy server port binding

}SOCKS5_RESPONSE;

Typedef struct _SOCKS5_REQUEST / / client request to connectto host

{

Char version;

/ / client support version of Socks, 0x04 or 0x05

Char CMD; //CONNECT cl ient command, 0x01, BIND 0x02, UDP 0x03,is 0x01

Char reserved; / / keep constant, 0x00

Char address_type; / / client requests the real host addresstype, IP V4 0x00, IP V6 0x04, char domain name is 0x03address_port[1] ; // if address_type for the domain name, herethe first byte length of the domain, followed by the domain nameitself, 0 characters at the end, the domain name after the realhost binding port

}SOCKS 5_REQUE ST;

#endif

Here comes the main program:

///////////////////////////////////////////////////////////

////////////////////////////////////////////////////

/ / Socks5 procedures, only support TCP proxy

/ / version 0. 1, author Yun Shu

//January 9, 2007 at 1 : 15 in the morning, GF home for 11 days.In January 25, 2008 this year, GF/ changes, always beside me,haha

/ /

/ / reference:

/ / http://www.rfc-editor.org/rfc/rfc1928. txt

/ / http://www.rfc-editor.org/rfc/rfc1929. txt

/ / compiler:

-o Socks5 -O2 Socks5.c -lpthread / GCC (RedHat AS5)

///////////////////////////////////////////////////////////

////////////////////////////////////////////////////

#include <stdio.h>

#include <netinet/in.h>#include <netdb.h>

#include <sys/time.h>#include <sys/types.h>#include <unistd.h>

#include <stdlib.h>

#include <signal.h>

#include <pthread.h>#include <errno.h>

#include <string.h>

#include <sys/socket.h>#include <arpa/inet.h>#include "Socks5.h""#define MAX_USER 10

#define BUFF_SIZE 1024

#def ine AUTH_CODE 0x02

#def ine TIME_OUT 6000000

#def ine USER_NAME "Yunshu""

#def ine PASS_WORD "ph4nt0m""

Auth method / / Select, return 0 if success, -1 if failedInt SelectMethod (int sock)

{

Char recv_buffer[BUFF_SIZE] = {0} ;

Char reply_buffer[2] = {0} ;

METHOD_SELECT_REQUEST *me tho d_reques t;

METHOD_SELECT_RESPONSE *method_response;

R ecv / / METHOD_SELECT_REQUE ST

Int, RET = recv (sock, recv_buffer, BUFF_SIZE, 0) ;

If (RET 0)

{

PERROR ("recv error") ;

Close (sock) ;

Return -1;

}

//printf (SelectMethod: , recv,%d, bytes\n, RET) ;

If client request a wrong version / or a wrong number_methodMethod_request = (METHOD_SELECT_REQUEST *) recv_buf fer;Method_response = (METHOD_SELECT_RESPONSE *) rep ly_buf fer;Method_response->version = VERSION;

Not Socks5 / / if

If ( (int) method_request->version = = VERSION)

{

Method_response->select_method = 0xff;

Send (sock, method_response, s i zeof (METHOD_SELECT_RESPONSE) ,

0) ;

Close (sock) ;

Return -1;

华纳云不限流量¥324/年,香港双向CN2(GIA)云服务器/1核1G/50G存储/2Mbps

华纳云(HNCloud Limited)是一家专业的全球数据中心基础服务提供商,总部在香港,隶属于香港联合通讯国际有限公司,拥有香港政府颁发的商业登记证明,保证用户的安全性和合规性。 华纳云是APNIC 和 ARIN 会员单位。主要提供香港和美国机房的VPS云服务器和独立服务器。商家支持支付宝、网银、Paypal付款。华纳云主要面向国内用户群,所以线路质量还是不错的,客户使用体验总体反响还是比较好...

瓜云互联:全场9折优惠,香港CN2、洛杉矶GIA高防vps套餐,充值最高返300元

瓜云互联怎么样?瓜云互联之前商家使用的面板为WHMCS,目前商家已经正式更换到了魔方云的面板,瓜云互联商家主要提供中国香港和美国洛杉矶机房的套餐,香港采用CN2线路直连大陆,洛杉矶为高防vps套餐,三网回程CN2 GIA,提供超高的DDOS防御,瓜云互联商家承诺打死退款,目前商家提供了一个全场9折和充值的促销,有需要的朋友可以看看。点击进入:瓜云互联官方网站瓜云互联促销优惠:9折优惠码:联系在线客...

提速啦母鸡 E5 128G 61IP 1200元

提速啦(www.tisula.com)是赣州王成璟网络科技有限公司旗下云服务器品牌,目前拥有在籍员工40人左右,社保在籍员工30人+,是正规的国内拥有IDC ICP ISP CDN 云牌照资质商家,2018-2021年连续4年获得CTG机房顶级金牌代理商荣誉 2021年赣州市于都县创业大赛三等奖,2020年于都电子商务示范企业,2021年于都县电子商务融合推广大使。资源优势介绍:Ceranetwo...

socks5代理为你推荐
空间邮箱QQ邮箱在哪里嘉兴商标注册我想注册个商标怎么注册啊?冯媛甑冯媛甄多大啊?www.kaspersky.com.cn卡巴斯基杀毒软件有免费的吗?稳定版的怎么找?ww.66bobo.com这个www.中国应急救援网.com查询证件是真是假?朴容熙这个网诺红人叫什么猴山条约中国近代史领土被割占去了多少,包括战争中失去的和吞并的总数7po.comvivo手机怎么获得R00twww.yijia.com注册一个公司 请代办注册公司 一般最快多久能拿到营业执照关键词挖掘工具大家目前都在用什么关键词批量挖掘工具
美国加州vps directspace 私人服务器 免费ftp空间 标准机柜尺寸 debian7 网通代理服务器 促正网秒杀 web服务器的架设 新家坡 nerds 免费申请个人网站 卡巴斯基免费试用 上海服务器 域名dns 免费网络空间 广东服务器托管 重庆联通服务器托管 免费的加速器 web服务器 更多