Skip to content

Commit

Permalink
fix: don't ignore http.NewRequest's error
Browse files Browse the repository at this point in the history
  • Loading branch information
wwqgtxx committed May 15, 2024
1 parent 1bc3c16 commit 87877d1
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 4 deletions.
5 changes: 4 additions & 1 deletion component/tls/reality.go
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,10 @@ func realityClientFallback(uConn net.Conn, serverName string, fingerprint utls.C
},
},
}
request, _ := http.NewRequest("GET", "https://"+serverName, nil)
request, err := http.NewRequest("GET", "https://"+serverName, nil)
if err != nil {
return
}
request.Header.Set("User-Agent", fingerprint.Client)
request.AddCookie(&http.Cookie{Name: "padding", Value: strings.Repeat("0", fastrand.Intn(32)+30)})
response, err := client.Do(request)
Expand Down
7 changes: 5 additions & 2 deletions transport/simple-obfs/http.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,10 @@ func (ho *HTTPObfs) Write(b []byte) (int, error) {
if ho.firstRequest {
randBytes := make([]byte, 16)
fastrand.Read(randBytes)
req, _ := http.NewRequest("GET", fmt.Sprintf("http://%s/", ho.host), bytes.NewBuffer(b[:]))
req, err := http.NewRequest("GET", fmt.Sprintf("http://%s/", ho.host), bytes.NewBuffer(b[:]))
if err != nil {
return 0, err
}
req.Header.Set("User-Agent", fmt.Sprintf("curl/7.%d.%d", fastrand.Int()%54, fastrand.Int()%2))
req.Header.Set("Upgrade", "websocket")
req.Header.Set("Connection", "Upgrade")
Expand All @@ -75,7 +78,7 @@ func (ho *HTTPObfs) Write(b []byte) (int, error) {
}
req.Header.Set("Sec-WebSocket-Key", base64.URLEncoding.EncodeToString(randBytes))
req.ContentLength = int64(len(b))
err := req.Write(ho.Conn)
err = req.Write(ho.Conn)
ho.firstRequest = false
return len(b), err
}
Expand Down
5 changes: 4 additions & 1 deletion transport/vmess/http.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,10 @@ func (hc *httpConn) Write(b []byte) (int, error) {
}

u := fmt.Sprintf("http://%s%s", net.JoinHostPort(host, "80"), path)
req, _ := http.NewRequest(utils.EmptyOr(hc.cfg.Method, http.MethodGet), u, bytes.NewBuffer(b))
req, err := http.NewRequest(utils.EmptyOr(hc.cfg.Method, http.MethodGet), u, bytes.NewBuffer(b))
if err != nil {
return 0, err
}
for key, list := range hc.cfg.Headers {
req.Header.Set(key, list[fastrand.Intn(len(list))])
}
Expand Down

0 comments on commit 87877d1

Please sign in to comment.