Rui

用frp的sock5/http插件实现方便访问
需求frp的稳定性和功能强大有目共睹,我也是长期使用frp,用来穿透家里的各种服务。frp最基础的服务就是http...
扫描右侧二维码阅读全文
29
2019/04

用frp的sock5/http插件实现方便访问

需求

frp的稳定性和功能强大有目共睹,我也是长期使用frp,用来穿透家里的各种服务。frp最基础的服务就是http/tcp服务穿透,但是我们通常遇见的问题是,这类服务一般都需要利用一个域名来穿透。

那么,我家里的服务实在是太多了,每周都有新增的项目上线,但是每次都要去做穿透,非常麻烦,而且通常一个服务有多个端口,需要多N多个穿透。

frp又很麻烦的不能再服务端操控,每次都要到客户端完成。

一次性操作

那么到底能不能一次操作?能不能直接通过内网ip+端口的形式访问?

当然可以,就是利用frp的http插件和sock5的插件。

在客户端加以下穿透项目:

[http-proxy]
type = tcp
remote_port = 1090
plugin = http_proxy
plugin_http_user = abc
plugin_http_passwd = abc123

[sock5-proxy]
type = tcp
remote_port = 1091
plugin = socks5
plugin_http_user = abc
plugin_http_passwd = abc123

格式的话和正常的frp穿透是一样的,增加了plugin、plugin_http_user 、plugin_http_passwd三个参数。后两个参数是可选的,可以不填,不过为了避免被扫描到滥用,还是填上吧。

HTTP(s)访问

如果需要访问http服务,利用SwitchyOmega插件增加一个http代理
地址填写公网服务器地址,端口填写1090,同时填写用户名和密码。这样http数据是先通过公网服务器转到内网。

chrome_AVaAfjj2Sj.png

如果要同时访问外网,做一个内网ip的正则匹配:
chrome_Qo2k6kW1mx.png

tcp访问

对于tcp访问,比如ssh,需要通过代理,比如xshell增加:
plugin = socks5

socks5是个透明代理,只是透明的传输数据。

XshellCore_okvGspitMA.png
XshellCore_46bcyTj9xk.png

效果

直接访问10.0.0.5访问Esxi
chrome_JiekIrW303.png

不过有很多软件没有设置代理的地方,比如微软的远程桌面就没有,这可能需要sockcap这样的程序来转发,相对比较麻烦一点。

Last modification:May 7th, 2019 at 09:21 am

Leave a Comment