Feature: support vmess tls mode

This commit is contained in:
Dreamacro
2018-09-08 19:53:24 +08:00
parent 834baa9e27
commit fcb46e7706
4 changed files with 33 additions and 2 deletions

View File

@ -246,7 +246,8 @@ func (c *Config) parseProxies(cfg *ini.File) error {
if err != nil {
return err
}
vmess, err := adapters.NewVmess(key.Name(), addr, proxy[3], uint16(alterID), proxy[5])
option := parseOptions(6, proxy...)
vmess, err := adapters.NewVmess(key.Name(), addr, proxy[3], uint16(alterID), proxy[5], option)
if err != nil {
return err
}

View File

@ -27,3 +27,20 @@ func or(pointers ...*int) *int {
}
return pointers[len(pointers)-1]
}
func parseOptions(startIdx int, params ...string) map[string]string {
mapping := make(map[string]string)
if len(params) <= startIdx {
return mapping
}
for _, option := range params[startIdx:] {
pair := strings.SplitN(option, "=", 2)
if len(pair) != 2 {
continue
}
mapping[strings.Trim(pair[0], " ")] = strings.Trim(pair[1], " ")
}
return mapping
}