背景
allproxy意为all as proxy,即是说所有设备均可以成为一个网络代理,唯一的要求就是有网络访问权限。
一般的代理软件要求宿主机必须有公网地址,然后才能把网络代理出去,但在实际情况下, 往往我们是没有或者难以直接使用公网地址的。 例如我们家里的宽带网络很难直接使用它的公网IP,再例如一般公司里的网络也只是整个公司共享一个公网IP。那么如果我们在外边想要访问家里的电脑怎么办呢? 在公司外边怎样访问公司里的电脑呢?
一般而言的解决方案是自行部署VPN,这个有一定技术难度, 基本不适合家庭使用, 即使是企业里也需要专业的网络人员或供应商才能安装配置。
为了解决这个问题,我们提出了新的解决方案:allproxy。
技术原理
在安装运行了allproxy客户端后,allproxy会自动与一个公网机器建立网络通道, 之后就可以通过特定的公网地址访问这个网络通道了。
allproxy网络通道里接受到网络数据后,就会使用本地网络访问其它资源。
示例说明
某机器处于192.168.31.X局域网网段,Ip为192.168.31.100, 有网络访问权限。在该机器上运行allproxy后, 得到一个对应的公网地址 X.X.X.X:34567
之后就可以在这个局域网以外使用代理地址X.X.X.X:34567访问局域网里的网络资源了。
例如在校园网里运行allproxy后,就可以在其它地方享受校园网如万方、维普等网络资源了。
代理类型
allproxy(1.3)支持的代理类型包含http和socks5两种,
http代理与socks代理的比较
相较于http代理而言,socks代理工作在更底一层, 不需要知晓具体请求内容, 直接进行转发, 例如ss软件内部就使用了socks5代理技术。
socks5支持TCP、UDP网络协议,支持http,ftp等网络访问协议。
而http代理只支持http/https的网络访问。
虽然看起来socks代理确实比http代理要更好一些, 但其实http代理可以被广大的软件所支持, 而socks代理的支持则稍微差一些, 所以实际上孰优孰劣就还是要根据使用城景了。
简而言之,一般情况下的网页的请求使用http代理就可以了,而如果您需要使用远程桌面访问局域网内的电脑的话就必须使用socks5代理了, 详细见 分分钟访问访问局域网电脑
allproxy的配置
allproxy配置文件为”conf_client.yaml”, 跟allproxy程序在同一个文件夹,配置非常简单,下边是示例配置文件:
#Tunnel服务地址
serverAddr: X.X.X.X:XX
#代理协议
protocols:
- name: http
auth: user2:pwd2,user3:pwd1
- name: socks5
auth: user2:pwd2,user3:pwd1
第一行serverAddr配置的是公网allproxy服务器地址,目前可使用 conn2.trs.ai:9082 , 后期会在http://trs.ai不定期公开其它服务地址。
protocols里配置的是您要开启什么类型代理,例如上边示例配置的是开启了http代理和socks代理,如果你只想开启http代理,最简单的配置是
#Tunnel服务地址
serverAddr: X.X.X.X:XX
#代理协议
protocols:
- name: http
每种协议下边的auth指的是该代理协议的用户名密码,一般仅在需要用户名密码保护自己代理的情况下才使用。
安全性
如上一节所说,目前代理支持标准的用户认证机制,您的代理可以在一定程度上得到保护。
至于代理使用者与allproxy服务器之间的网络信息仍然是按照标准协议走的, 所以如果是明文协议如http的话,理论上说是可以被监听到的, 而https及其它加密协议则可以放心使用。
当然,allproxy服务器并不对任何网络访问进行记录,仅是进行简单的网络转发。
用途
- 在外部访问家庭网络
- 在外部访问公司网络
- 使用自己手机、家庭电脑搭建爬虫代理
- …
待开发完善功能
- 身份认证支持一次性动态密码
- socks5代理支持udp
- android客户端
下载地址
链接: https://pan.baidu.com/s/1QE4bDdWKnnLSS1GphkEmLA
提取码: ifj7