Documentation
¶
Overview ¶
Package cfg 全局配置集
Index ¶
Constants ¶
View Source
const ( UserID = "" // 本节点的身份ID(群组时用) ServerPort = 7788 // 默认服务端口(TCP) RemotePort = 7788 // 远端目标端口(TCP) UDPListen = 7080 // 本地 NAT 类型探测监听端口 UDPLiving = 7181 // 本地 NAT 生命期探测监听端口 MaxFinders = 10 // 组网节点连接数 PeersHelp = 8 // 上线协助发送条目数 MaxApps = 500 // 每种应用默认的节点连接数上限 ListFindings = 40 // 本类节点候选名单长度 BufferSize = 1024 // 连接读写缓冲区大小 PeerFindRange = 200 // 节点寻找的范围(基于起点) STUNPeerAmount = 5 // 打洞协助连系的节点数 STUNLiving = true // 是否启动 STUN:Live 服务(NAT生命期探测) STUNClient = true // 是否需要NAT层级&生存期探测 )
基本配置常量。
View Source
const ( SomeFindings = 10 // 本类端组网发送条目数 AppServerTCP = 6 // 应用端请求TCP服务器节点数量 STUNTryMax = 4 // 打洞协助单次失败再尝试最大次数 FinderPatrol = time.Minute * 10 // 本类节点连接切换巡查间隔 ShortlistPatrol = time.Minute * 6 // 候选池节点在线巡查间隔 BanExpired = time.Hour * 4 // 恶意节点禁闭期限 ApplierPatrol = time.Minute * 12 // 应用连接池巡查间隔 ApplierExpired = time.Minute * 150 // 应用端在线最长时间(2.5h) Punch2Expired = time.Minute * 30 // 定向打洞目标暂存时长(最大值) Punch2Clean = time.Minute * 60 // 定向打洞目标暂存清理周期 )
开发配置常量 部分值关系到安全,不提供外部可配置。
View Source
const ( Kind = "findings" // 基础类别 AppName = "z" // 本服务实现名 )
本系统(findings:z)
View Source
const ( LogDir = "logs" // 日志根目录(系统缓存根下) LogFile = "findings.log" // 主程序日志 LogPeerFile = "peers.log" // 有效连接节点历史 LogDebugFile = "debug.log" // 调试日志 )
日志文件名
Variables ¶
This section is empty.
Functions ¶
func CreateLoger ¶
CreateLoger 创建一个日志记录器。 实参path为存储路径,如果用户传递一个空串, 则使用相对于应用程序系统缓存目录内的logs子目录。 返回的 os.File 主要用于外部自行关闭操作。 @path 存储路径,可选 @filename 日志文件名 @prefix 日志前缀字符串
Types ¶
type Config ¶
type Config struct { UserID string `json:"user_id,omitempty"` // 本节点的身份ID(群组时用) ServerPort int `json:"server_port,omitempty"` // 本地服务端口 RemotePort int `json:"remote_port,omitempty"` // 远端节点服务端口(7788|443|0|...) UDPListen int `json:"udp_listen,omitempty"` // 本地 NAT 类型探测监听端口 UDPLiving int `json:"udp_living,omitempty"` // 本地 NAT 生命期探测监听端口 LogDir string `json:"log_dir,omitempty"` // 日志根目录 Findings int `json:"findings,omitempty"` // 同时连接的本类节点数 PeersHelp int `json:"peers_help,omitempty"` // 上线帮助发送条目数 ConnApps int `json:"applications,omitempty"` // 可同时连接的应用端数量上限 Shortlist int `json:"shortlist,omitempty"` // 本类节点候选名单长度 BufferSize int `json:"buffer_size,omitempty"` // 连接读写缓冲区大小 PeerFindRange int `json:"peers_range,omitempty"` // 基于起点,节点寻找的范围 STUNPeerAmount int `json:"stun_peer_amount,omitempty"` // 打洞协助连接节点数 STUNLiving bool `json:"stun_living,omitempty"` // 是否启动全局 UDP:STUN 服务 STUNClient bool `json:"stun_client,omitempty"` // 是否需要NAT层级&生存期探测 }
Config 基础配置。 通常来说,直接在公网上的节点应当配置 ServerPort 为标准端口7788或443, 这样方便新上线的节点寻找。 RemotePort 用于新节点初始上线时的暴力发现, 仅在App内置节点已不可用,且也没有其它可连接的节点配置时才需要。
Click to show internal directories.
Click to hide internal directories.