diff --git a/parser/shadowsocksr.go b/parser/shadowsocksr.go index 8c9bace..9139068 100644 --- a/parser/shadowsocksr.go +++ b/parser/shadowsocksr.go @@ -28,7 +28,14 @@ func ParseShadowsocksR(proxy string) (model.Proxy, error) { protocol := parts[2] method := parts[3] obfs := parts[4] - password := parts[5] + password, err := DecodeBase64(parts[5]) + if err != nil { + return model.Proxy{}, &ParseError{ + Type: ErrInvalidStruct, + Raw: proxy, + Message: err.Error(), + } + } port, err := ParsePort(parts[1]) if err != nil { return model.Proxy{}, &ParseError{