还在用FRP?这款带Web界面的内网穿透工具,30K Star更香!

**导语:**家里NAS在外面打不开?公司内网系统出差时连不上?本地开发的项目想给同事看看?你需要的不是VPN,而是一把"任意门"——NPS。Go语言开发、开源免费、自带Web管理面板,GitHub上3.4万Star,从开发者调试到家庭服务器,无处不在。

NPS内网穿透原理示意图
▲ NPS/NPC架构:公网服务端 + 内网客户端,一条隧道打通内外
一、NPS和NPC是什么?
NPS= 部署在公网服务器上的穿透服务端 NPC= 部署在内网设备上的穿透客户端
一个最小链路:
公网服务器(NPS) ←→ 内网设备(NPC) ←→ 内网服务(SSH/网站/NAS...)核心能力:TCP、UDP、HTTP、HTTPS、SOCKS5、P2P全支持,自带Web可视化面板,Windows/Linux/macOS/Android全覆盖。
二、NPS能解决什么痛点?
🏠 远程访问家里NAS
运营商给的IP是内网IP,外面根本访问不了。部署NPS后,通过公网域名直接访问家里的文件。
💻 远程办公 / SSH访问
出差在外登录公司内网Linux服务器,不用开VPN,ssh user@公网IP -p 端口即可。
🔧 本地开发调试
对接第三方支付回调、微信授权等只能访问外网URL的服务,把localhost:8080映射成公网地址。
🖥️ 远程桌面
Windows RDP默认只接受局域网连接,NPS可以直接映射3389端口。
🤖 IoT设备管理
树莓派、智能摄像头等设备需要公网统一管理,NPS的SOCKS5代理和P2P模式很合适。
📤 临时分享项目
给同事演示本地项目,不想部署到线上?开个HTTP隧道,对方打开浏览器就能看到。
三、NPS vs FRP:到底选谁?
这是内网穿透领域最常被问的问题。两者都是Go语言开发的开源工具,但设计哲学不同。
维度 NPS FRP 管理方式 Web可视化面板 ✅ 纯配置文件 上手难度 低,面板点选即可 中等,需编辑配置文件 多用户管理 原生支持 ✅ 需额外配置 流量统计 面板内置 ✅ 需自行实现 资源占用 略高 更低 ✅ 协议支持 TCP/UDP/HTTP/SOCKS5/P2P TCP/UDP/HTTP(S)/STCP/SUDP P2P直连 支持(社区版) 不支持 适用场景 团队协作、多人管理 个人使用、极致性能 维护状态 原版已停更,社区版活跃 持续活跃
怎么选?
-
• 一个人用、追求极致性能→ FRP
-
• 多人协作、需要可视化面板→ NPS
-
• 不确定→ 先试NPS,面板体验确实省心
💡 两者并不冲突,很多高级玩家会组合使用:FRP做高频穿透,NPS做可视化管理。
四、Docker部署教程
服务端(公网服务器)
创建 docker-compose.yml:
version: '3'
services:
nps:
image: ffdfgdfg/nps:latest
container_name: nps
restart: always
volumes:
- ./conf:/conf
- ./client:/client
- ./web_files:/web_files
ports:
- "8080:8080" # Web管理页面
- "8024:8024" # 客户端连接端口
- "80:80" # HTTP穿透
- "443:443" # HTTPS穿透
network_mode: host启动:
mkdir -p /opt/nps/conf
cd /opt/nps
docker compose up -d浏览器访问 http://你的公网IP:8080,默认账号密码 admin / 123。

仪表盘页面

⚠️ 首次登录后务必修改密码!
客户端(内网设备)
在NPS面板中「客户端」→「新增」,复制生成的验证密钥(vkey)。
Docker方式:
docker run -d \
--name npc \
--restart always \
--net=host \
ffdfgdfg/npc:latest \
-server=你的公网IP:8024 \
-vkey=上面生成的密钥Windows方式:
npc.exe install -server=你的公网IP:8024 -vkey=上面生成的密钥
npc.exe startLinux方式:
./npc -server=你的公网IP:8024 -vkey=上面生成的密钥五、配置穿透规则
NPC上线后,在NPS面板配置规则。

HTTP/HTTPS穿透(访问内网网站)
左侧「域名解析」→「新增」:选择客户端、填写内网目标IP:端口、绑定域名即可。
TCP穿透(SSH / 远程桌面)
左侧「隧道管理」→「新增TCP隧道」:指定内网IP、端口,映射到公网端口。
配置完成后:
-
• SSH:
ssh user@公网IP -p 映射端口 -
• 远程桌面:输入
公网IP:映射端口
P2P穿透
NPS社区增强版支持P2P模式,客户端之间直连不经过服务端中转,延迟最低、带宽最大,适合大文件传输和视频通话。
六、安全加固建议
措施 说明 修改默认密码 首次登录必须改 限制管理面板访问 仅允许特定IP访问8080端口 使用HTTPS 启用SSL加密穿透流量 设置流量限制 防止异常流量消耗带宽 不暴露高危端口 数据库等端口不要映射到公网 定期更新 关注社区版安全补丁
七、常见问题
Q:NPS会影响网速吗? 会。所有穿透流量都经过服务端中转,速度取决于服务器带宽和线路质量。
Q:NPS和VPN有什么区别? VPN将整个内网网络桥接到远程;NPS只暴露特定的端口或服务,更轻量精准。
Q:没有云服务器能搭建吗? 服务端必须有公网IP。可以使用云服务器、VPS、有公网IP的家庭宽带,或配合IPv6+DDNS使用。
八、终极评价
优点:
-
• ✅ 开源免费,Go语言单文件部署
-
• ✅ Web管理面板,配置直观
-
• ✅ 多协议支持,跨平台覆盖广
-
• ✅ 多用户、多客户端管理
-
• ✅ P2P直连降低延迟
缺点:
-
• ❌ 原版已停止维护,需用社区增强版
-
• ❌ 流量经服务端中转,受带宽限制
-
• ❌ 暴露端口需谨慎,安全依赖自身配置
九、结语
在互联网的世界里,"内网"和"公网"之间的墙常常让人束手无策。NPS所做的,就是在这面墙上凿开一扇窗。
不需要复杂的VPN配置,不需要昂贵的商业服务,只需要一台有公网IP的服务器和几分钟的配置时间。
3.4万Star,不是偶然。
觉得有用?点赞、在看、转发,让更多人拥有自己的"任意门"!