添加 advertise_dtls_addr

This commit is contained in:
bjdgyc
2024-10-28 18:14:21 +08:00
parent 436b8e3129
commit 5826ebe6eb
5 changed files with 76 additions and 63 deletions

View File

@@ -33,28 +33,29 @@ var (
type ServerConfig struct {
// LinkAddr string `json:"link_addr"`
Conf string `json:"conf"`
Profile string `json:"profile"`
ProfileName string `json:"profile_name"`
ServerAddr string `json:"server_addr"`
ServerDTLSAddr string `json:"server_dtls_addr"`
ServerDTLS bool `json:"server_dtls"`
AdminAddr string `json:"admin_addr"`
ProxyProtocol bool `json:"proxy_protocol"`
DbType string `json:"db_type"`
DbSource string `json:"db_source"`
CertFile string `json:"cert_file"`
CertKey string `json:"cert_key"`
FilesPath string `json:"files_path"`
LogPath string `json:"log_path"`
LogLevel string `json:"log_level"`
HttpServerLog bool `json:"http_server_log"`
Pprof bool `json:"pprof"`
Issuer string `json:"issuer"`
AdminUser string `json:"admin_user"`
AdminPass string `json:"admin_pass"`
AdminOtp string `json:"admin_otp"`
JwtSecret string `json:"jwt_secret"`
Conf string `json:"conf"`
Profile string `json:"profile"`
ProfileName string `json:"profile_name"`
ServerAddr string `json:"server_addr"`
ServerDTLS bool `json:"server_dtls"`
ServerDTLSAddr string `json:"server_dtls_addr"`
AdvertiseDTLSAddr string `json:"advertise_dtls_addr"`
AdminAddr string `json:"admin_addr"`
ProxyProtocol bool `json:"proxy_protocol"`
DbType string `json:"db_type"`
DbSource string `json:"db_source"`
CertFile string `json:"cert_file"`
CertKey string `json:"cert_key"`
FilesPath string `json:"files_path"`
LogPath string `json:"log_path"`
LogLevel string `json:"log_level"`
HttpServerLog bool `json:"http_server_log"`
Pprof bool `json:"pprof"`
Issuer string `json:"issuer"`
AdminUser string `json:"admin_user"`
AdminPass string `json:"admin_pass"`
AdminOtp string `json:"admin_otp"`
JwtSecret string `json:"jwt_secret"`
LinkMode string `json:"link_mode"` // tun tap macvtap ipvtap
Ipv4Master string `json:"ipv4_master"` // eth0
@@ -132,6 +133,10 @@ func initServerCfg() {
Cfg.JwtSecret = jwtSecret
}
if Cfg.AdvertiseDTLSAddr == "" {
Cfg.AdvertiseDTLSAddr = Cfg.ServerDTLSAddr
}
fmt.Printf("ServerCfg: %+v \n", Cfg)
}

View File

@@ -26,6 +26,7 @@ var configs = []config{
{Typ: cfgStr, Name: "server_addr", Usage: "TCP服务监听地址(任意端口)", ValStr: ":443"},
{Typ: cfgBool, Name: "server_dtls", Usage: "开启DTLS", ValBool: false},
{Typ: cfgStr, Name: "server_dtls_addr", Usage: "DTLS监听地址(任意端口)", ValStr: ":443"},
{Typ: cfgStr, Name: "advertise_dtls_addr", Usage: "DTLS对外映射端口(为空则与server_dtls_addr相同)", ValStr: ""},
{Typ: cfgStr, Name: "admin_addr", Usage: "后台服务监听地址", ValStr: ":8800"},
{Typ: cfgBool, Name: "proxy_protocol", Usage: "TCP代理协议", ValBool: false},
{Typ: cfgStr, Name: "db_type", Usage: "数据库类型 [sqlite3 mysql postgres]", ValStr: "sqlite3"},

View File

@@ -44,6 +44,8 @@ server_addr = ":443"
server_dtls = false
#UDP监听地址(任意端口)
server_dtls_addr = ":443"
#DTLS对外映射端口(为空则与server_dtls_addr相同)
advertise_dtls_addr = ""
#后台服务监听地址
admin_addr = ":8800"
#开启tcp proxy protocol协议

View File

@@ -87,8 +87,8 @@ func LinkTunnel(w http.ResponseWriter, r *http.Request) {
cSess.CstpDpd = cstpDpd
dtlsPort := "443"
if strings.Contains(base.Cfg.ServerDTLSAddr, ":") {
ss := strings.Split(base.Cfg.ServerDTLSAddr, ":")
if strings.Contains(base.Cfg.AdvertiseDTLSAddr, ":") {
ss := strings.Split(base.Cfg.AdvertiseDTLSAddr, ":")
dtlsPort = ss[1]
}