diff --git a/go.mod b/go.mod index f220278..e3bbdef 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/gospider007/bs4 v0.0.0-20240408033320-806c486ddce6 github.com/gospider007/gson v0.0.0-20240320040553-de4a050b30c2 github.com/gospider007/gtls v0.0.0-20240104034426-5073ca328e04 - github.com/gospider007/ja3 v0.0.0-20240430034715-7cdc877a8bb4 + github.com/gospider007/ja3 v0.0.0-20240501035452-cf16a59548ef github.com/gospider007/net v0.0.0-20240414111018-b6269c96a78a github.com/gospider007/re v0.0.0-20240227100911-e27255e48eff github.com/gospider007/tools v0.0.0-20231202084937-8b2bc66f8198 diff --git a/go.sum b/go.sum index 8791e5a..0625422 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,3 @@ -github.com/PuerkitoBio/goquery v1.9.1 h1:mTL6XjbJTZdpfL+Gwl5U2h1l9yEkJjhmlTeV9VPW7UI= -github.com/PuerkitoBio/goquery v1.9.1/go.mod h1:cW1n6TmIMDoORQU5IU/P1T3tGFunOeXEpGP2WHRwkbY= github.com/PuerkitoBio/goquery v1.9.2 h1:4/wZksC3KgkQw7SQgkKotmKljk0M6V8TUvA8Wb4yPeE= github.com/PuerkitoBio/goquery v1.9.2/go.mod h1:GHPCaP0ODyyxqcNoFGYlAprUFH81NuRPd0GX3Zu2Mvk= github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= @@ -8,8 +6,6 @@ github.com/andybalholm/cascadia v1.3.2 h1:3Xi6Dw5lHF15JtdcmAHD3i1+T8plmv7BQ/nsVi github.com/andybalholm/cascadia v1.3.2/go.mod h1:7gtRlve5FxPPgIgX36uWBX58OdBsSS6lUvCFb+h7KvU= github.com/caddyserver/certmagic v0.20.0 h1:bTw7LcEZAh9ucYCRXyCpIrSAGplplI0vGYJ4BpCQ/Fc= github.com/caddyserver/certmagic v0.20.0/go.mod h1:N4sXgpICQUskEWpj7zVzvWD41p3NYacrNoZYiRM2jTg= -github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= -github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= github.com/cloudflare/circl v1.3.8 h1:j+V8jJt09PoeMFIu2uh5JUyEaIHTXVOHslFoLNAKqwI= github.com/cloudflare/circl v1.3.8/go.mod h1:PDRU+oXvdD7KCtgKxW95M5Z8BpSCJXQORiZFnBQS5QU= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -30,10 +26,8 @@ github.com/gospider007/gson v0.0.0-20240320040553-de4a050b30c2 h1:pS4rcG7+3YDiNZ github.com/gospider007/gson v0.0.0-20240320040553-de4a050b30c2/go.mod h1:tL+3YduR/6ofo4cdv4lpBw5+nph0OJ11x1uOKLyo9Ro= github.com/gospider007/gtls v0.0.0-20240104034426-5073ca328e04 h1:iAmk4YVKoOllDO9LryTAMWUgjEAALG1KYWLiRim+LfI= github.com/gospider007/gtls v0.0.0-20240104034426-5073ca328e04/go.mod h1:3yfOTfRE03+Itp1M+paIy+AJVVpoTFyRyqJboTNLrSg= -github.com/gospider007/ja3 v0.0.0-20240416033442-0049752596ae h1:Rcnjhlo5Pkb+B13kEPm+XYEYLBfT5ouJ35psjDpYlOk= -github.com/gospider007/ja3 v0.0.0-20240416033442-0049752596ae/go.mod h1:174oisiluuSkOdZgEjC06o3Brx0GoUuVC91v09sFp7I= -github.com/gospider007/ja3 v0.0.0-20240430034715-7cdc877a8bb4 h1:ZTShWSMfoui7FZ+vLxpAMldV8RNN1m/C2XkiceNoYpM= -github.com/gospider007/ja3 v0.0.0-20240430034715-7cdc877a8bb4/go.mod h1:R99AR5ZmwTHx6Ki9FZ0AabS0OuwdG9hBY+efzgAS80Q= +github.com/gospider007/ja3 v0.0.0-20240501035452-cf16a59548ef h1:coXlCW98+H+dMg1NT1H95hriXbHUbFuajJoFl9P9vzM= +github.com/gospider007/ja3 v0.0.0-20240501035452-cf16a59548ef/go.mod h1:R99AR5ZmwTHx6Ki9FZ0AabS0OuwdG9hBY+efzgAS80Q= github.com/gospider007/kinds v0.0.0-20231024093643-7a4424f2d30e h1:lmX6IQKkrNDbXfHsvrv1Uz0MoG2v5+4VC6Gdh9irUNY= github.com/gospider007/kinds v0.0.0-20231024093643-7a4424f2d30e/go.mod h1:nB4OMmd8Ji92yEmgjbHcqLcBHTAhSSmlGNb2JpTYK9A= github.com/gospider007/net v0.0.0-20240414111018-b6269c96a78a h1:jqjiZ/M5NtlfmkzFPYq3dzIjcJ67GNbjiYDt1OeJJq8= diff --git a/tools.go b/tools.go index a2dd752..1c449be 100644 --- a/tools.go +++ b/tools.go @@ -117,10 +117,13 @@ func httpWrite(r *http.Request, w *bufio.Writer, orderHeaders []string) (err err if r.Header.Get("Host") == "" { r.Header.Set("Host", host) } + if r.Header.Get("Connection") == "" { + r.Header.Set("Connection", "keep-alive") + } if r.Header.Get("User-Agent") == "" { r.Header.Set("User-Agent", UserAgent) } - if r.Header.Get("Content-Length") == "" && shouldSendContentLength(r) { + if r.Header.Get("Content-Length") == "" && r.ContentLength != 0 && shouldSendContentLength(r) { r.Header.Set("Content-Length", fmt.Sprint(r.ContentLength)) } if _, err = w.WriteString(fmt.Sprintf("%s %s %s\r\n", r.Method, ruri, r.Proto)); err != nil {