diff --git a/debug_http.go b/debug_http.go index ddafe8f2c..c9e66fbfd 100644 --- a/debug_http.go +++ b/debug_http.go @@ -14,6 +14,8 @@ import ( E "github.com/sagernet/sing/common/exceptions" "github.com/sagernet/sing/common/json" "github.com/sagernet/sing/common/json/badjson" + M "github.com/sagernet/sing/common/metadata" + N "github.com/sagernet/sing/common/network" "github.com/go-chi/chi/v5" ) @@ -62,7 +64,7 @@ func startDebugHTTPServer(options option.DebugOptions) (*http.Server, error) { Addr: options.Listen, Handler: r, } - listener, err := net.Listen("tcp", options.Listen) + listener, err := net.Listen(M.NetworkFromNetAddr(N.NetworkTCP, M.ParseSocksaddr(options.Listen).Addr), options.Listen) if err != nil { return nil, E.Cause(err, "listen debug HTTP server") } diff --git a/experimental/clashapi/server.go b/experimental/clashapi/server.go index 6623906a7..a8c99af36 100644 --- a/experimental/clashapi/server.go +++ b/experimental/clashapi/server.go @@ -23,6 +23,8 @@ import ( "github.com/sagernet/sing-box/option" E "github.com/sagernet/sing/common/exceptions" "github.com/sagernet/sing/common/json" + M "github.com/sagernet/sing/common/metadata" + N "github.com/sagernet/sing/common/network" "github.com/sagernet/sing/service" "github.com/sagernet/sing/service/filemanager" "github.com/sagernet/ws" @@ -157,7 +159,7 @@ func (s *Server) Start(stage adapter.StartStage, scope *adapter.Scope) error { err error ) for range 3 { - listener, err = net.Listen("tcp", s.httpServer.Addr) + listener, err = net.Listen(M.NetworkFromNetAddr(N.NetworkTCP, M.ParseSocksaddr(s.httpServer.Addr).Addr), s.httpServer.Addr) if runtime.GOOS == "android" && errors.Is(err, syscall.EADDRINUSE) { time.Sleep(100 * time.Millisecond) continue diff --git a/experimental/v2rayapi/server.go b/experimental/v2rayapi/server.go index b5612ada7..d3cdb4b86 100644 --- a/experimental/v2rayapi/server.go +++ b/experimental/v2rayapi/server.go @@ -10,6 +10,8 @@ import ( "github.com/sagernet/sing-box/log" "github.com/sagernet/sing-box/option" "github.com/sagernet/sing/common" + M "github.com/sagernet/sing/common/metadata" + N "github.com/sagernet/sing/common/network" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" @@ -55,7 +57,7 @@ func (s *Server) Start(stage adapter.StartStage, scope *adapter.Scope) error { return nil }) case adapter.StartStatePostStart: - listener, err := net.Listen("tcp", s.listen) + listener, err := net.Listen(M.NetworkFromNetAddr(N.NetworkTCP, M.ParseSocksaddr(s.listen).Addr), s.listen) if err != nil { return err }