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

首頁 > 編程 > Perl > 正文

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

2020-10-31 15:05:53
字體:
來源:轉載
供稿:網友

大家提供了許多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
日韩精品视频在线观看免费| 性色av香蕉一区二区| 色先锋久久影院av| 国产日韩在线播放| 中文字幕av一区中文字幕天堂| 欧美最猛性xxxx| 亚洲女在线观看| 亚洲精品美女久久久久| 亚洲人成电影网站色…| 欧美视频第一页| 日韩精品在线观看视频| 国产在线精品一区免费香蕉| 裸体女人亚洲精品一区| 国产日韩欧美在线观看| 亚洲欧美另类人妖| 成人免费网视频| 668精品在线视频| 国产精品网址在线| 日本久久久久亚洲中字幕| 欧洲精品久久久| 久久成人亚洲精品| 国产高清在线不卡| 欧美中文在线视频| 精品久久久香蕉免费精品视频| 中文字幕亚洲一区二区三区| 亚洲精品电影网| 日韩福利在线播放| 91精品国产网站| 久久久国产成人精品| 国产一区二区三区网站| 国产精品最新在线观看| 久久影院资源网| 久久天天躁狠狠躁夜夜爽蜜月| 影音先锋欧美精品| 久久久久久久久久亚洲| 成人亚洲欧美一区二区三区| 青青精品视频播放| 91亚洲人电影| 亚洲国产成人久久综合一区| 在线中文字幕日韩| 亚洲男人天堂2019| 日韩中文字幕在线免费观看| 亚洲天堂久久av| 一区二区欧美久久| 久久精品视频一| 欧美日韩国产91| 日韩av在线资源| 欧美日韩不卡合集视频| 久久精品国产成人| 欧美精品福利在线| 色无极亚洲影院| 日韩欧美中文字幕在线播放| 国产精品久久久久久久久久久不卡| 日韩经典中文字幕| 午夜美女久久久久爽久久| 亚洲欧美制服第一页| 91在线精品播放| 亚洲国产欧美精品| 国产人妖伪娘一区91| 亚洲午夜久久久久久久| 中文字幕久精品免费视频| 国产91精品高潮白浆喷水| 日韩在线观看视频免费| 欧美精品在线免费| 国产欧美在线视频| 久久视频在线免费观看| 在线播放国产一区中文字幕剧情欧美| 97高清免费视频| 亚洲免费av片| 成人黄色av网站| 国产精品第一视频| 欧美激情免费看| 亚洲国产高清福利视频| 国产精品视频一区二区高潮| 国产精品99久久99久久久二8| 亚洲少妇中文在线| 日本精品免费观看| 97在线精品国自产拍中文| 一本色道久久综合狠狠躁篇的优点| 国产va免费精品高清在线| 日韩av黄色在线观看| 久久91精品国产| 欧美午夜xxx| 色妞欧美日韩在线| 成人国产精品色哟哟| 中文字幕久热精品在线视频| 日韩成人激情在线| xxxxx91麻豆| 中文字幕精品久久久久| 国产精品私拍pans大尺度在线| 日本高清+成人网在线观看| 精品丝袜一区二区三区| 欧美国产高跟鞋裸体秀xxxhd| 狠狠色狠狠色综合日日小说| 欧美国产日韩在线| 91精品综合视频| 成人在线小视频| 欧美乱大交做爰xxxⅹ性3| 欧美在线国产精品| 日韩免费观看网站| 久久成人av网站| 久久精品国产精品| 日韩暖暖在线视频| 日韩av电影手机在线| 亚洲自拍偷拍视频| 国产精品极品美女在线观看免费| 国产精品欧美风情| 欧美一级电影免费在线观看| 日本国产高清不卡| 亚洲男人天堂视频| 精品国产一区二区三区久久| 成人午夜高潮视频| 欧美日韩久久久久| 日韩精品亚洲元码| 国内免费精品永久在线视频| 日韩精品福利网站| 亚洲免费人成在线视频观看| 欧美一级电影免费在线观看| 91国内产香蕉| 热久久美女精品天天吊色| 久久精品成人欧美大片| 日韩欧美成人区| 亚洲免费高清视频| 亚洲精品免费av| 日韩中文字幕网| 欧美美最猛性xxxxxx| 国产精品视频永久免费播放| 欧美福利小视频| 午夜免费在线观看精品视频| 欧美在线一区二区视频| 欧美激情一级精品国产| 91po在线观看91精品国产性色| 欧美猛少妇色xxxxx| 4444欧美成人kkkk| 91久久精品在线| 91社影院在线观看| 美日韩丰满少妇在线观看| 欧美夫妻性视频| 日韩免费在线观看视频| 91久久久久久久久久久久久| 日韩h在线观看| 国产亚洲视频在线| 日韩精品中文字幕在线播放| 亚洲精品国产精品乱码不99按摩| 国产精品第10页| 懂色av中文一区二区三区天美| 欧美性xxxx极品hd欧美风情| 亚洲国产成人在线播放| 久久中文字幕视频| 美女视频黄免费的亚洲男人天堂| 1769国产精品| 蜜臀久久99精品久久久无需会员| 夜夜躁日日躁狠狠久久88av| 亚洲色图国产精品| 国产精品27p| 国产亚洲人成a一在线v站| 亚洲欧美国产另类| 欧美亚洲激情视频| 中文字幕一区日韩电影| 国产欧美久久一区二区| 欧美一区二区三区图| 久久99精品国产99久久6尤物| 亚洲精品午夜精品| 亚洲黄色www网站|