diff --git a/sub/subService.go b/sub/subService.go index 8c5b8af3..ade871df 100644 --- a/sub/subService.go +++ b/sub/subService.go @@ -179,9 +179,15 @@ func (s *SubService) genVmessLink(inbound *model.Inbound, email string) string { if inbound.Protocol != model.VMESS { return "" } + var address string + if inbound.Listen == "" || inbound.Listen == "0.0.0.0" || inbound.Listen == "::" || inbound.Listen == "::0" { + address = s.address + } else { + address = inbound.Listen + } obj := map[string]any{ "v": "2", - "add": s.address, + "add": address, "port": inbound.Port, "type": "none", } @@ -529,7 +535,12 @@ func (s *SubService) genVlessLink(inbound *model.Inbound, email string) string { } func (s *SubService) genTrojanLink(inbound *model.Inbound, email string) string { - address := s.address + var address string + if inbound.Listen == "" || inbound.Listen == "0.0.0.0" || inbound.Listen == "::" || inbound.Listen == "::0" { + address = s.address + } else { + address = inbound.Listen + } if inbound.Protocol != model.Trojan { return "" } @@ -725,7 +736,12 @@ func (s *SubService) genTrojanLink(inbound *model.Inbound, email string) string } func (s *SubService) genShadowsocksLink(inbound *model.Inbound, email string) string { - address := s.address + var address string + if inbound.Listen == "" || inbound.Listen == "0.0.0.0" || inbound.Listen == "::" || inbound.Listen == "::0" { + address = s.address + } else { + address = inbound.Listen + } if inbound.Protocol != model.Shadowsocks { return "" }