亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Perl > 正文

Perl實現的Linux下socket代理服務器

2020-06-04 20:32:26
字體:
來源:轉載
供稿:網友

大家提供了許多linux開代理的方法,一般用到python等語言,一些服務器可能不會安裝,然而perl可以說是linux標配的語言,給大家一款Perl語言的socket代理,代碼非常少,而且還支持密碼,效果還是不錯,感覺很穩定。

#!/usr/bin/perl  $auth_enabled = 0; $auth_login = "hidden"; $auth_pass = "hidden"; $port = 44269;  use IO::Socket::INET;  $SIG{'CHLD'} = 'IGNORE'; $bind = IO::Socket::INET->new(Listen=>10, Reuse=>1, LocalPort=>$port) or die "Нельзя забиндить порт $port/n";  while($client = $bind->accept()) { $client->autoflush();  if(fork()){ $client->close(); } else { $bind->close(); new_client($client); exit(); } }  sub new_client { local $t, $i, $buff, $ord, $success; local $client = $_[0]; sysread($client, $buff, 1);  if(ord($buff) == 5) {  sysread($client, $buff, 1);  $t = ord($buff);   unless(sysread($client, $buff, $t) == $t) { return; }   $success = 0;  for($i = 0; $i < $t; $i++) {  $ord = ord(substr($buff, $i, 1));  if($ord == 0 && !$auth_enabled) {   syswrite($client, "/x05/x00", 2);   $success++;   break;  }  elsif($ord == 2 && $auth_enabled) {   unless(do_auth($client)){ return; }   $success++;   break;  }  }   if($success) {  $t = sysread($client, $buff, 3);   if(substr($buff, 0, 1) == '/x05') {   if(ord(substr($buff, 2, 1)) == 0) {   ($host, $raw_host) = socks_get_host($client);   if(!$host) { return; }   ($port, $raw_port) = socks_get_port($client);   if(!$port) { return; }   $ord = ord(substr($buff, 1, 1));   $buff = "/x05/x00/x00".$raw_host.$raw_port;   syswrite($client, $buff, length($buff));   socks_do($ord, $client, $host, $port);   }  }  } else { syswrite($client, "/x05/xFF", 2); }; } $client->close(); }  sub do_auth { local $buff, $login, $pass; local $client = $_[0];  syswrite($client, "/x05/x02", 2); sysread($client, $buff, 1);  if(ord($buff) == 1) {  sysread($client, $buff, 1);  sysread($client, $login, ord($buff));  sysread($client, $buff, 1);  sysread($client, $pass, ord($buff));   if($login eq $auth_login && $pass eq $auth_pass) {  syswrite($client, "/x05/x00", 2);  return 1;  } else { syswrite($client, "/x05/x01", 2); } }  $client->close(); return 0; }  sub socks_get_host { local $client = $_[0]; local $t, $ord, $raw_host; local $host = "";  sysread($client, $t, 1); $ord = ord($t); if($ord == 1) {  sysread($client, $raw_host, 4);  @host = $raw_host =~ /(.)/g;  $host = ord($host[0]).".".ord($host[1]).".".ord($host[2]).".".ord($host[3]); } elsif($ord == 3) {  sysread($client, $raw_host, 1);  sysread($client, $host, ord($raw_host));  $raw_host .= $host; } elsif($ord == 4) {  #ipv6 - not supported }  return ($host, $t.$raw_host); }  sub socks_get_port { local $client = $_[0]; local $raw_port, $port; sysread($client, $raw_port, 2); $port = ord(substr($raw_port, 0, 1)) << 8 | ord(substr($raw_port, 1, 1)); return ($port, $raw_port); }  sub socks_do { local($t, $client, $host, $port) = @_;  if($t == 1) { socks_connect($client, $host, $port); } elsif($t == 2) { socks_bind($client, $host, $port); } elsif($t == 3) { socks_udp_associate($client, $host, $port); } else { return 0; }  return 1; }  sub socks_connect { my($client, $host, $port) = @_; my $target = IO::Socket::INET->new(PeerAddr => $host, PeerPort => $port, Proto => 'tcp', Type => SOCK_STREAM);  unless($target) { return; }  $target->autoflush(); while($client || $target) {  my $rin = "";  vec($rin, fileno($client), 1) = 1 if $client;  vec($rin, fileno($target), 1) = 1 if $target;  my($rout, $eout);  select($rout = $rin, undef, $eout = $rin, 120);  if (!$rout && !$eout) { return; }  my $cbuffer = "";  my $tbuffer = "";   if ($client && (vec($eout, fileno($client), 1) || vec($rout, fileno($client), 1))) {  my $result = sysread($client, $tbuffer, 1024);  if (!defined($result) || !$result) { return; }  }   if ($target && (vec($eout, fileno($target), 1) || vec($rout, fileno($target), 1))) {  my $result = sysread($target, $cbuffer, 1024);  if (!defined($result) || !$result) { return; }  }   if ($fh && $tbuffer) { print $fh $tbuffer; }   while (my $len = length($tbuffer)) {  my $res = syswrite($target, $tbuffer, $len);  if ($res > 0) { $tbuffer = substr($tbuffer, $res); } else { return; }  }   while (my $len = length($cbuffer)) {  my $res = syswrite($client, $cbuffer, $len);  if ($res > 0) { $cbuffer = substr($cbuffer, $res); } else { return; }  } } }  sub socks_bind { my($client, $host, $port) = @_; }  sub socks_udp_associate { my($client, $host, $port) = @_; }            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品视频免费在线| 国产欧美日韩免费看aⅴ视频| 国产精品一二三在线| 欧美精品日韩三级| 久久久久久尹人网香蕉| 国产在线不卡精品| 97av在线影院| 91精品国产自产在线老师啪| 91九色视频导航| 亚洲一区二区中文| 亚洲午夜女主播在线直播| 日韩中文字幕视频在线| 丝袜美腿精品国产二区| 亚洲欧美综合精品久久成人| 久久亚洲精品网站| 日韩美女中文字幕| 日韩欧美一区二区在线| 亚洲欧美在线免费观看| 在线观看欧美www| 欧美亚洲在线视频| 欧美老少做受xxxx高潮| 日韩亚洲欧美中文在线| 久久久精品国产网站| 欧美高清视频在线| 狠狠久久亚洲欧美专区| 国产精品久久在线观看| 精品国产欧美成人夜夜嗨| 国产在线日韩在线| 欧美日韩在线观看视频小说| 日韩av在线电影网| 91高潮精品免费porn| 亚洲欧美色婷婷| 亚洲人成电影网站色| 精品无码久久久久久国产| 久久精品在线视频| 亚洲欧洲高清在线| 国产不卡一区二区在线播放| 欧美激情第6页| 国产成人亚洲综合青青| 91社影院在线观看| 国产美女精彩久久| 亚洲精品美女在线观看播放| y97精品国产97久久久久久| 久久夜色精品国产亚洲aⅴ| 91理论片午午论夜理片久久| 欧美性猛交xxxx黑人| 疯狂做受xxxx欧美肥白少妇| 欧美性猛交xxxxx免费看| 亚洲乱码国产乱码精品精天堂| 亚洲人成网在线播放| 欧美xxxx做受欧美| 日韩禁在线播放| 欧美亚洲成人网| 欧美大尺度激情区在线播放| 亚洲激情自拍图| 亚洲韩国欧洲国产日产av| 国产精品精品久久久久久| 青青青国产精品一区二区| 亚洲综合一区二区不卡| 日韩免费在线免费观看| 久久影视免费观看| 日本国产一区二区三区| 狠狠躁夜夜躁人人爽天天天天97| 国产噜噜噜噜久久久久久久久| 亚洲精品网址在线观看| 久久国产精品电影| 日本精品久久久久久久| 国产亚洲美女久久| 日韩美女av在线| 日韩欧美视频一区二区三区| 中文字幕亚洲在线| 日韩精品视频在线播放| 久久综合五月天| 亚洲成人黄色在线观看| 91po在线观看91精品国产性色| 欧美成人激情在线| 狠狠躁夜夜躁人人爽超碰91| 久久久久久高潮国产精品视| 2021久久精品国产99国产精品| 国产日韩av在线| 亚洲欧美一区二区三区情侣bbw| 亚洲理论在线a中文字幕| 欧美黑人极品猛少妇色xxxxx| 亚洲免费人成在线视频观看| 亚洲成色999久久网站| 亚洲毛片在线观看.| 欧美激情a∨在线视频播放| 国产精品久久久久久久av电影| 亚洲黄色免费三级| 久久久久久久久久婷婷| 亚洲欧美制服中文字幕| 永久免费毛片在线播放不卡| 欧美激情一二区| 精品夜色国产国偷在线| 国色天香2019中文字幕在线观看| 亚洲国产精品热久久| 亚洲国产精品va在线看黑人| 日韩国产精品一区| 国产亚洲精品久久| 国产精品电影在线观看| 国产精品成人久久久久| 国产精品白嫩美女在线观看| 久久精品久久精品亚洲人| 亚洲摸下面视频| 国产精品九九久久久久久久| 亚洲国产小视频在线观看| 97视频免费观看| 国产亚洲精品激情久久| …久久精品99久久香蕉国产| xxxxxxxxx欧美| 日韩中文字幕久久| 国产精品视频男人的天堂| 中文字幕日韩专区| 日韩在线视频二区| 日韩国产高清视频在线| 亚洲自拍小视频免费观看| 欧美日本中文字幕| 午夜精品久久久久久久久久久久久| 亚洲精品久久久久久下一站| 亚洲免费人成在线视频观看| 亚洲а∨天堂久久精品喷水| 狠狠色狠色综合曰曰| 国产精品96久久久久久又黄又硬| 亚洲精品资源在线| 国产在线观看精品一区二区三区| 欧美电影在线观看| 欧美成人激情视频| 欧美大片在线看| 欧美刺激性大交免费视频| 在线观看精品国产视频| 亚洲第一福利网站| 91人成网站www| 伊人男人综合视频网| 国产精品视频自在线| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲欧美国产精品| 日韩av在线精品| 欧美日韩美女在线| 亚洲午夜色婷婷在线| 久久久久久久久国产精品| 欧美黄色免费网站| 亚洲精品成人久久久| 欧美亚洲国产日韩2020| 成人精品一区二区三区电影黑人| 亚洲欧洲日韩国产| 亚洲人成在线观看| 国产suv精品一区二区三区88区| 91sao在线观看国产| 欧美日韩亚洲91| 日韩av在线精品| 成人激情电影一区二区| 性视频1819p久久| 成人精品一区二区三区电影黑人| 欧美人与性动交a欧美精品| 九色成人免费视频| 亚洲第一页自拍| 久久久久久久久久久免费| 亚洲小视频在线| 亚洲第一色在线| 日韩美女写真福利在线观看| 久久亚洲欧美日韩精品专区| 91精品久久久久久综合乱菊| 国产精品国产三级国产专播精品人| 91久热免费在线视频|