@@ -13,6 +13,7 @@ import (
1313 "encoding/json"
1414 "errors"
1515 "fmt"
16+ N "github.com/sagernet/sing/common/network"
1617 "io"
1718 "maps"
1819 "mime"
@@ -163,8 +164,8 @@ var (
163164
164165// NewHandler creates a new LocalAPI HTTP handler. All parameters except netMon
165166// are required (if non-nil it's used to do faster interface lookups).
166- func NewHandler (b * ipnlocal.LocalBackend , logf logger.Logf , logID logid.PublicID ) * Handler {
167- return & Handler {b : b , logf : logf , backendLogID : logID , clock : tstime.StdClock {}}
167+ func NewHandler (b * ipnlocal.LocalBackend , logf logger.Logf , logID logid.PublicID , dialer N. Dialer ) * Handler {
168+ return & Handler {b : b , logf : logf , backendLogID : logID , clock : tstime.StdClock {}, dialer : dialer }
168169}
169170
170171type Handler struct {
@@ -193,6 +194,8 @@ type Handler struct {
193194 logf logger.Logf
194195 backendLogID logid.PublicID
195196 clock tstime.Clock
197+
198+ dialer N.Dialer
196199}
197200
198201func (h * Handler ) ServeHTTP (w http.ResponseWriter , r * http.Request ) {
@@ -796,7 +799,7 @@ func (h *Handler) serveDebugPortmap(w http.ResponseWriter, r *http.Request) {
796799 })
797800 defer c .Close ()
798801
799- netMon , err := netmon .New (logger .WithPrefix (logf , "monitor: " ))
802+ netMon , err := netmon .New (logger .WithPrefix (logf , "monitor: " ), h . dialer )
800803 if err != nil {
801804 logf ("error creating monitor: %v" , err )
802805 return
0 commit comments