@@ -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"
@@ -171,8 +172,8 @@ var (
171172
172173// NewHandler creates a new LocalAPI HTTP handler. All parameters except netMon
173174// are required (if non-nil it's used to do faster interface lookups).
174- func NewHandler (b * ipnlocal.LocalBackend , logf logger.Logf , logID logid.PublicID ) * Handler {
175- return & Handler {b : b , logf : logf , backendLogID : logID , clock : tstime.StdClock {}}
175+ func NewHandler (b * ipnlocal.LocalBackend , logf logger.Logf , logID logid.PublicID , dialer N. Dialer ) * Handler {
176+ return & Handler {b : b , logf : logf , backendLogID : logID , clock : tstime.StdClock {}, dialer : dialer }
176177}
177178
178179type Handler struct {
@@ -201,6 +202,8 @@ type Handler struct {
201202 logf logger.Logf
202203 backendLogID logid.PublicID
203204 clock tstime.Clock
205+
206+ dialer N.Dialer
204207}
205208
206209func (h * Handler ) LocalBackend () * ipnlocal.LocalBackend {
@@ -835,7 +838,7 @@ func (h *Handler) serveDebugPortmap(w http.ResponseWriter, r *http.Request) {
835838 })
836839 defer c .Close ()
837840
838- netMon , err := netmon .New (logger .WithPrefix (logf , "monitor: " ))
841+ netMon , err := netmon .New (logger .WithPrefix (logf , "monitor: " ), h . dialer )
839842 if err != nil {
840843 logf ("error creating monitor: %v" , err )
841844 return
0 commit comments