From 879e736f014aa969a53bc23dff19035689bc5c9e Mon Sep 17 00:00:00 2001 From: nadoo <287492+nadoo@users.noreply.github.com> Date: Tue, 6 Jul 2021 20:31:39 +0800 Subject: [PATCH] ws: use default port if not specified --- README.md | 2 +- config.go | 2 +- dns/client.go | 4 ++-- proxy/tls/tls.go | 1 - proxy/trojan/client.go | 1 - proxy/ws/ws.go | 12 +++++++++--- 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 1215bec..16e804a 100644 --- a/README.md +++ b/README.md @@ -321,7 +321,7 @@ Examples: ./glider -listen :8443 -verbose -listen on :8443, serve as http/socks5 proxy on the same port, in verbose mode. - ./glider -listen ss://AEAD_CHACHA20_POLY1305:pass@:8443 -verbose + ./glider -listen ss://AEAD_AES_128_GCM:pass@:8443 -verbose -listen on 0.0.0.0:8443 as a ss server. ./glider -listen tls://:443?cert=crtFilePath&key=keyFilePath,http:// -verbose diff --git a/config.go b/config.go index 41c74f1..535d7cc 100644 --- a/config.go +++ b/config.go @@ -301,7 +301,7 @@ func usage() { fmt.Fprintf(w, " "+app+" -listen :8443 -verbose\n") fmt.Fprintf(w, " -listen on :8443, serve as http/socks5 proxy on the same port, in verbose mode.\n") fmt.Fprintf(w, "\n") - fmt.Fprintf(w, " "+app+" -listen ss://AEAD_CHACHA20_POLY1305:pass@:8443 -verbose\n") + fmt.Fprintf(w, " "+app+" -listen ss://AEAD_AES_128_GCM:pass@:8443 -verbose\n") fmt.Fprintf(w, " -listen on 0.0.0.0:8443 as a ss server.\n") fmt.Fprintf(w, "\n") fmt.Fprintf(w, " "+app+" -listen tls://:443?cert=crtFilePath&key=keyFilePath,http:// -verbose\n") diff --git a/dns/client.go b/dns/client.go index 1dd04ef..728c098 100644 --- a/dns/client.go +++ b/dns/client.go @@ -120,8 +120,8 @@ func (c *Client) handleAnswer(respBytes []byte, clientAddr, dnsServer, network, } c.cache.Set(qKey(resp.Question), valCopy(respBytes), ttl) - log.F("[dns] %s <-> %s(%s) via %s, %s/%d: %d %s", - clientAddr, dnsServer, network, dialerAddr, resp.Question.QNAME, resp.Question.QTYPE, ttl, strings.Join(ips, ",")) + log.F("[dns] %s <-> %s(%s) via %s, %s/%d: %s, %ds", + clientAddr, dnsServer, network, dialerAddr, resp.Question.QNAME, resp.Question.QTYPE, strings.Join(ips, ","), ttl) return nil } diff --git a/proxy/tls/tls.go b/proxy/tls/tls.go index 857af37..ecbd28d 100644 --- a/proxy/tls/tls.go +++ b/proxy/tls/tls.go @@ -73,7 +73,6 @@ func NewTLSDialer(s string, d proxy.Dialer) (proxy.Dialer, error) { p.config = &stdtls.Config{ ServerName: p.serverName, InsecureSkipVerify: p.skipVerify, - ClientSessionCache: stdtls.NewLRUClientSessionCache(64), MinVersion: stdtls.VersionTLS12, } diff --git a/proxy/trojan/client.go b/proxy/trojan/client.go index 09d7606..ce2495c 100644 --- a/proxy/trojan/client.go +++ b/proxy/trojan/client.go @@ -34,7 +34,6 @@ func NewTrojanDialer(s string, d proxy.Dialer) (proxy.Dialer, error) { ServerName: t.serverName, InsecureSkipVerify: t.skipVerify, NextProtos: []string{"http/1.1"}, - ClientSessionCache: tls.NewLRUClientSessionCache(64), MinVersion: tls.VersionTLS12, } diff --git a/proxy/ws/ws.go b/proxy/ws/ws.go index 4d54d92..97573f3 100644 --- a/proxy/ws/ws.go +++ b/proxy/ws/ws.go @@ -4,6 +4,7 @@ import ( "crypto/rand" "crypto/sha1" "encoding/base64" + "net" "net/url" "strings" @@ -35,17 +36,22 @@ func NewWS(s string, d proxy.Dialer, p proxy.Proxy) (*WS, error) { } addr := u.Host - if addr == "" && d != nil { + if addr != "" { + if _, port, _ := net.SplitHostPort(addr); port == "" { + addr = net.JoinHostPort(addr, "80") + } + } else if d != nil { addr = d.Addr() } + query := u.Query() w := &WS{ dialer: d, proxy: p, addr: addr, - host: u.Query().Get("host"), path: u.Path, - origin: u.Query().Get("origin"), + host: query.Get("host"), + origin: query.Get("origin"), } if w.host == "" {