mirror of
https://github.com/ehang-io/nps.git
synced 2025-07-04 13:50:42 +00:00
37 lines
650 B
Markdown
37 lines
650 B
Markdown
主干程序模块化编写
|
||
|
||
假设socks5来说
|
||
首先需要定一个一个socks5 struct {
|
||
包含
|
||
客户端地址
|
||
服务端地址
|
||
读到的用户名
|
||
读到的密码
|
||
连接类型(tcp、udp)
|
||
远程地址(ipv4 ipv6)
|
||
远程端口
|
||
}
|
||
|
||
每个模块需要一个获取配置参数的func
|
||
|
||
定义好了之后在每每个模块中对该结=结构体进行操作
|
||
|
||
调用每一个模块的时候,需要如下参数
|
||
ctx上线文
|
||
socks5结构体
|
||
该module的配置
|
||
当前的connection
|
||
预分配的connection
|
||
每个模块根据自己的业务逻辑进行处理
|
||
|
||
|
||
其他技术:
|
||
零拷贝
|
||
事件驱动
|
||
回调
|
||
触发器
|
||
|
||
|
||
插件启动范围
|
||
插件优先级
|