jaxiu He
Home
博客
动态
关于
jaxiu He
Categories
技术 (54)
项目分析 (18)
架构设计 (10)
Ai工具 (8)
教程 (3)
Ai (2)
技术实践 (2)
技术教程 (2)
源码解析 (2)
运维 (2)
Ai应用 (1)
Blog (1)
Devops (1)
前端 (1)
安全 (1)
应用案例 (1)
开发指南 (1)
开源项目 (1)
总结 (1)
效率工具 (1)
智能客服 (1)
生活 (1)
系统设计 (1)
自动化 (1)
Featured Tags
nps (18)
go语言 (16)
ai (14)
deepchat (13)
qwen code (9)
架构设计 (8)
todoing (7)
内网穿透 (6)
开源项目 (6)
electron (5)
docker (4)
开发工具 (4)
教程 (4)
服务端 (4)
git (3)
mongodb (3)
node.js (3)
vue (3)
多平台 (3)
客户端 (3)
Recommend Series
博客优化 (2)
Devtools (1)
Qwen Code实践 (1)
开源项目 (1)
Blogs
62 posts
««
«
17
18
19
20
21
»
»»
NPS 代理实现:SOCKS5 协议深度解析
Jul 18, 2025
5 minutes read
引言 在 NPS 系列文章的前几篇中,我们已经对 NPS 的整体架构、服务端核心以及 TCP 隧道和 HTTP 代理的实现有了初步了解。本篇文章将深入 NPS 的另一个重要代理模式——SOCKS5 代理。我们将通过分析 nps/server/proxy/socks5.go 文件,详细剖析 SOCKS5 协议在 NPS 中的实现细节,包括认证机制、请求处理以及 UDP 转发。 SOCKS5 协议简介 SOCKS5 是一种网络代理协议,它允许客户端通过代理服务器间接访问其他服务器。与 HTTP 代理不同,SOCKS5 是一种更底层的协议,它不关心应用层协议(如 HTTP、FTP),而是直接转发 TCP 或 UDP 数据包。这使得 SOCKS5 代理更加通用,可以用于各种网络应用。 ......
技术
项目分析
NPS
SOCKS5
代理协议
Go语言
网络安全
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语言
流量控制
安全