Exemplo n.º 1
0
        public void error()
        {
            var    taB    = project.Tables["temp"];
            var    error  = project.GetLastError();
            var    tmp    = "";
            string query  = string.Empty;
            string DB_set = project.Variables["DB_set"].Value;
            string id     = string.Empty;

            if (error != null)
            {
                tmp   = string.Format("ActionId: {0}", error.ActionId);
                query = "SELECT `id` from `log_errors` where `project`='" + project.Name + "' and `action`='" + tmp + "';";
                id    = ZennoPoster.Db.ExecuteQuery(query, null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, DB_set, " ", "\r\n");
                if (id == "")
                {
                    taB.Clear();
                    query = "INSERT INTO `log_errors` (`project`, `action`, `mes`,`object_id`) VALUES ('" + project.Name + "', '" + tmp + "', '" + instance.ActiveTab.DomText + "','" + project.Variables["id"].Value + "');\r\nSELECT `chat_id`,`token` from `admin_tg` where 1;";
                    ZennoPoster.Db.ExecuteQuery(query, null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, DB_set, ref taB);
                    string chat_tg = taB.GetCell(0, 0);
                    string Btok_tg = taB.GetCell(1, 0);
                    string message = "new error|" + project.Name + "|" + tmp;
                    ZennoPoster.HttpGet(
                        "https://api.telegram.org/bot" + Btok_tg + "/sendmessage?chat_id=" + chat_tg + "&text=" + message, //url
                        "",                                                                                                //proxy
                        "utf-8",                                                                                           //charset
                        ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderOnly
                        );
                }
            }
            query = "UPDATE `DB_users` SET `connects`=`connects`-1 WHERE  `value`='" + DB_set + "';\r\nupdate `si_" + project.Variables["site"].Value + "` set `run`='0' where `id`='" + project.Variables["id_profile"].Value + "';\r\nUPDATE `counters` SET `errors`=`errors`+1,`Bposts`=`Bposts`+1 WHERE  1;\r\nUPDATE  `objects` set `" + project.Variables["site"].Value + "`=3 where `id`='" + project.Variables["id"].Value + "';";
            ZennoPoster.Db.ExecuteQuery(query, null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, DB_set, " ", "\r\n");
        }
