说明

nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端

  • 一台有公网IP的服务器(VPS)运行服务端(NPS)
  • 一个或多个运行在内网的服务器或者PC运行客户端(NPC)
image-20211123222952980

下载

https://github.com/ehang-io/nps/releases

参考

Document (ehang-io.github.io)

NPS

安装配置

找到自己服务器相应版本的server:

1
2
3
4
cd ~
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz
tar xzvf linux_amd64_server.tar.gz
cd ~/nps

在nps目录下面会有一个nps可执行文件、conf配置目录和web网页目录,我们只需要修改conf/nps.conf即可:

1
vim conf/nps.conf  

需要改一下#web下面的几个参数,

1
2
3
4
web_host= 服务器IP或者域名  
web_username= admin(登录用户名)
web_password= 你的密码
web_port=8080(web管理端口)

修改#bridge 可以更改 NPC的连接端口。比如我们拿到一台权限受限的服务器,有防火墙,可能只有部分端口(80,443)可以出网,就需要修改成出网端口。

1
2
3
4
##bridge  
bridge_type=tcp
bridge_port=8024
bridge_ip=0.0.0.0

安装、启动

1
2
3
4
5
6
7
8
9
10
#对于linux|darwin 
sudo ./nps install
sudo ./nps start

#对于windows,管理员身份运行cmd,进入安装目录
nps.exe install
nps.exe start

#停止、重启、重载
stop restart reload

web管理端

http://ip:8080

  • 添加客户端,每一个连接的vkey都是唯一区分的

  • 每一个客户端,在建立连接后,都可以建立多个不同协议的隧道,每个隧道就是一个代理

  • 在某局域网内,只需要建立一个客户端。在建立隧道时,指定目标主机IP和端口

图片

通过不同的协议和端口就可以连接代理的内网机器

新建好客户端后,也可以在+中看到,详细的客户端连接命令:

图片

NPC

下载合适的客户端,启动

1
./npc -server=你的IP:8024 -vkey=唯一验证密码 -type=tcp

图片