3proxy安装及配置网络代理的流程

来源:互联网 发布:淘宝淘金币大转盘漏洞 编辑:程序博客网 时间:2024/06/06 18:47

3proxy安装及配置网络代理的流程

3proxy的官网在:https://3proxy.ru/ ,3proxy可以用来设置各种协议的代理,比如说http,socks等,关于3proxy的详细介绍可以通过搜索来了解,这里就不说了。

安装

3proxy的代码代管在github上面,地址是:https://github.com/z3APA3A/3proxy
安装步骤如下:

  1. git clone https://github.com/z3APA3A/3proxy.git,直接通过git把代码复制到本地(注意我用的是Linux操作系统centos)。
  2. cd 3proxy,进入3proxy文件夹
  3. make -f Makefile.Linux,编译3proxy,如果你的系统没有gcc,你需求先安装gcc
  4. make -f Makefile.Linux install,安装3proxy

至此,你就可以使用3proxy软件了。
这里有一个小插曲,你使用3proxy指令的时候,想要用-h选项查看帮助,但它提示你:

Please read license agreement in ‘copying’ file.
You may not use this program without accepting license agreement

但我并没有找到哪个地方可以同意它的证书。然而虽然这样,还是不影响我们的使用。

配置

3proxy的配置可以参考官网还有配置案例,有了配置文件后,我们通过3proxy path/to/3proxy.cfg打开3proxy就可以直接使用代理了。
当然,不得吐槽的是,它的文档和配置案例讲得很烂,比如说它在配置的时候可以使用allow * * * *,但我不知道它那4个*分别代表什么,于是去查文档,但我找不到相关的信息。3proxy的作者是一个俄罗斯人,文档里也有俄罗斯版本,也许里面有吧?我在初次配置的时候花了比较多时间。当然,我现在提供一个案例来简单讲一下,会比较容易理解一点。

#!/usr/local/bin/3proxytimeouts 1 5 30 60 180 1800 15 60users awayisblue:CL:awayisblueservicelog /etc/3proxy/3proxy.log Dlogformat "- +_L%t.%.  %N.%p %E %U %C:%c %R:%r %O %I %h %T"rotate 30internal 102.224.164.98auth strongallow awayisblueproxy -a -p1984

这是一个可以用的例子,我们需要关注和修改的地方是:

  • users awayisblue:CL:awayisblue,这是创建用户的地方,你可以通过空格来指定多个用户,比如说:
    users user1:CL:password1 user2:CL:password2,这样,我们就创建了两个用户了。用户名和密码中间的CL是明文密码类型,你也可以指定加密方式,具体可以到官网去查。
  • internal 102.224.164.98这个里面的102.224.164.98是你服务器的ip地址,你把这个ip地址修改你服务器的ip。
  • allow awayisblue,指定允许的用户,用户是前面创建的用户,你也可以以指定ip的方式,具体可以查文档。
  • proxy -a -p1984这个打开了http代理方式,你也可以使用socks打开socks代理。而-a代表匿名代理,-p代表监听的端口。

假设我们把配置文件保存在/root/3proxy/3proxy.cfg当中,我们就可以用以下的方式找开3proxy并应用该配置了:
3proxy /root/3proxy/3proxy.cfg
也可以用
3proxy /root/3proxy/3proxy.cfg &让其直接运行在后台。

客户端连接代理

服务器代理打开后,我们可以使用客户端连接代理。我这里使用node.js的superagent-proxy来演示一下,主要说明了使用http proxy的格式问题。

var request = require('superagent');// extend with Request#proxy()require('superagent-proxy')(request);// HTTP, HTTPS, or SOCKS proxy to usevar proxy = 'http://awayisblue:awayisblue@102.224.164.98:1984';request  .get('https://encrypted.google.com/')  .proxy(proxy)  .end(onresponse);function onresponse (err, res) {  if (err) {    console.log(err);  } else {    console.log(res.status, res.headers);    console.log(res.body);  }}

重点在于前面的var proxy = 'http://awayisblue:awayisblue@102.224.164.98:1984';这一句,通过这种形式的连接,我们就可以使用3proxy的代理了。

更新

关于3proxy的比较好的资料是:
1. http://linux.die.net/man/3/3proxy.cfg
2. https://github.com/z3APA3A/3proxy/wiki

0 0
原创粉丝点击