Skip to content

Commit 1f70646

Browse files
feat: Add enable UDP option for TCP/UDP website configuration (#11543)
1 parent c90ed9e commit 1f70646

File tree

17 files changed

+41
-4
lines changed

17 files changed

+41
-4
lines changed

โ€Žagent/app/dto/request/website.goโ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ type StreamConfig struct {
4545
StreamPorts string `json:"streamPorts"`
4646
Name string `json:"name"`
4747
Algorithm string `json:"algorithm"`
48+
UDP bool `json:"udp"`
4849

4950
Servers []dto.NginxUpstreamServer `json:"servers"`
5051
}

โ€Žagent/app/dto/response/website.goโ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ type WebsiteDTO struct {
1818
SiteDir string `json:"siteDir"`
1919
OpenBaseDir bool `json:"openBaseDir"`
2020
Algorithm string `json:"algorithm"`
21+
UDP bool `json:"udp"`
2122

2223
Servers []dto.NginxUpstreamServer `json:"servers"`
2324
}

โ€Žagent/app/service/website.goโ€Ž

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,13 @@ func (w WebsiteService) GetWebsite(id uint) (response.WebsiteDTO, error) {
617617
if err != nil {
618618
return res, err
619619
}
620+
listens := config.FindDirectives("listen")
621+
for _, listen := range listens {
622+
params := listen.GetParameters()
623+
if len(params) > 1 && params[1] == "udp" {
624+
res.UDP = true
625+
}
626+
}
620627
upstreams := config.FindUpstreams()
621628
for _, up := range upstreams {
622629
directives := up.GetDirectives()
@@ -2342,10 +2349,14 @@ func (w WebsiteService) UpdateStream(req request.StreamUpdate) error {
23422349
}
23432350
server := servers[0]
23442351
server.Listens = []*components.ServerListen{}
2352+
var params []string
2353+
if req.UDP {
2354+
params = []string{"udp"}
2355+
}
23452356
for _, port := range ports {
2346-
server.UpdateListen(port, false)
2357+
server.UpdateListen(port, false, params...)
23472358
if website.IPV6 {
2348-
server.UpdateListen("[::]:"+port, false)
2359+
server.UpdateListen("[::]:"+port, false, params...)
23492360
}
23502361
}
23512362
upstream := components.Upstream{

โ€Žagent/app/service/website_utils.goโ€Ž

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,10 +206,14 @@ func configDefaultNginx(website *model.Website, domains []model.WebsiteDomain, a
206206
}
207207
server := servers[0]
208208
ports := strings.Split(streamConfig.StreamPorts, ",")
209+
var params []string
210+
if streamConfig.UDP {
211+
params = []string{"udp"}
212+
}
209213
for _, port := range ports {
210-
server.UpdateListen(port, false)
214+
server.UpdateListen(port, false, params...)
211215
if website.IPV6 {
212-
server.UpdateListen("[::]:"+port, false)
216+
server.UpdateListen("[::]:"+port, false, params...)
213217
}
214218
}
215219
siteFolder := path.Join("/www", "sites", website.Alias)

โ€Žfrontend/src/api/interface/website.tsโ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export namespace Website {
2828
dbType: string;
2929
favorite: boolean;
3030
streamPorts: string;
31+
udp: boolean;
3132
}
3233

3334
export interface WebsiteDTO extends Website {

โ€Žfrontend/src/lang/modules/en.tsโ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2756,6 +2756,7 @@ const message = {
27562756
streamPortsHelper:
27572757
'Set the external listening port number, clients will access the service through this port, separated by commas, e.g., 5222,5223',
27582758
streamHelper: 'TCP/UDP Port Forwarding and Load Balancing',
2759+
udp: 'Enable UDP',
27592760

27602761
syncHtmlHelper: 'Sync to PHP and static websites',
27612762
},

โ€Žfrontend/src/lang/modules/es-es.tsโ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2748,6 +2748,7 @@ const message = {
27482748
streamPortsHelper:
27492749
'Configura el nรบmero de puerto de escucha externo, los clientes accederรกn al servicio a travรฉs de este puerto, separado por comas, p. ej., 5222,5223',
27502750
streamHelper: 'Reenvรญo de Puertos y Balanceo de Carga TCP/UDP',
2751+
udp: 'Habilitar UDP',
27512752

27522753
syncHtmlHelper: 'Sincronizar con PHP y sitios web estรกticos',
27532754
},

โ€Žfrontend/src/lang/modules/ja.tsโ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2679,6 +2679,7 @@ const message = {
26792679
streamPortsHelper:
26802680
'ๅค–้ƒจใƒชใ‚นใƒ‹ใƒณใ‚ฐใƒใƒผใƒˆ็•ชๅทใ‚’่จญๅฎšใ—ใพใ™ใ€‚ใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใฏใ“ใฎใƒใƒผใƒˆใ‚’้€šใ˜ใฆใ‚ตใƒผใƒ“ใ‚นใซใ‚ขใ‚ฏใ‚ปใ‚นใ—ใพใ™ใ€‚ใ‚ซใƒณใƒžใงๅŒบๅˆ‡ใฃใฆใใ ใ•ใ„ใ€‚ไพ‹๏ผš5222,5223',
26812681
streamHelper: 'TCP/UDP ใƒใƒผใƒˆ่ปข้€ใจใƒญใƒผใƒ‰ใƒใƒฉใƒณใ‚ทใƒณใ‚ฐ',
2682+
udp: 'UDPใ‚’ๆœ‰ๅŠนๅŒ–',
26822683

26832684
syncHtmlHelper: 'PHP ใจ้™็š„ใ‚ฆใ‚งใƒ–ใ‚ตใ‚คใƒˆใซๅŒๆœŸ',
26842685
},

โ€Žfrontend/src/lang/modules/ko.tsโ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2635,6 +2635,7 @@ const message = {
26352635
streamPortsHelper:
26362636
'์™ธ๋ถ€ ์ˆ˜์‹  ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์ด ํฌํŠธ๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค์— ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค. ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„ํ•˜์„ธ์š”. ์˜ˆ: 5222,5223',
26372637
streamHelper: 'TCP/UDP ํฌํŠธ ํฌ์›Œ๋”ฉ ๋ฐ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ',
2638+
udp: 'UDP ํ™œ์„ฑํ™”',
26382639

26392640
syncHtmlHelper: 'PHP ๋ฐ ์ •์  ์›น์‚ฌ์ดํŠธ์— ๋™๊ธฐํ™”',
26402641
},

โ€Žfrontend/src/lang/modules/ms.tsโ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2737,6 +2737,7 @@ const message = {
27372737
streamPortsHelper:
27382738
'Tetapkan nombor port pendengaran luaran, pelanggan akan mengakses perkhidmatan melalui port ini, dipisahkan dengan koma, cth., 5222,5223',
27392739
streamHelper: 'Penerusan Port dan Pengimbangan Beban TCP/UDP',
2740+
udp: 'Dayakan UDP',
27402741

27412742
syncHtmlHelper: 'Segerakkan ke PHP dan laman web statik',
27422743
},

0 commit comments

Comments
ย (0)