3proxy使用方法
转自:DRL@fireinice写的教程
************************************************************************************************************************
您从本文可以得到:
1.如何在linux/windows下安装3proxy代理软件,并使用其开设代理
2.调整3proxy代理链,使用多个父代理联合上网
3.使用3proxy开设多个代理
3proxy是一个由俄罗斯人开发的多平台代理软件,支持http/https/ftp/socks4/socks5/socks4a/socks5a等多种代理方式。
之前由dRag0nMa介绍到drl,并由ccpp0兄写过一个简单的教程原文地址:
我是因为要在linux下寻找一款同时支持http和socks的代理软件,由ccpp0兄介绍给我的,从那篇文章里获益良多。跟据自己的需要,阅读软件英文手册并在软件论坛上发帖询问后有了一些新的理解,特发此文
一、安装
在windows下安装:
在windows下安装其实十分简单:
可以下载已经编译好的二进制包,然后解压缩到一个文件中。bin文件夹下即是软件执行文件。
二、配置:
对于windows系统来说要在bin文件夹下新建一个名为3proxy.cfg的文件。所有的配置信息都写在这里。
若为linux系统,则可新建一个3proxy.sh的文件。
我先粗略说明一下我的网络环境及想用3proxy实现哪些功能
我手头上有一个socks代理,我希望大部分网络连接通过这个代理,同时不想进行代理所需的身份验证。同时,我是一个tor用户,但从来没有用过privoxy的其它功能,只用tor来浏览网页,所以希望将tor转换为普通的http代理。
同时,我还需要开设一个代理给寝室中的同学使用。
做下假设:
我的父代理
socks代理为:192.168.0.1:8080,代理类型是socks5,用户名、密码是:usr/pwd
tor代理是:127.0.0.1:9050,代理类型是socks4a
我希望开设的代理:
用户有192.168.1.1和192.168.1.2以及我自己
共开设四个代理接口:
1234端口:这个端口进来的http请求全部转到192.168.0.1
1235端口:这个端口接受socks请求,并全部转到192.168.0.1
1236端口:这个端口希望能建起一个代理链,使用tor为一级代理,192.168.0.1做为二级代理
1237端口:这个端口没有父代理,提供给除我之外的用户使用。
好了,让我们看一下我的cfg文件是如何实现以上要求的(#后为注释):
timeouts 30 30 60 60 180 1800 60 120
log D:/temp/3proxy.log D #注意在linux系统中的路径应改为其它形式。
logformat "L%d %H:%M %N-%p %C:%c %R:%r %O %I %h %T err:%E"
rotate 3
#以上三行设置了记录文件的地址、格式及保存几天的记录
#这部分内容必须放到auth iponly之前,否则不能记录service
#这一行对windows是必须的,将会将3proxy安装为系统服务。
#对linux及非nt系统应替换为 daemon,以保证在后台运行。auth iponly
#只使用ip进行用户印证
allow * 127.0.0.1 *
parent 1000 socks5 192.168.0.1 8080 usr pwd #父代理
proxy -a -p1234 #http代理
socks -a -p1235 #socks代理flush
#使用flush清空服务列表,接下来就可以开设新的服务
allow * 127.0.0.1 *
parent 1000 socks4 127.0.0.1 9050 #tor父代理
parent 1000 socks5 192.168.0.1 8080 usr pwd
#这里实现了一个代理链,这部分原来的简单教程有一点错误。
#所有的请求都将通过tor后通过192.168.0.1,详细的解释可以参看后文
proxy -a -p1236flush
allow * 222.205.4.245,127.0.0.1,10.214.32.121 *
proxy -a -p1237
#这是第四个代理端口,没有父代理
下面就两个问题深入说明一下:
1.tor本身是socks4a的代理,在设置文件中应该表示为socks4+,但由于192.168.0.1不支持域名解析,所以标为socks4,否则会代理链出错
2.代理链是这样的,由权重值(即1000)来分组,每组权重值相加必须为1000,一组即为一层
使用手册中的例子:
parent 1000 socks5 192.168.10.1 1080
parent 1000 connect 192.168.20.1 3128
parent 300 socks4 192.168.30.1 1080
parent 700 socks5 192.168.40.1 1080
以上的代理链共分为三组,分别是第一层:192.168.10.1,第二层:192.168.20.1,第三层:30.1和40.1
当一个请求到达后,第一层和第二层是必须要经过的,在第三层中,有30%的机会通过30.1,70%的机会通过40.1
使用权重的时候注意保证每组权重和为1000
三、运行
在windows具有管理员权限的情况下,运行3proxy.exe --install就可以了,之后将会作为后台服务运行。
在linux下在文件的最前面加入
#!/usr/local/bin/3proxy/3proxy
之后
chmod +x 3proxy.sh,直接运行3proxy.sh就可以开设代理服务了。
3proxy使用方法的更多相关文章
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- 3proxy代理软件文档说明
官方英文原版说明:http://www.3proxy.ru/howtoe.asp 配置文件的简要说明:如果你的英文理解力好,可以试着研究一下他的手册. 以实例说明吧 nscache 65536域名解析 ...
- mapreduce多文件输出的两方法
mapreduce多文件输出的两方法 package duogemap; import java.io.IOException; import org.apache.hadoop.conf ...
- 【.net 深呼吸】细说CodeDom(6):方法参数
本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...
- IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法
直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
- [C#] C# 基础回顾 - 匿名方法
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...
- ArcGIS 10.0紧凑型切片读写方法
首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ...
- [BOT] 一种android中实现“圆角矩形”的方法
内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ...
随机推荐
- 获取自定义data的几种属性
//获取data属性的几种方法 var id = this.getAttribute('data-id'); var id = $(this).attr('data-id'); var id = $( ...
- Spring Data JPA 简单查询--方法定义规则
一.常用规则速查 1 And 并且2 Or 或3 Is,Equals 等于4 Between 两者之间5 LessThan 小于6 LessThanEqual 小于等于7 Gre ...
- MySQL高级知识(十五)——主从复制
前言:本章主要讲解MySQL主从复制的操作步骤.由于环境限制,主机使用Windows环境,从机使用用Linux环境.另外MySQL的版本最好一致,笔者采用的MySQL5.7.22版本,具体安装过程请查 ...
- UVA1646-Edge Case(递推+斐波那契数列)
Problem UVA1646-Edge Case Time Limit: 3000 mSec Problem Description Input For each test case, you ge ...
- 【转】Android动态破解微信本地数据库(EnMicroMsg.db)
最近在公司接了一个任务,需要在几百台手机上安装一个app,目的是获取微信里面的通讯录,并且定时的把他发送到我们的服务器上.当时依次尝试的如下几个方案: 1.通过群控,将好友截图发送到服务端(pytho ...
- ubantu 安装 wget
sudo apt-get update sudo apt-get install wget wget
- Oracle报错ORA-16433非归档丢失redo无法启动的恢复过程
[案例]Oracle报错ORA-16433非归档丢失redo无法启动的恢复过程 转惜纷飞 今天ML的群中女神和travel在纠结一个恢复的问题,11.2.0.3版本,非归档,大概是rm掉current ...
- python中numpy.pad简单填充0用法
# -*- coding: utf-8 -*-"""Created on Sun Apr 28 22:07:02 2019 @author: jiangshan" ...
- Recurrent Neural Network[SRU]
0.背景 对于如机器翻译.语言模型.观点挖掘.问答系统等都依赖于RNN模型,而序列的前后依赖导致RNN并行化较为困难,所以其计算速度远没有CNN那么快.即使不管训练的耗时程度,部署时候只要模型稍微大点 ...
- 关于 js tofixed()保留小数位数问题
保留位数必须是数字 const num = parseFloat ('123456.33').tofixed(2); !!!! 注意 现在的的 num 是 字符串类型, 如果给它加数字的话,就会报错 ...