基于go语言的内网穿透

一款轻量级、功能强大的内网穿透代理服务器。支持tcp、udp流量转发,支持内网http代理、内网socks5代理,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理,集成多用户模式。

docker安装

nps的服务端部署
  1. docker pull ffdfgdfg/nps
  2. 代码仓库,下载源代码,选择conf文件夹,即默认配置文件夹
    服务端配置文件名为:nps.conf
    配置文件文档地址:https://ehang-io.github.io/nps/#/server_config
    一般修改web访问登录账号和密码以下两个配置
    web_password
    web_username
  3. 启动:docker run -d --name nps --net=host -v <本机conf目录>:/conf ffdfgdfg/nps
  4. 请确保为conf文件夹
    查看日志docker logs nps

部署完配置内网转发

  1. 查看配置文件中的登录名和密码,登录server的web页面
  2. 点击左侧客户端,进入客户端列表,点击新增,新增一个客户端,填写配置信息
    a. Basic 认证用户名和Basic 认证密码留空,仅限Socks5、Web、HTTP转发代理加强认证,使用的是TCP方式,所以无所谓。
    b. 配置唯一验证秘钥,留空自动生成一个唯一值,唯一
    c. 允许客户端通过配置文件连接,是
    d. 压缩,否
    e. 加密,否
  3. 在新增的客户端上面点击隧道
  4. 在点击的隧道列表中,点击新增,填写配置信息
  5. nas docker 添加参数 docker nps_负载均衡

  6. a. 模式:选择TCP隧道
    b. 客户端ID:从哪个客户端进入的隧道列表,就是哪个客户端ID,不用修改
    c. 备注:按需填写
    d. 服务端口:服务器监听的端口,一个请求先请求到服务器监听的端口,然后转发到内网
    e. 目标端口:多个,代理到本地可以只填写端口号,只有TCP模式支持负载均衡
  7. nas docker 添加参数 docker nps_负载均衡_02

下载客户端,启动,请求转发到内网

  1. 进入GitHub的release发布页面,下载server对应版本的client端
    地址:https:///ehang-io/nps/releases
  2. 在server端的web页面,进入客户端列表,点击刚创建的客户端左侧小加号,查看详细信息
    复制客户端启动命令
  3. nas docker 添加参数 docker nps_负载均衡_03

  4. 运行复制的命令启动
    注意Windows中需要将 ./ 改为 .\ 且npc需要改为npx.exe文件。
    例如:.\npc.exe -server=154.8.1.11:8021 -vkey=a988111rjekdcw -type=tcp
  5. 在server的web页面,刷新客户端列表,看到客户端连接状态改为在线。已经成功,可以进行代理穿透了