基于go语言的内网穿透
一款轻量级、功能强大的内网穿透代理服务器。支持tcp、udp流量转发,支持内网http代理、内网socks5代理,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理,集成多用户模式。
代码仓库地址:https://github.com/ehang-io/nps
文档地址见代码仓库链接
docker-server地址:https://hub.docker.com/r/ffdfgdfg/nps
docker安装
nps的服务端部署
- docker pull ffdfgdfg/nps
- 代码仓库,下载源代码,选择conf文件夹,即默认配置文件夹
服务端配置文件名为:nps.conf
配置文件文档地址:https://ehang-io.github.io/nps/#/server_config
一般修改web访问登录账号和密码以下两个配置
web_password
web_username - 启动:docker run -d --name nps --net=host -v <本机conf目录>:/conf ffdfgdfg/nps
- 请确保为conf文件夹
查看日志docker logs nps
部署完配置内网转发
-
查看配置文件中的登录名和密码,登录server的web页面
-
点击左侧客户端,进入客户端列表,点击新增,新增一个客户端,填写配置信息
a. Basic 认证用户名和Basic 认证密码留空,仅限Socks5、Web、HTTP转发代理加强认证,使用的是TCP方式,所以无所谓。
b. 配置唯一验证秘钥,留空自动生成一个唯一值,唯一
c. 允许客户端通过配置文件连接,是
d. 压缩,否
e. 加密,否 -
在新增的客户端上面点击隧道
-
在点击的隧道列表中,点击新增,填写配置信息
a. 模式:选择TCP隧道
b. 客户端ID:从哪个客户端进入的隧道列表,就是哪个客户端ID,不用修改
c. 备注:按需填写
d. 服务端口:服务器监听的端口,一个请求先请求到服务器监听的端口,然后转发到内网
e. 目标端口:多个,代理到本地可以只填写端口号,只有TCP模式支持负载均衡
下载客户端,启动,请求转发到内网
-
进入GitHub的release发布页面,下载server对应版本的client端
地址:https://github.com/ehang-io/nps/releases -
在server端的web页面,进入客户端列表,点击刚创建的客户端左侧小加号,查看详细信息
复制客户端启动命令
-
运行复制的命令启动
注意Windows中需要将 ./ 改为 .\ 且npc需要改为npx.exe文件。
例如:.\npc.exe -server=154.8.1.11:8021 -vkey=a988111rjekdcw -type=tcp -
在server的web页面,刷新客户端列表,看到客户端连接状态改为在线。已经成功,可以进行代理穿透了