综合 nps 是一款轻量级、高性能且功能强大的内网穿透代理服务器

2024-11-18 17:28:51 +0800 CST views 692

nps 是一款轻量级、高性能且功能强大的内网穿透代理服务器

nps 是一款轻量级、高性能且功能强大的内网穿透代理服务器。目前支持 TCP、UDP 流量转发,几乎支持所有 TCP、UDP 上层协议(例如访问内网网站、本地支付接口调试、SSH 访问、远程桌面,内网 DNS 解析等)。此外,nps 还支持内网 HTTP 代理、内网 SOCKS5 代理、P2P 等,并带有功能强大的 Web 管理端。

之前我们介绍了 frp 这款内网穿透工具,今天我们来谈谈 nps。

nps 的特点

  • 协议支持全面:兼容几乎所有常用协议,例如 TCP、UDP、HTTP(S)、SOCKS5、P2P、HTTP 代理等。
  • 全平台兼容:支持 Linux、Windows、macOS、群辉等,且支持一键安装为系统服务。
  • 控制全面:支持服务端和客户端双向控制。
  • HTTPS 集成:支持将后端代理和 Web 服务转为 HTTPS,并支持多证书。
  • 操作简单:只需简单配置,即可在 Web UI 上完成大部分操作。
  • 信息展示全面:包括流量、系统信息、即时带宽、客户端版本等。
  • 扩展功能强大:提供缓存、压缩、加密、流量限制、带宽限制、端口复用等功能。
  • 域名解析功能强大:支持自定义 Header、404 页面配置、Host 修改、站点保护、URL 路由、泛解析等。
  • 多用户支持:服务端支持多用户及用户注册功能。

应用场景

  • 微信公众号开发、小程序开发:域名代理模式。
  • 通过外网 SSH 连接内网机器:TCP 代理模式。
  • 非内网环境下使用内网 DNS:UDP 代理模式。
  • 使用 HTTP 代理访问内网站点:HTTP 代理模式。
  • 内网穿透 SOCKS5:如同使用内网 VPN 一样访问内网资源或设备。

快速开始

安装 nps

nps 使用 Go 语言开发,可以直接下载二进制文件进行安装。在项目的 releases 页面下载对应系统版本。

nps 可以安装为服务,例如在 Linux 下:

sudo ./nps install

启动非常简单,执行以下命令:

sudo nps start

nps 的默认配置使用了 80、443、8080、8024 端口,其中 80 和 443 端口为域名解析模式的默认端口,8080 为 Web 管理访问端口,8024 为网桥端口(用于客户端与服务器通信)。这些端口需要在防火墙中开放。nps 支持 Linux、macOS、Windows 等多个操作系统。

客户端安装

客户端安装非常简单。首先在客户端主机上下载客户端二进制文件,然后在浏览器中登录 Web 管理后台,创建客户端并点击“+”号,复制启动命令。在客户端主机上执行该命令即可。这是最简单的安装方式。更多精细控制方法请参考官方文档。

常见使用场景

小程序/微信公众号开发

将你的域名 *.domain.com 解析到你的公网服务器。

打开 Web 管理后台,创建客户端,并在域名管理中添加域名规则,例如将 www.domain.com 指向内网服务器 192.168.0.100:80。启动客户端后,你可以通过 www.domain.com 访问内网服务器。

SSH 场景

想通过公网服务器的某个端口访问公司内网服务器,可以使用 nps 设置一个跳转。例如,通过公网服务器 1.1.1.18001 端口连接内网服务器 192.168.0.10022 端口。只需在客户端中添加一条 TCP 隧道,填写监听端口、内网目标和目标端口,然后启动客户端,即可通过 SSH 访问内网服务器。对于 Windows 服务器,类似操作,只需将 22 端口换成 3389

总结

nps 和 frp 都是非常优秀的内网穿透工具。nps 操作更加简单,提供了默认的配置和一个功能丰富的管理后台,适合希望更强大控制功能的用户。而 frp 则更加简洁,适合喜欢手动配置的用户。两者各有所长,用户可根据自身需求选择合适的工具。

查看更多 nps 相关内容,请访问 GitHub 项目主页:nps GitHub

复制全文 生成海报 内网穿透 网络工具 代理服务

推荐文章

JavaScript 上传文件的几种方式
2024-11-18 21:11:59 +0800 CST
利用Python构建语音助手
2024-11-19 04:24:50 +0800 CST
CSS 中的 `scrollbar-width` 属性
2024-11-19 01:32:55 +0800 CST
PHP服务器直传阿里云OSS
2024-11-18 19:04:44 +0800 CST
Git 常用命令详解
2024-11-18 16:57:24 +0800 CST
Vue3中如何处理跨域请求?
2024-11-19 08:43:14 +0800 CST
php使用文件锁解决少量并发问题
2024-11-17 05:07:57 +0800 CST
开发外贸客户的推荐网站
2024-11-17 04:44:05 +0800 CST
Vue3中如何进行错误处理?
2024-11-18 05:17:47 +0800 CST
php 连接mssql数据库
2024-11-17 05:01:41 +0800 CST
Linux查看系统配置常用命令
2024-11-17 18:20:42 +0800 CST
PHP如何进行MySQL数据备份?
2024-11-18 20:40:25 +0800 CST
Go语言SQL操作实战
2024-11-18 19:30:51 +0800 CST
Golang 中你应该知道的 noCopy 策略
2024-11-19 05:40:53 +0800 CST
程序员茄子在线接单