11package scenarios
22
33import (
4- "os"
5- "runtime"
64 "testing"
75 "time"
86
@@ -20,7 +18,6 @@ import (
2018 "github.com/xtls/xray-core/proxy/vmess/outbound"
2119 "github.com/xtls/xray-core/testing/servers/tcp"
2220 "github.com/xtls/xray-core/transport/internet"
23- "github.com/xtls/xray-core/transport/internet/domainsocket"
2421 "github.com/xtls/xray-core/transport/internet/headers/http"
2522 tcptransport "github.com/xtls/xray-core/transport/internet/tcp"
2623)
@@ -128,117 +125,3 @@ func TestHTTPConnectionHeader(t *testing.T) {
128125 t .Error (err )
129126 }
130127}
131-
132- func TestDomainSocket (t * testing.T ) {
133- if runtime .GOOS == "windows" || runtime .GOOS == "android" {
134- t .Skip ("Not supported on windows or android" )
135- return
136- }
137- tcpServer := tcp.Server {
138- MsgProcessor : xor ,
139- }
140- dest , err := tcpServer .Start ()
141- common .Must (err )
142- defer tcpServer .Close ()
143-
144- const dsPath = "/tmp/ds_scenario"
145- os .Remove (dsPath )
146-
147- userID := protocol .NewID (uuid .New ())
148- serverPort := tcp .PickPort ()
149- serverConfig := & core.Config {
150- Inbound : []* core.InboundHandlerConfig {
151- {
152- ReceiverSettings : serial .ToTypedMessage (& proxyman.ReceiverConfig {
153- PortList : & net.PortList {Range : []* net.PortRange {net .SinglePortRange (serverPort )}},
154- Listen : net .NewIPOrDomain (net .LocalHostIP ),
155- StreamSettings : & internet.StreamConfig {
156- Protocol : internet .TransportProtocol_DomainSocket ,
157- TransportSettings : []* internet.TransportConfig {
158- {
159- Protocol : internet .TransportProtocol_DomainSocket ,
160- Settings : serial .ToTypedMessage (& domainsocket.Config {
161- Path : dsPath ,
162- }),
163- },
164- },
165- },
166- }),
167- ProxySettings : serial .ToTypedMessage (& inbound.Config {
168- User : []* protocol.User {
169- {
170- Account : serial .ToTypedMessage (& vmess.Account {
171- Id : userID .String (),
172- }),
173- },
174- },
175- }),
176- },
177- },
178- Outbound : []* core.OutboundHandlerConfig {
179- {
180- ProxySettings : serial .ToTypedMessage (& freedom.Config {}),
181- },
182- },
183- }
184-
185- clientPort := tcp .PickPort ()
186- clientConfig := & core.Config {
187- Inbound : []* core.InboundHandlerConfig {
188- {
189- ReceiverSettings : serial .ToTypedMessage (& proxyman.ReceiverConfig {
190- PortList : & net.PortList {Range : []* net.PortRange {net .SinglePortRange (clientPort )}},
191- Listen : net .NewIPOrDomain (net .LocalHostIP ),
192- }),
193- ProxySettings : serial .ToTypedMessage (& dokodemo.Config {
194- Address : net .NewIPOrDomain (dest .Address ),
195- Port : uint32 (dest .Port ),
196- NetworkList : & net.NetworkList {
197- Network : []net.Network {net .Network_TCP },
198- },
199- }),
200- },
201- },
202- Outbound : []* core.OutboundHandlerConfig {
203- {
204- ProxySettings : serial .ToTypedMessage (& outbound.Config {
205- Receiver : []* protocol.ServerEndpoint {
206- {
207- Address : net .NewIPOrDomain (net .LocalHostIP ),
208- Port : uint32 (serverPort ),
209- User : []* protocol.User {
210- {
211- Account : serial .ToTypedMessage (& vmess.Account {
212- Id : userID .String (),
213- }),
214- },
215- },
216- },
217- },
218- }),
219- SenderSettings : serial .ToTypedMessage (& proxyman.SenderConfig {
220- StreamSettings : & internet.StreamConfig {
221- Protocol : internet .TransportProtocol_DomainSocket ,
222- TransportSettings : []* internet.TransportConfig {
223- {
224- Protocol : internet .TransportProtocol_DomainSocket ,
225- Settings : serial .ToTypedMessage (& domainsocket.Config {
226- Path : dsPath ,
227- }),
228- },
229- },
230- },
231- }),
232- },
233- },
234- }
235-
236- servers , err := InitializeServerConfigs (serverConfig , clientConfig )
237- common .Must (err )
238- defer CloseAllServers (servers )
239-
240- if err := testTCPConn (clientPort , 1024 , time .Second * 2 )(); err != nil {
241- t .Error (err )
242- }
243- }
244-
0 commit comments