剪藏#剪藏#聪明的小明

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

2026 年 7 月 21 日1 分钟
分享Twitter / XTelegram微博

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

Notion image

NPS内网穿透原理示意图

▲ NPS/NPC架构:公网服务端 + 内网客户端,一条隧道打通内外

一、NPS和NPC是什么?

NPS= 部署在公网服务器上的穿透服务端 NPC= 部署在内网设备上的穿透客户端

一个最小链路:

JAVASCRIPT
公网服务器(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

JAVASCRIPT
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

启动:

JAVASCRIPT
mkdir -p /opt/nps/conf
cd /opt/nps
docker compose up -d

浏览器访问 http://你的公网IP:8080,默认账号密码 admin / 123

Notion image

仪表盘页面

Notion image

⚠️ 首次登录后务必修改密码!

客户端(内网设备)

在NPS面板中「客户端」→「新增」,复制生成的验证密钥(vkey)

Docker方式:

JAVASCRIPT
docker run -d \
  --name npc \
  --restart always \
  --net=host \
  ffdfgdfg/npc:latest \
  -server=你的公网IP:8024 \
  -vkey=上面生成的密钥

Windows方式:

JAVASCRIPT
npc.exe install -server=你的公网IP:8024 -vkey=上面生成的密钥
npc.exe start

Linux方式:

JAVASCRIPT
./npc -server=你的公网IP:8024 -vkey=上面生成的密钥

五、配置穿透规则

NPC上线后,在NPS面板配置规则。

Notion image

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,不是偶然。

觉得有用?点赞、在看、转发,让更多人拥有自己的"任意门"!

原文地址: https://mp.weixin.qq.com/s?__biz=MzcwNzMyMjM1Nw==&mid=2247484890&idx=1&sn=75d7d5d05d31e54dadb7184ac64b2632&chksm=f5941211e2869c6954ee5468f48b55d4772f83091959e2fa45901e7fbcc64276f83ffdceb2bc&mpshare=1&scene=1&srcid=0721yDO2P3tN46lqj9W3fvVt&sharer_shareinfo=4f29dcdbbb7ca4240c612850cd6d49f5&sharer_shareinfo_first=4f29dcdbbb7ca4240c612850cd6d49f5#rd

相关文章