private void textUrl_TextChanged(object sender, EventArgs e)
        {
            var    url   = textUrl.Text;
            string title = "";

            Byte[] pageData, originString = null;

            WebClient MyWebClient = new WebClient();

            MyWebClient.Credentials = CredentialCache.DefaultCredentials;
            try
            {
                pageData = MyWebClient.DownloadData(url);
                string pageHtml = Encoding.Default.GetString(pageData);
                if (pageHtml == "")
                {
                    return;
                }
                originString = Convert.FromBase64String(pageHtml);
            }
            catch
            {
                return;
            }

            string ssUrl = System.Text.Encoding.UTF8.GetString(originString);
            var    match = UrlFinderR.Match(ssUrl);

            if (match.Success)
            {
                var ssrLink    = controller.Base64UrlDecode(match.Groups["base64"].Value);
                var GroupMatch = GroupFinder.Match(ssrLink);
                if (GroupMatch.Success)
                {
                    title          = controller.Base64UrlDecode(GroupMatch.Groups["base64"].Value);
                    textGroup.Text = title;

                    var index = SubscribeListBox.SelectedIndex;
                    if (index != -1)
                    {
                        SubscribeListBox.Items.RemoveAt(index);
                        SubscribeListBox.Items.Insert(index, title + " - " + url);

                        SubscribeList[index].title = title;
                        SubscribeList[index].url   = url;

                        SubscribeListBox.SelectedIndex = index;
                    }
                }
            }
        }