diff --git a/app/proxyman/outbound/handler_test.go b/app/proxyman/outbound/handler_test.go index 7072f63e3..9573e206a 100644 --- a/app/proxyman/outbound/handler_test.go +++ b/app/proxyman/outbound/handler_test.go @@ -3,6 +3,7 @@ package outbound_test import ( "context" "testing" + _ "unsafe" core "github.com/v2fly/v2ray-core/v4" "github.com/v2fly/v2ray-core/v4/app/policy" @@ -13,8 +14,6 @@ import ( "github.com/v2fly/v2ray-core/v4/features/outbound" "github.com/v2fly/v2ray-core/v4/proxy/freedom" "github.com/v2fly/v2ray-core/v4/transport/internet" - - _ "unsafe" ) func TestInterfaces(t *testing.T) { diff --git a/app/router/condition_geoip_test.go b/app/router/condition_geoip_test.go index 001013d04..1d4ed45c2 100644 --- a/app/router/condition_geoip_test.go +++ b/app/router/condition_geoip_test.go @@ -17,10 +17,7 @@ import ( ) func init() { - const ( - geoipURL = "https://raw.githubusercontent.com/v2fly/geoip/release/geoip.dat" - geositeURL = "https://raw.githubusercontent.com/v2fly/domain-list-community/release/dlc.dat" - ) + const geoipURL = "https://raw.githubusercontent.com/v2fly/geoip/release/geoip.dat" wd, err := os.Getwd() common.Must(err) diff --git a/common/platform/platform_test.go b/common/platform/platform_test.go index 9d7a3f02e..1bff7a67f 100644 --- a/common/platform/platform_test.go +++ b/common/platform/platform_test.go @@ -14,10 +14,7 @@ import ( ) func init() { - const ( - geoipURL = "https://raw.githubusercontent.com/v2fly/geoip/release/geoip.dat" - geositeURL = "https://raw.githubusercontent.com/v2fly/domain-list-community/release/dlc.dat" - ) + const geoipURL = "https://raw.githubusercontent.com/v2fly/geoip/release/geoip.dat" wd, err := os.Getwd() common.Must(err) diff --git a/go.mod b/go.mod index c74c60eaf..3df96ec44 100644 --- a/go.mod +++ b/go.mod @@ -16,11 +16,11 @@ require ( github.com/v2fly/BrowserBridge v0.0.0-20210430233438-0570fc1d7d08 github.com/v2fly/VSign v0.0.0-20201108000810-e2adc24bf848 github.com/v2fly/ss-bloomring v0.0.0-20210312155135-28617310f63e - go.starlark.net v0.0.0-20210416142453-1607a96e3d72 - golang.org/x/crypto v0.0.0-20210415154028-4f45737414dc - golang.org/x/net v0.0.0-20210415231046-e915ea6b2b7d + go.starlark.net v0.0.0-20210429133630-0c63ff3779a6 + golang.org/x/crypto v0.0.0-20210503195802-e9a32991a82e + golang.org/x/net v0.0.0-20210504132125-bbd867fde50d golang.org/x/sync v0.0.0-20210220032951-036812b2e83c - golang.org/x/sys v0.0.0-20210415045647-66c3f260301c + golang.org/x/sys v0.0.0-20210503173754-0981d6026fa6 google.golang.org/grpc v1.37.0 google.golang.org/protobuf v1.26.0 h12.io/socks v1.0.2 diff --git a/go.sum b/go.sum index 2bd834dda..d3ed0ccc4 100644 --- a/go.sum +++ b/go.sum @@ -123,7 +123,6 @@ github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE0 github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gopherjs/gopherjs v0.0.0-20210202160940-bed99a852dfe/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gopherjs/gopherjs v0.0.0-20210420193930-a4630ec28c79/go.mod h1:Opf9rtYVq0eTyX+aRVmRO9hE8ERAozcdrBxWG9Q6mkQ= github.com/gopherjs/websocket v0.0.0-20191103002815-9a42957e2b3a/go.mod h1:jd+zY81Fx2lC4bfw58+Rflg1srqmedQjbBUejKOjYNY= github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU= @@ -306,8 +305,6 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/v2fly/BrowserBridge v0.0.0-20210402111049-048ea079a400 h1:aEW75Hq5bqMEEEMGxlR9LBfPyTjskthn1BQeigjxN9c= -github.com/v2fly/BrowserBridge v0.0.0-20210402111049-048ea079a400/go.mod h1:skmBSeT/GvVqal/eylE9E16x9RC29xFXCbxDLVmatOk= github.com/v2fly/BrowserBridge v0.0.0-20210430233438-0570fc1d7d08 h1:4Yh46CVE3k/lPq6hUbEdbB1u1anRBXLewm3k+L0iOMc= github.com/v2fly/BrowserBridge v0.0.0-20210430233438-0570fc1d7d08/go.mod h1:KAuQNm+LWQCOFqdBcUgihPzRpVXRKzGbTNhfEfRZ4wY= github.com/v2fly/VSign v0.0.0-20201108000810-e2adc24bf848 h1:p1UzXK6VAutXFFQMnre66h7g1BjRKUnLv0HfmmRoz7w= @@ -326,8 +323,8 @@ go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.starlark.net v0.0.0-20210416142453-1607a96e3d72 h1:MpoVbFFL6+YAnPK5o3mcQ39Mk4XQBGjhvaJG54jPg6g= -go.starlark.net v0.0.0-20210416142453-1607a96e3d72/go.mod h1:t3mmBBPzAVvK0L0n1drDmrQsJ8FoIx4INCqVMTr/Zo0= +go.starlark.net v0.0.0-20210429133630-0c63ff3779a6 h1:oJlguT2+pPzWP+W6EloIyRRrVTyKcbFClKGkvO4vgI0= +go.starlark.net v0.0.0-20210429133630-0c63ff3779a6/go.mod h1:t3mmBBPzAVvK0L0n1drDmrQsJ8FoIx4INCqVMTr/Zo0= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= @@ -344,8 +341,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210415154028-4f45737414dc h1:+q90ECDSAQirdykUN6sPEiBXBsp8Csjcca8Oy7bgLTA= -golang.org/x/crypto v0.0.0-20210415154028-4f45737414dc/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210503195802-e9a32991a82e h1:8foAy0aoO5GkqCvAEJ4VC4P3zksTg4X4aJCDpZzmgQI= +golang.org/x/crypto v0.0.0-20210503195802-e9a32991a82e/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -391,8 +388,8 @@ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210415231046-e915ea6b2b7d h1:BgJvlyh+UqCUaPlscHJ+PN8GcpfrFdr7NHjd1JL0+Gs= -golang.org/x/net v0.0.0-20210415231046-e915ea6b2b7d/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= +golang.org/x/net v0.0.0-20210504132125-bbd867fde50d h1:nTDGCTeAu2LhcsHTRzjyIUbZHCJ4QePArsm27Hka0UM= +golang.org/x/net v0.0.0-20210504132125-bbd867fde50d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -436,10 +433,10 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201231184435-2d18734c6014/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210415045647-66c3f260301c h1:6L+uOeS3OQt/f4eFHXZcTxeZrGCuz+CLElgEBjbcTA4= -golang.org/x/sys v0.0.0-20210415045647-66c3f260301c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210503173754-0981d6026fa6 h1:cdsMqa2nXzqlgs183pHxtvoVwU7CyzaCTAUOg94af4c= +golang.org/x/sys v0.0.0-20210503173754-0981d6026fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -548,8 +545,8 @@ gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bl gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c h1:grhR+C34yXImVGp7EzNk+DTIk+323eIUWOmEevy6bDo= diff --git a/infra/conf/command/command.go b/infra/conf/command/command.go index 585d49b6f..7b4890627 100644 --- a/infra/conf/command/command.go +++ b/infra/conf/command/command.go @@ -5,7 +5,7 @@ package command import ( "os" - "github.com/golang/protobuf/proto" + "google.golang.org/protobuf/proto" "github.com/v2fly/v2ray-core/v4/common" "github.com/v2fly/v2ray-core/v4/infra/conf/serial" diff --git a/infra/conf/dns.go b/infra/conf/dns.go index a6f6c03a3..ef4e19ebc 100644 --- a/infra/conf/dns.go +++ b/infra/conf/dns.go @@ -263,7 +263,7 @@ func (c *DNSConfig) Build() (*dns.Config, error) { if len(listName) == 0 { return nil, newError("empty geosite rule: ", domain) } - geositeList, err := geoLoader.LoadGeosite(listName) + geositeList, err := geoLoader.LoadGeoSite(listName) if err != nil { return nil, newError("failed to load geosite: ", listName).Base(err) } @@ -324,7 +324,7 @@ func (c *DNSConfig) Build() (*dns.Config, error) { } filename := kv[0] list := kv[1] - geositeList, err := geoLoader.LoadGeositeWithAttr(filename, list) + geositeList, err := geoLoader.LoadGeoSiteWithAttr(filename, list) if err != nil { return nil, newError("failed to load domain list: ", list, " from ", filename).Base(err) } diff --git a/infra/conf/geodata/geodata.go b/infra/conf/geodata/geodata.go index 6bac46898..d5cde9727 100644 --- a/infra/conf/geodata/geodata.go +++ b/infra/conf/geodata/geodata.go @@ -10,11 +10,11 @@ type loader struct { LoaderImplementation } -func (l *loader) LoadGeosite(list string) ([]*router.Domain, error) { - return l.LoadGeositeWithAttr("geosite.dat", list) +func (l *loader) LoadGeoSite(list string) ([]*router.Domain, error) { + return l.LoadGeoSiteWithAttr("geosite.dat", list) } -func (l *loader) LoadGeositeWithAttr(file string, siteWithAttr string) ([]*router.Domain, error) { +func (l *loader) LoadGeoSiteWithAttr(file string, siteWithAttr string) ([]*router.Domain, error) { parts := strings.Split(siteWithAttr, "@") if len(parts) == 0 { return nil, newError("empty rule") diff --git a/infra/conf/geodata/geodataproto.go b/infra/conf/geodata/geodataproto.go index 4e9676794..b2e818ceb 100644 --- a/infra/conf/geodata/geodataproto.go +++ b/infra/conf/geodata/geodataproto.go @@ -11,7 +11,7 @@ type LoaderImplementation interface { type Loader interface { LoaderImplementation - LoadGeosite(list string) ([]*router.Domain, error) - LoadGeositeWithAttr(file string, siteWithAttr string) ([]*router.Domain, error) + LoadGeoSite(list string) ([]*router.Domain, error) + LoadGeoSiteWithAttr(file string, siteWithAttr string) ([]*router.Domain, error) LoadGeoIP(country string) ([]*router.CIDR, error) } diff --git a/infra/conf/rule/rule.go b/infra/conf/rule/rule.go index 0cef2344e..4770b2c2a 100644 --- a/infra/conf/rule/rule.go +++ b/infra/conf/rule/rule.go @@ -22,7 +22,7 @@ func parseDomainRule(ctx context.Context, domain string) ([]*router.Domain, erro if len(list) == 0 { return nil, newError("empty listname in rule: ", domain) } - domains, err := geoLoader.LoadGeosite(list) + domains, err := geoLoader.LoadGeoSite(list) if err != nil { return nil, newError("failed to load geosite: ", list).Base(err) } @@ -49,7 +49,7 @@ func parseDomainRule(ctx context.Context, domain string) ([]*router.Domain, erro } filename := kv[0] list := kv[1] - domains, err := geoLoader.LoadGeositeWithAttr(filename, list) + domains, err := geoLoader.LoadGeoSiteWithAttr(filename, list) if err != nil { return nil, newError("failed to load external geosite: ", list, " from ", filename).Base(err) } diff --git a/transport/internet/http/config.pb.go b/transport/internet/http/config.pb.go index d0e080933..66ebb881a 100644 --- a/transport/internet/http/config.pb.go +++ b/transport/internet/http/config.pb.go @@ -1,13 +1,12 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.25.0 -// protoc v3.13.0 +// protoc-gen-go v1.26.0 +// protoc v3.15.6 // source: transport/internet/http/config.proto package http import ( - proto "github.com/golang/protobuf/proto" http "github.com/v2fly/v2ray-core/v4/transport/internet/headers/http" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -22,10 +21,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 - type Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache diff --git a/transport/internet/websocket/dialer.go b/transport/internet/websocket/dialer.go index a6189543b..724e139dc 100644 --- a/transport/internet/websocket/dialer.go +++ b/transport/internet/websocket/dialer.go @@ -10,14 +10,13 @@ import ( "net/http" "time" - "github.com/v2fly/v2ray-core/v4/features/extension" - "github.com/gorilla/websocket" core "github.com/v2fly/v2ray-core/v4" "github.com/v2fly/v2ray-core/v4/common" "github.com/v2fly/v2ray-core/v4/common/net" "github.com/v2fly/v2ray-core/v4/common/session" + "github.com/v2fly/v2ray-core/v4/features/extension" "github.com/v2fly/v2ray-core/v4/transport/internet" "github.com/v2fly/v2ray-core/v4/transport/internet/tls" )