局域网代理神器allproxy

背景

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服务器并不对任何网络访问进行记录,仅是进行简单的网络转发。

待开发完善功能

  1. 身份认证支持一次性动态密码

  2. socks5代理支持udp

  3. android客户端

下载地址

链接: https://pan.baidu.com/s/1QE4bDdWKnnLSS1GphkEmLA

提取码: ifj7

所以这是一个依托于你们服务器的代理程序?

看起来是的

啊,看来有必要写一篇内网穿透以及局域网代理的文章了…又一个坑

很是期待呢

是的, 但后边我把服务端完善后会把服务端程序公开, 届时就可以使用自己服务器了

1赞

期待中, 不过写这个软件之前我做过一些研究, 没找到我所期望类似这个这么简单的, 不然我也就不会再造这个轮子了, 已看过的有frp ngrok … 很期待您的对比呢

尽早公开服务端吧,不仅仅是信任问题,大家共用一个服务器,人数一多稳定性也成问题。
而且服务器不要钱么 :joy:

手头已计划的有十余项修改, 完成后就可以公开服务端了, 时间应该不会太久

:joy: 只要我服务器带宽能够占满 那我绝壁立马发布服务端

conn2.trs.ai:9082 打不开

这是服务器地址,不是用来打开的

只要用的人一多,你这个公网服务器就撑不住吧。你这个软件的功能其实我有想过,好像之前也看过类似的软件。

这个东东拿来卖钱好像是非法的。被抓住可能会被判刑呢。

这个你想多了,市面上内网穿透很多大公司在做的

小白一枚,请问得到代理地址后如何远程访问内网计算机,比如远程桌面

给远程桌面上代理,可以使用 proxifier 或者程序包里自带的 sockscap64 工具

比如我公司电脑运行allproxy并得到代理地址,然后家里电脑使用sockscap64吗?那运行远程桌面的时候ip输入公司内网ip?抱歉,实在是小白,烦请大神明示。

是的,内网IP

请问debian能安装吗?