jaxiu He
Home
博客
动态
关于
搜索
jaxiu He
Categories
技术 (71)
生活 (36)
孕期指南 (35)
📁
Ai日报 (29)
技术热点 (24)
📁
每日简报 (22)
项目分析 (22)
Ai (19)
📁
原创歌曲 (18)
Ai工具 (11)
架构设计 (10)
编程工具 (8)
小说 (7)
赛博朋克 (7)
教程 (3)
📁
健康指南 (2)
📁
周报 (2)
📁
技术实践 (2)
技术教程 (2)
📁
源码解析 (2)
📁
运维 (2)
📁
Ai应用 (1)
📁
Ai研究 (1)
📁
Devops (1)
📁
具身智能 (1)
📁
前端 (1)
📁
安全 (1)
📁
安全知识 (1)
📁
工具推荐 (1)
📁
应用案例 (1)
📁
开发指南 (1)
开源项目 (1)
📁
总结 (1)
📁
技术分析 (1)
📁
技术解读 (1)
📁
效率工具 (1)
📁
新闻 (1)
📁
新闻聚合 (1)
📁
智能客服 (1)
📁
生活常识 (1)
📁
生活记录 (1)
📁
科普 (1)
系统设计 (1)
📁
自动化 (1)
📁
论文精读 (1)
Featured Tags
🤖 ai (65)
👶 孕期 (55)
📌 健康 (30)
🤖 大模型 (29)
📌 烹饪 (28)
📌 菜谱 (26)
📌 每日简报 (25)
📌 技术热点 (23)
📌 深度解读 (23)
📌 科技新闻 (23)
📌 nps (18)
📌 go语言 (16)
📌 deepchat (13)
📌 qwen code (9)
📌 架构设计 (8)
📌 编程工具 (8)
📌 ai日报 (7)
📌 todoing (7)
📌 小说 (7)
📌 科幻 (7)
Recommend Series
👶 孕期知识 (6)
📚 Devtools (2)
⚡ 博客优化 (2)
📚 Qwen Code实践 (1)
🚀 开源项目 (1)
Blogs
164 posts
««
«
51
52
53
54
55
»
»»
NPS 代理实现:TCP 隧道与 HTTP 代理
Jul 18, 2025
4 minutes read
引言 在上一篇文章中,我们深入探讨了 nps/server/proxy/base.go 中定义的通用代理基础和流量控制机制。本篇文章将聚焦于 NPS 最常用也是最基础的两种代理模式:TCP 隧道和 HTTP 代理。我们将通过分析 nps/server/proxy/tcp.go 文件,揭示这两种模式的具体实现细节。 tcp.go:TCP 隧道与 HTTP 代理的实现 tcp.go 文件主要定义了 TunnelModeServer 结构体,它是实现 TCP 隧道和 HTTP 代理的核心。此外,该文件还包含了 WebServer 结构体,用于启动 NPS 的 Web 管理界面。 TunnelModeServer:通用隧道模式服务器 TunnelModeServer 结构体继承了 BaseServer,并增加了两个特定于隧道模式的字段: type TunnelModeServer struct { BaseServer process process listener net.Listener } BaseServer:继承了 base.go 中定义的通用功能,如流量统计、安全检查等。 process process:这是一个函数类型 type process func(c *conn.Conn, s *TunnelModeServer) error,它定义了如何处理传入的客户端连接。不同的代理模式会传入不同的 process 函数。 listener net.Listener:用于监听传入连接的网络监听器。 NewTunnelModeServer() 函数用于创建并初始化一个 TunnelModeServer 实例。 ......
技术
项目分析
NPS
TCP代理
HTTP代理
Go语言
内网穿透
NPS 代理实现:通用基础与流量控制
Jul 18, 2025
5 minutes read
引言 在 NPS 服务端核心解析中,我们了解了 server.go 如何作为服务端的“大脑”,协调各项任务。本篇文章将深入 NPS 的代理实现细节,从 nps/server/proxy/base.go 文件入手,剖析所有代理服务共用的基础结构、接口定义以及流量控制、安全检查等通用逻辑。理解这些通用组件,有助于我们更好地把握 NPS 多样化代理模式的实现原理。 base.go:代理服务的基石 base.go 文件定义了 NPS 中所有代理服务的基础抽象和通用功能。它确保了不同代理模式(如 TCP、UDP、SOCKS5、HTTP 等)能够遵循统一的接口规范,并共享一些核心的辅助功能。 ......
技术
项目分析
NPS
代理
Go语言
流量控制
安全
NPS 服务端核心解析:架构与流量管理
Jul 18, 2025
6 minutes read
引言 在 NPS 项目概述中,我们对这款强大的内网穿透工具进行了宏观的介绍。本篇文章将深入 NPS 的服务端(Server)核心,从 nps/server/server.go 文件入手,详细剖析其架构设计、任务管理、流量处理以及系统监控等关键功能。理解 server.go 的运作机制,是掌握 NPS 核心原理的基石。 server.go:服务端的"大脑" server.go 文件是 NPS 服务端的启动入口和主要协调者。它负责初始化各项服务、管理客户端连接、调度隧道任务以及收集系统运行状态。 核心组件概览 在 server.go 中,我们可以看到几个关键的全局变量和结构: Bridge *bridge.Bridge:这是服务端与客户端之间通信的核心桥梁。它负责维护客户端连接、处理客户端发送的指令以及转发数据。 RunList sync.Map:一个并发安全的 Map,用于存储当前正在运行的所有隧道(proxy.Service 实例)。通过 sync.Map,NPS 能够高效地管理和访问多个并发的隧道服务。 once sync.Once:用于确保某些初始化操作(如 flowSession)只执行一次。 NPS 服务端核心组件架构可以用下图表示: ......
技术
项目分析
NPS
服务端
架构
流量管理
Go语言