Exemplo n.º 2
0
        //Приватная функция получения номера сервиса snms-activate.ru
        public string smsactivate_getNumber(string ApiKey, string Proxy, string Service, string Forward, string Operator, out string smsactivate_number, out string smsactivate_id)
        {
            smsactivate_number = string.Empty;
            smsactivate_id     = string.Empty;

            string getnumber = ZennoPoster.HttpGet("http://sms-activate.ru/stubs/handler_api.php?api_key=" + ApiKey
                                                   + "&action=getNumber&service=" + Service
                                                   + "&forward=" + Forward
                                                   + "&operator=" + Operator
                                                   , Proxy, "UTF-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly);

            switch (getnumber)
            {
            case "BAD_KEY":
                throw new Exception("Неверный API-ключ");

            case "NO_KEY":
                throw new Exception("Укажите API-ключ");

            case "ERROR_SQL":
                throw new Exception("ошибка SQL-сервера");

            default:
                //Получаем номер
                smsactivate_number = System.Text.RegularExpressions.Regex.Replace(getnumber, @".*:", "");

                //Получаем id
                string idtemp = System.Text.RegularExpressions.Regex.Replace(getnumber, @"ACCESS.*?:", "");
                smsactivate_id = System.Text.RegularExpressions.Regex.Replace(idtemp, @":7.*", "");

                return("Получили номер и id сервиса sms-activate");
            }
        }
Exemplo n.º 3
0
        public void limit_2_999_999()
        {
            project.Variables["action"].Value = "check_limit";
            string query = "SELECT  `day_limit`  FROM `si_" + project.Variables["site"].Value + "` where `id`='" + project.Variables["id_profile"].Value + "';";

            query = ZennoPoster.Db.ExecuteQuery(query, null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, project.Variables["DB_set"].Value, " ", "\r\n");
            int l = int.Parse(query);

            if (l == 0)
            {
                project.SendInfoToLog("Достигнут суточный лимит", true);
                project.Variables["alert"].Value = "limit";
                string text = "<u>Достигнут суточный лимит на 2-999-999.ru</u>";
                string url  = project.Variables["url_for_notifications"].Value + project.Variables["user_id"].Value + "&msg=" + text;
                ZennoPoster.HttpGet(
                    url,           //url
                    "",            //proxy
                    "utf-8",       //charset
                    ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderOnly
                    );
                query = "UPDATE `DB_users` SET `connects`=`connects`-1 WHERE  `value`='" + project.Variables["DB_set"].Value + "';\r\nupdate `si_" + project.Variables["site"].Value + "` set `run`='0' where `id`='" + project.Variables["id_profile"].Value + "';\r\nUPDATE  `objects` set `" + project.Variables["site"].Value + "`=1 where `id`='" + project.Variables["id"].Value + "';";
                ZennoPoster.Db.ExecuteQuery(query, null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, project.Variables["DB_set"].Value, " ", "\r\n");
                throw new Exception("достигнут суточный лимит");
            }
        }
Exemplo n.º 4
0
        //Приватная функция получения баланса сервиса sms-activate.ru
        private string getbalance(string ApiKey, string Proxy)
        {
            string getbalance = ZennoPoster.HttpGet("http://sms-activate.ru/stubs/handler_api.php?api_key=" + ApiKey +
                                                    "&action=getBalance", Proxy, "UTF-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly);

            string balance = System.Text.RegularExpressions.Regex.Replace(getbalance, @".*?:", "");

            return(balance);
        }
Exemplo n.º 5
0
        /*Функция получения смс кода
         * Входящие значения:
         *  1) ApiKey - ключ API
         *  2) Proxy - текущий прокси проекта
         *  3) Number - номер телефона, на который проводится активация
         *  4) Id - id активации
         *  5) ArrTimers - массив таймеров:
         *     [0] - время ожидания смс
         *     [1] - общее время ожидания смс
         */

        private string sms_ok(string ApiKey, string Proxy, string Id, string Status)
        {
            // Объявляем переменные
            string smsstatus = string.Empty;
            string sms       = string.Empty;

            string setStatus = ZennoPoster.HttpGet("http://sms-activate.ru/stubs/handler_api.php?api_key=" + ApiKey +
                                                   "&action=setStatus&status=" + Status + "&id=" + Id, Proxy, "UTF-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly);

            switch (setStatus)
            {
            case "ACCESS_READY":
                for (int i = 0; i < 16; i++)
                {
                    smsstatus = ZennoPoster.HttpGet("http://sms-activate.ru/stubs/handler_api.php?api_key=" + ApiKey +
                                                    "&action=getStatus&id=" + Id, Proxy, "UTF-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly);
                    if (smsstatus.Contains("STATUS_OK"))
                    {
                        sms = System.Text.RegularExpressions.Regex.Replace(smsstatus, @".*OK:", "");
                        return(sms);
                    }
                    else
                    {
                        System.Threading.Thread.Sleep(60000);
                    }
                }
                break;

            case "ACCESS_ACTIVATION":
                return("Номер успешно подтверждён");

            case "STATUS_CANCEL":
                throw new Exception("Истёк срок ожидания прихода смс");

            case "ERROR_SQL":
                throw new Exception("Ошибка SQL-сервера");

            case "NO_ACTIVATION":
                throw new Exception("Id активации не существует");

            case "BAD_SERVICE":
                throw new Exception("Некорректное наименование сервиса");

            case "BAD_STATUS":
                throw new Exception("Некорректный статус");

            case "BAD_KEY":
                throw new Exception("Неверный API-ключ");

            case "BAD_ACTION":
                throw new Exception("Некорректное действие");
            }

            return(sms);
        }
 public static int GetNumberOfTries(string TaskName)
 {
     string sid = TaskHelper.GetTaskId(TaskName);
   var id = Guid.Parse(sid);
   var taskInfo = ZennoPoster.GetTaskInfo(id);
   string execsettings = Regex.Match(taskInfo,@"(?<=<ExecutionSettings>).*?(?=</ExecutionSettings>)").Value;
   string ntries =  Regex.Match(execsettings,@"(?<=<NumberOfTries>).*?(?=</NumberOfTries>)").Value;
   int res=0;
   Int32.TryParse(ntries,out res);
   return res;       
 }
 public static string GetStatus(string TaskName)
 {
   string sid = TaskHelper.GetTaskId(TaskName);
   var id = Guid.Parse(sid);
   var taskInfo = ZennoPoster.GetTaskInfo(id);
   string status = Regex.Match(taskInfo,@"(?<=<Status>).*?(?=</Status>)").Value;
   return status;
   
   //Perform - работает
   //Complite - завершен
   //Stop - остановлен
   //Schedule - запланирован
   //WaitPerform - компилится
 }
Exemplo n.º 8
0
        public void captcha1(string tag, string atr, string text, string search_type, int number)
        {
            project.Variables["action"].Value = "captcha1 " + text;
            string cps = "RuCaptcha.dll";

            if (project.Variables["cp_srv"].Value == "antigate")
            {
                cps = "Anti-Captcha.dll";
            }
            HtmlElement he     = instance.GetTabByAddress("page").GetDocumentByAddress("0").FindElementByTag("form", 1).FindChildByAttribute(tag, atr, text, search_type, number);
            var         result = ZennoPoster.CaptchaRecognition(cps, he.DrawToBitmap(false), "");
            var         tmp    = result.Split(new [] { "-|-" }, StringSplitOptions.None);

            if (tmp.Length > 1)
            {
                project.Variables["captcha"].Value     = tmp[0];
                project.Variables["bad_captcha"].Value = tmp[1];
            }
        }
Exemplo n.º 9
0
        public void save_form_2_999_999()
        {
            string query = string.Empty;
            string text  = string.Empty;

            if (instance.ActiveTab.DomText.Contains("Вы превысили свой суточный лимит"))
            {
                query = "update `si_" + project.Variables["site"].Value + "` set `day_limit`=0 where `id`='" + project.Variables["id_profile"].Value + "';";
                ZennoPoster.Db.ExecuteQuery(query, null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, project.Variables["DB_set"].Value, " ", "\r\n");
                text = "<u>Достигнут суточный лимит на 2-999-999.ru</u>";
            }
            text = "Объявление <u>" + project.Variables["inet_title"].Value + "</u> успешно размещено на 2-999-999.ru";
            string url      = project.Variables["url_for_notifications"].Value + project.Variables["user_id"].Value + "&msg=" + text;
            string responce = string.Empty;

            responce = ZennoPoster.HttpGet(
                url,               //url
                "",                //proxy
                "utf-8",           //charset
                ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderOnly
                );
            string DB_set        = project.Variables["DB_set"].Value;
            string site          = project.Variables["site"].Value;
            string id_profile    = project.Variables["id_profile"].Value;
            string objects_id_rk = string.Empty;

            query         = "select `objects_id_rk` from `si_" + site + "` where `id`='" + id_profile + "';";
            objects_id_rk = ZennoPoster.Db.ExecuteQuery(query, null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, DB_set, " ", "\r\n");
            if (objects_id_rk == "")
            {
                objects_id_rk = project.Variables["id"].Value;
            }
            else
            {
                objects_id_rk = objects_id_rk + "\r\n" + project.Variables["id"].Value;
            }
            query = "update `si_" + site + "` set `objects_count`=`objects_count`+1,  `objects_id_rk`='" + objects_id_rk + "',`run`='0' where `id`='" + project.Variables["id_profile"].Value + "';\r\nUPDATE `counters` SET `Gposts`=`Gposts`+1, `" + project.Variables["site"].Value + "P`=`" + project.Variables["site"].Value + "P`+1  WHERE  1;\r\nUPDATE `DB_users` SET `connects`=`connects`-1 WHERE  `value`='" + DB_set + "';\r\nupdate `si_" + project.Variables["site"].Value + "` set `day_limit`=`day_limit`-1 where `id`='" + project.Variables["id_profile"].Value + "';\r\nUPDATE  `objects` set `" + site + "`=1 where `id`='" + project.Variables["id"].Value + "';";
            ZennoPoster.Db.ExecuteQuery(query, null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, DB_set, " ", "\r\n");
            project.Profile.Save(project.Directory + @"\profile\" + project.Variables["id_profile"].Value + ".zpprofile");
        }
Exemplo n.º 10
0
        //Приватная функция получения количества свободных номеров
        private string getNumbersStatus(string ApiKey, string Proxy)
        {
            string getNumbersStatus = ZennoPoster.HttpGet("http://sms-activate.ru/stubs/handler_api.php?api_key=" + ApiKey +
                                                          "&action=getNumbersStatus", Proxy, "UTF-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly);
            var jsonser = new System.Web.Script.Serialization.JavaScriptSerializer();
            Dictionary <string, object> data = jsonser.Deserialize <Dictionary <string, object> >(getNumbersStatus);
            string vk   = data["vk_0"].ToString();
            string ok   = data["ok_0"].ToString();
            string wa   = data["wa_0"].ToString();
            string vi   = data["vi_0"].ToString();
            string tg   = data["tg_0"].ToString();
            string wb   = data["wb_0"].ToString();
            string go   = data["go_0"].ToString();
            string av   = data["av_0"].ToString();
            string av_1 = data["av_1"].ToString();
            string fb   = data["fb_0"].ToString();
            string tw   = data["tw_0"].ToString();
            string ub   = data["ub_0"].ToString();
            string qw   = data["qw_0"].ToString();
            string gt   = data["gt_0"].ToString();
            string sn   = data["sn_0"].ToString();
            string ig   = data["ig_0"].ToString();
            string ss   = data["ss_0"].ToString();
            string ym   = data["ym_0"].ToString();
            string ya   = data["ya_0"].ToString();
            string ma   = data["ma_0"].ToString();
            string mm   = data["mm_0"].ToString();
            string uk   = data["uk_0"].ToString();
            string me   = data["me_0"].ToString();
            string mb   = data["mb_0"].ToString();
            string we   = data["we_0"].ToString();
            string ot   = data["ot_0"].ToString();
            string ot_1 = data["ot_1"].ToString();

            return(ok);
        }
Exemplo n.º 11
0
        public void lists()
        {
            project.SendInfoToLog("подготовка списков", true);
            var recip      = project.Tables["recip"];
            var email      = project.Tables["email"];
            var subj       = project.Lists["subj"];
            var link       = project.Lists["link"];
            var paste_text = project.Lists["paste_text"];

            recip.Clear(); email.Clear(); subj.Clear(); link.Clear(); paste_text.Clear();
            string path = project.Variables["recip_list"].Value;
            var    val  = System.IO.File.ReadAllText(path);

            Macros.TextProcessing.ToTable(val, "\r\n", "Text", ":", "Text", project, recip);
            path = project.Variables["subj_list"].Value;
            val  = System.IO.File.ReadAllText(path);
            Macros.TextProcessing.ToList(val, "\r\n", "Text", project, subj);
            path = project.Variables["email_list"].Value;
            val  = System.IO.File.ReadAllText(path);
            Macros.TextProcessing.ToTable(val, "\r\n", "Text", ";", "Text", project, email);
            path = project.Variables["link_list"].Value;
            val  = System.IO.File.ReadAllText(path);
            Macros.TextProcessing.ToList(val, "\r\n", "Text", project, link);
            path = project.Variables["paste_text_list"].Value;
            val  = System.IO.File.ReadAllText(path);
            Macros.TextProcessing.ToList(val, "\r\n", "Text", project, paste_text);
            path = System.IO.File.ReadAllText(project.Directory + @"/set/s_bol.xml");
            path = Macros.TextProcessing.Replace(path, @"(?<=wait</Name><Value>).*?(?=</Value>)", project.Variables["limit_post_for_one_akk"].Value, "Regex", "All");
            path = Macros.TextProcessing.Replace(path, @"(?<=body</Name><Value>).*?(?=</Value>)", project.Variables["body"].Value, "Regex", "All");
            path = Macros.TextProcessing.Replace(path, @"(?<=proxy_type</Name><Value>).*?(?=</Value>)", project.Variables["proxy_type"].Value, "Regex", "All");
            val  = System.IO.File.ReadAllText(project.Variables["body"].Value);
            if (val.Contains(@"$PASTE_LINK$"))
            {
                path = Macros.TextProcessing.Replace(path, @"(?<=body_contains_link</Name><Value>).*?(?=</Value>)", "1", "Regex", "All");
            }
            else
            {
                path = Macros.TextProcessing.Replace(path, @"(?<=body_contains_link</Name><Value>).*?(?=</Value>)", "0", "Regex", "All");
            }
            if (val.Contains(@"$PASTE_TEXT$"))
            {
                path = Macros.TextProcessing.Replace(path, @"(?<=body_contains_text</Name><Value>).*?(?=</Value>)", "1", "Regex", "All");
            }
            else
            {
                path = Macros.TextProcessing.Replace(path, @"(?<=body_contains_text</Name><Value>).*?(?=</Value>)", "0", "Regex", "All");
            }
            System.IO.File.WriteAllText(project.Directory + @"/set/s_bol.xml", path);
            startInfo.FileName = string.Format(project.Directory + @"/set/s_bol.bat");
            Process.Start(startInfo);
            if (project.Variables["proxy_type"].Value == "nosok")
            {
                ZennoPoster.AddTries("Nosok", 1);
                System.Threading.Thread.Sleep(5 * 1000);
                if (!File.Exists(project.Directory + @"/proxy/proxy_nosok.txt"))
                {
                    System.Threading.Thread.Sleep(5 * 1000);
                }
            }

            int t = int.Parse(project.Variables["limit_post_for_one_akk"].Value);

            t = recip.RowCount / t;
            project.SendInfoToLog("Запуск потоков", true);
            System.Threading.Thread.Sleep(3 * 1000);

            ZennoPoster.AddTries("S_bol", t);
            System.Threading.Thread.Sleep(1 * 500);
        }
Exemplo n.º 12
0
 public void bad_captcha()
 {
     ZennoPoster.Db.ExecuteQuery("UPDATE `counters` SET `Bcaptcha`=`Bcaptcha`+1 WHERE  1;", null, ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.MySqlClient, project.Variables["DB_set"].Value, " ", "\r\n");
     ZennoPoster.HttpGet(project.Variables["bad_captcha"].Value);
 }