ws: use default port if not specified

This commit is contained in:
nadoo 2021-07-06 20:31:39 +08:00
parent 53fe94251f
commit 879e736f01
6 changed files with 13 additions and 9 deletions

View File

@ -321,7 +321,7 @@ Examples:
./glider -listen :8443 -verbose ./glider -listen :8443 -verbose
-listen on :8443, serve as http/socks5 proxy on the same port, in verbose mode. -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. -listen on 0.0.0.0:8443 as a ss server.
./glider -listen tls://:443?cert=crtFilePath&key=keyFilePath,http:// -verbose ./glider -listen tls://:443?cert=crtFilePath&key=keyFilePath,http:// -verbose

View File

@ -301,7 +301,7 @@ func usage() {
fmt.Fprintf(w, " "+app+" -listen :8443 -verbose\n") 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, " -listen on :8443, serve as http/socks5 proxy on the same port, in verbose mode.\n")
fmt.Fprintf(w, "\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, " -listen on 0.0.0.0:8443 as a ss server.\n")
fmt.Fprintf(w, "\n") fmt.Fprintf(w, "\n")
fmt.Fprintf(w, " "+app+" -listen tls://:443?cert=crtFilePath&key=keyFilePath,http:// -verbose\n") fmt.Fprintf(w, " "+app+" -listen tls://:443?cert=crtFilePath&key=keyFilePath,http:// -verbose\n")

View File

@ -120,8 +120,8 @@ func (c *Client) handleAnswer(respBytes []byte, clientAddr, dnsServer, network,
} }
c.cache.Set(qKey(resp.Question), valCopy(respBytes), ttl) c.cache.Set(qKey(resp.Question), valCopy(respBytes), ttl)
log.F("[dns] %s <-> %s(%s) via %s, %s/%d: %d %s", log.F("[dns] %s <-> %s(%s) via %s, %s/%d: %s, %ds",
clientAddr, dnsServer, network, dialerAddr, resp.Question.QNAME, resp.Question.QTYPE, ttl, strings.Join(ips, ",")) clientAddr, dnsServer, network, dialerAddr, resp.Question.QNAME, resp.Question.QTYPE, strings.Join(ips, ","), ttl)
return nil return nil
} }

View File

@ -73,7 +73,6 @@ func NewTLSDialer(s string, d proxy.Dialer) (proxy.Dialer, error) {
p.config = &stdtls.Config{ p.config = &stdtls.Config{
ServerName: p.serverName, ServerName: p.serverName,
InsecureSkipVerify: p.skipVerify, InsecureSkipVerify: p.skipVerify,
ClientSessionCache: stdtls.NewLRUClientSessionCache(64),
MinVersion: stdtls.VersionTLS12, MinVersion: stdtls.VersionTLS12,
} }

View File

@ -34,7 +34,6 @@ func NewTrojanDialer(s string, d proxy.Dialer) (proxy.Dialer, error) {
ServerName: t.serverName, ServerName: t.serverName,
InsecureSkipVerify: t.skipVerify, InsecureSkipVerify: t.skipVerify,
NextProtos: []string{"http/1.1"}, NextProtos: []string{"http/1.1"},
ClientSessionCache: tls.NewLRUClientSessionCache(64),
MinVersion: tls.VersionTLS12, MinVersion: tls.VersionTLS12,
} }

View File

@ -4,6 +4,7 @@ import (
"crypto/rand" "crypto/rand"
"crypto/sha1" "crypto/sha1"
"encoding/base64" "encoding/base64"
"net"
"net/url" "net/url"
"strings" "strings"
@ -35,17 +36,22 @@ func NewWS(s string, d proxy.Dialer, p proxy.Proxy) (*WS, error) {
} }
addr := u.Host 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() addr = d.Addr()
} }
query := u.Query()
w := &WS{ w := &WS{
dialer: d, dialer: d,
proxy: p, proxy: p,
addr: addr, addr: addr,
host: u.Query().Get("host"),
path: u.Path, path: u.Path,
origin: u.Query().Get("origin"), host: query.Get("host"),
origin: query.Get("origin"),
} }
if w.host == "" { if w.host == "" {