Chore: typos
This commit is contained in:
parent
c1821e28d3
commit
26dd6343a1
@ -13,11 +13,11 @@
|
||||
<img src="https://goreportcard.com/badge/github.com/Dreamacro/clash?style=flat-square">
|
||||
</a>
|
||||
<img src="https://img.shields.io/github/go-mod/go-version/Dreamacro/clash?style=flat-square">
|
||||
<a href="https://github.com/Dreamacro/clash/releases">
|
||||
<img src="https://img.shields.io/github/release/Dreamacro/clash/all.svg?style=flat-square">
|
||||
<a href="https://github.com/yaling888/clash/releases">
|
||||
<img src="https://img.shields.io/github/release/yaling888/clash/all.svg?style=flat-square">
|
||||
</a>
|
||||
<a href="https://github.com/Dreamacro/clash/releases/tag/premium">
|
||||
<img src="https://img.shields.io/badge/release-Premium-00b4f0?style=flat-square">
|
||||
<a href="https://github.com/yaling888/clash/releases/tag/plus_pro">
|
||||
<img src="https://img.shields.io/badge/release-Plus Pro-00b4f0?style=flat-square">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
|
@ -91,17 +91,16 @@ func (v *Vmess) StreamConn(c net.Conn, metadata *C.Metadata) (net.Conn, error) {
|
||||
wsOpts := &vmess.WebsocketConfig{
|
||||
Host: host,
|
||||
Port: port,
|
||||
Headers: http.Header{},
|
||||
Path: v.option.WSOpts.Path,
|
||||
MaxEarlyData: v.option.WSOpts.MaxEarlyData,
|
||||
EarlyDataHeaderName: v.option.WSOpts.EarlyDataHeaderName,
|
||||
}
|
||||
|
||||
if len(v.option.WSOpts.Headers) != 0 {
|
||||
header := http.Header{}
|
||||
for key, value := range v.option.WSOpts.Headers {
|
||||
header.Add(key, value)
|
||||
wsOpts.Headers.Add(key, value)
|
||||
}
|
||||
wsOpts.Headers = header
|
||||
}
|
||||
|
||||
if v.option.TLS {
|
||||
@ -138,9 +137,6 @@ func (v *Vmess) StreamConn(c net.Conn, metadata *C.Metadata) (net.Conn, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
} else {
|
||||
http.Header(v.option.HTTPOpts.Headers).Set("Host", convert.RandHost())
|
||||
convert.SetUserAgent(v.option.HTTPOpts.Headers)
|
||||
}
|
||||
|
||||
host, _, _ := net.SplitHostPort(v.addr)
|
||||
|
@ -57,8 +57,9 @@ func ParseProxy(mapping map[string]any, forceCertVerify bool) (C.Proxy, error) {
|
||||
case "vmess":
|
||||
vmessOption := &outbound.VmessOption{
|
||||
HTTPOpts: outbound.HTTPOptions{
|
||||
Method: "GET",
|
||||
Path: []string{"/"},
|
||||
Method: "GET",
|
||||
Path: []string{"/"},
|
||||
Headers: make(map[string][]string),
|
||||
},
|
||||
}
|
||||
err = decoder.Decode(mapping, vmessOption)
|
||||
|
@ -11,7 +11,6 @@ import (
|
||||
|
||||
"github.com/Dreamacro/clash/common/convert"
|
||||
"github.com/Dreamacro/clash/component/dialer"
|
||||
C "github.com/Dreamacro/clash/constant"
|
||||
types "github.com/Dreamacro/clash/constant/provider"
|
||||
)
|
||||
|
||||
@ -82,13 +81,11 @@ func (h *HTTPVehicle) Read() ([]byte, error) {
|
||||
IdleConnTimeout: 90 * time.Second,
|
||||
TLSHandshakeTimeout: 10 * time.Second,
|
||||
ExpectContinueTimeout: 1 * time.Second,
|
||||
DialContext: func(ctx context.Context, network, address string) (conn net.Conn, err error) {
|
||||
conn, err = dialer.DialContext(ctx, network, address) // with direct
|
||||
if err != nil {
|
||||
// fallback to tun if tun enabled
|
||||
conn, err = (&net.Dialer{Timeout: C.DefaultTCPTimeout}).Dial(network, address)
|
||||
DialContext: func(ctx context.Context, network, address string) (net.Conn, error) {
|
||||
if req.URL.Scheme == "https" {
|
||||
return (&net.Dialer{}).DialContext(ctx, network, address) // forward to tun if tun enabled
|
||||
}
|
||||
return
|
||||
return dialer.DialContext(ctx, network, address, dialer.WithDirect()) // with direct
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -21,21 +21,24 @@ func DecodeBase64(buf []byte) ([]byte, error) {
|
||||
return dBuf[:n], nil
|
||||
}
|
||||
|
||||
// DecodeBase64StringToString decode base64 string to string
|
||||
func DecodeBase64StringToString(s string) (string, error) {
|
||||
dBuf, err := enc.DecodeString(s)
|
||||
func DecodeRawBase64(buf []byte) ([]byte, error) {
|
||||
dBuf := make([]byte, base64.RawStdEncoding.DecodedLen(len(buf)))
|
||||
n, err := base64.RawStdEncoding.Decode(dBuf, buf)
|
||||
if err != nil {
|
||||
return "", err
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return string(dBuf), nil
|
||||
return dBuf[:n], nil
|
||||
}
|
||||
|
||||
// ConvertsV2Ray convert V2Ray subscribe proxies data to clash proxies config
|
||||
func ConvertsV2Ray(buf []byte) ([]map[string]any, error) {
|
||||
data, err := DecodeBase64(buf)
|
||||
if err != nil {
|
||||
data = buf
|
||||
data, err = DecodeRawBase64(buf)
|
||||
if err != nil {
|
||||
data = buf
|
||||
}
|
||||
}
|
||||
|
||||
arr := strings.Split(string(data), "\n")
|
||||
|
@ -51,11 +51,11 @@ func NewGEOSITE(country string, adapter string) (*GEOSITE, error) {
|
||||
return nil, fmt.Errorf("load GeoSite data error, %s", err.Error())
|
||||
}
|
||||
|
||||
cont := fmt.Sprintf("%d", recordsCount)
|
||||
count := fmt.Sprintf("%d", recordsCount)
|
||||
if recordsCount == 0 {
|
||||
cont = "from cache"
|
||||
count = "from cache"
|
||||
}
|
||||
log.Infoln("Start initial GeoSite rule %s => %s, records: %s", country, adapter, cont)
|
||||
log.Infoln("Start initial GeoSite rule %s => %s, records: %s", country, adapter, count)
|
||||
|
||||
geoSite := &GEOSITE{
|
||||
Base: &Base{},
|
||||
|
Reference in New Issue
Block a user