基于go语言的内网穿透
一款轻量级、功能强大的内网穿透代理服务器。支持tcp、udp流量转发,支持内网http代理、内网socks5代理,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理,集成多用户模式。
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:///ehang-io/nps/releases - 在server端的web页面,进入客户端列表,点击刚创建的客户端左侧小加号,查看详细信息
复制客户端启动命令 - 运行复制的命令启动
注意Windows中需要将 ./ 改为 .\ 且npc需要改为npx.exe文件。
例如:.\npc.exe -server=154.8.1.11:8021 -vkey=a988111rjekdcw -type=tcp - 在server的web页面,刷新客户端列表,看到客户端连接状态改为在线。已经成功,可以进行代理穿透了