From a7c729883eb67edb465ce4ce0091291c77438b9f Mon Sep 17 00:00:00 2001 From: Max Lv Date: Wed, 30 Nov 2016 15:26:19 +0800 Subject: [PATCH] Fix #989 --- src/main/scala/com/github/shadowsocks/utils/Parser.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/scala/com/github/shadowsocks/utils/Parser.scala b/src/main/scala/com/github/shadowsocks/utils/Parser.scala index 740ccaa5..3b63810c 100644 --- a/src/main/scala/com/github/shadowsocks/utils/Parser.scala +++ b/src/main/scala/com/github/shadowsocks/utils/Parser.scala @@ -25,7 +25,7 @@ import com.github.shadowsocks.database.Profile object Parser { val TAG = "ShadowParser" - private val pattern = "(?i)ss://([A-Za-z0-9+-/=_]+)".r + private val pattern = "(?i)ss://([A-Za-z0-9+-/=_]+)(#.+)?".r private val decodedPattern = "(?i)^((.+?)(-auth)??:(.*)@(.+?):(\\d+?))$".r def findAll(data: CharSequence) = pattern.findAllMatchIn(if (data == null) "" else data).map(m => try @@ -38,6 +38,7 @@ object Parser { profile.name = ss.group(5) profile.host = profile.name profile.remotePort = ss.group(6).toInt + if (m.group(2) != null) profile.name = m.group(2).substring(1) profile case _ => null }