소스 검색

converting from host to address directly

v2ray 10 년 전
부모
커밋
6543facd51
3개의 변경된 파일12개의 추가작업 그리고 10개의 파일을 삭제
  1. 10 0
      common/net/json/host.go
  2. 1 5
      proxy/dokodemo/json/json.go
  3. 1 5
      proxy/vmess/outbound/json/outbound.go

+ 10 - 0
common/net/json/host.go

@@ -3,6 +3,8 @@ package json
 import (
 	"encoding/json"
 	"net"
+
+	v2net "github.com/v2ray/v2ray-core/common/net"
 )
 
 type Host struct {
@@ -51,3 +53,11 @@ func (this *Host) IP() net.IP {
 func (this *Host) Domain() string {
 	return this.domain
 }
+
+func (this *Host) Address() v2net.Address {
+	if this.IsIP() {
+		return v2net.IPAddress(this.IP())
+	} else {
+		return v2net.DomainAddress(this.Domain())
+	}
+}

+ 1 - 5
proxy/dokodemo/json/json.go

@@ -14,11 +14,7 @@ type DokodemoConfig struct {
 }
 
 func (this *DokodemoConfig) Address() v2net.Address {
-	if this.Host.IsIP() {
-		return v2net.IPAddress(this.Host.IP())
-	} else {
-		return v2net.DomainAddress(this.Host.Domain())
-	}
+	return this.Host.Address()
 }
 
 func (this *DokodemoConfig) Port() v2net.Port {

+ 1 - 5
proxy/vmess/outbound/json/outbound.go

@@ -37,11 +37,7 @@ func (t *ConfigTarget) UnmarshalJSON(data []byte) error {
 		log.Error("Address is not set in VMess outbound config.")
 		return proxyconfig.BadConfiguration
 	}
-	if rawConfig.Address.IsIP() {
-		t.Destination = v2net.TCPDestination(v2net.IPAddress(rawConfig.Address.IP()), rawConfig.Port)
-	} else {
-		t.Destination = v2net.TCPDestination(v2net.DomainAddress(rawConfig.Address.Domain()), rawConfig.Port)
-	}
+	t.Destination = v2net.TCPDestination(rawConfig.Address.Address(), rawConfig.Port)
 	return nil
 }