{"javascript":"$(document).ready(function() {\n\n /////Translate interface\n /////List of localization keys, feel free to extend it.\n InitTranslations({\n \"Email Used\": {\n \"ru\": \"First Results\"\n },\n \"Username Used\": {\n \"ru\": \"Second Results\"\n },\n \"Password Used\": {\n \"ru\": \"Third Results\"\n },\n \"Number Used\": {\n \"ru\": \"Fourth Results\"\n },\n \"SMS Recieved\": {\n \"ru\": \"Fifth Results\"\n },\n \"Token Output\": {\n \"ru\": \"Sixth Results\"\n },\n \"Number Cancelled\": {\n \"ru\": \"Seventh Results\"\n },\n \"Please enter an amount of tokens which should be created.\": {\n \"ru\": \"Пожалуйста, введите количество токенов, которое необходимо создать.\"\n },\n \"Please Choose on of the Captcha Solver\": {\n \"ru\": \"Пожалуйста, выберите один из Captcha Solver\"\n },\n \"Please Enter your API Key from a Solver, choosed before.\": {\n \"ru\": \"Пожалуйста, введите свой ключ API из Солвера, выбранного ранее.\"\n },\n \"Please Select an API for Email Verification\": {\n \"ru\": \"Пожалуйста, выберите API для проверки электронной почты\"\n },\n \"Please enter the API Key for the Service you use for Email\": {\n \"ru\": \"Пожалуйста, введите ключ API для службы, которую вы используете для электронной почты.\"\n },\n \"Please Choose one of SMS Provider.\": {\n \"ru\": \"Пожалуйста, выберите одного из провайдеров SMS.\"\n },\n \"Please Enter your API Key for the SMS Services, choosed before.\": {\n \"ru\": \"Пожалуйста, введите ваш API-ключ для SMS-сервисов, выбранных ранее.\"\n },\n \"Please set an Operator or leave it empty.\": {\n \"ru\": \"Укажите оператора или оставьте поле пустым.\"\n },\n \"Please Write the Country you would like to receive numbers, shortened like: UA,US,RU,TJ , this is essential for the Phone Verification Service.\": {\n \"ru\": \"Пожалуйста, напишите страну, в которой вы хотели бы получить номера, сокращенно, например: UA,US,RU,TJ, это важно для службы проверки телефона.\"\n },\n \"Please the write the Country written in Full which you picked before. RU=RUSSIA,UA=UKRAINE ETC.\": {\n \"ru\": \"Пожалуйста, напишите полностью страну, которую вы выбрали ранее. RU=РОССИЯ,UA=УКРАИНА И Т.Д.\"\n },\n \"The APIS are sending the CountryCode too. So we need to delete the Country Code. For each Digit of Countrycode add 1+\": {\n \"ru\": \"APIS также отправляет CountryCode. Поэтому нам нужно удалить код страны. Для каждой цифры кода страны добавьте 1+\"\n },\n \"Currently fingerprint changer is a must be otherwise Script doesnt work correctly.\": {\n \"ru\": \"В настоящее время сменщик отпечатков пальцев является обязательным, иначе скрипт не работает правильно.\"\n },\n \"Please Enter Your FingerPrint key, if you use fingerprint.\": {\n \"ru\": \"Пожалуйста, введите свой ключ отпечатка пальца, если вы используете отпечаток пальца.\"\n },\n \"Please enter a .txt file with your Proxies\": {\n \"ru\": \"Пожалуйста, введите файл .txt с вашими прокси\"\n },\n \"Please Select the Proxytype you are using.\": {\n \"ru\": \"Пожалуйста, выберите тип прокси, который вы используете.\"\n },\n \"Supported Proxy Formats\": {\n \"ru\": \"Поддерживаемые форматы прокси\"\n },\n \"Please enter if you want to use your own or generated Names\": {\n \"ru\": \"Пожалуйста, введите, если вы хотите использовать свои собственные или сгенерированные имена\"\n },\n \"Please enter a .txt file with Names\": {\n \"ru\": \"Пожалуйста, введите файл .txt с именами\"\n },\n \"Please select how the tokens should be generated.\": {\n \"ru\": \"Выберите способ генерации токенов.\"\n },\n \"Please enter the file where tokens should be safed.\": {\n \"ru\": \"Пожалуйста, введите файл, в котором должны быть сохранены токены.\"\n },\n \"This is the file where only the token will be saved.\": {\n \"ru\": \"Это файл, в котором будет сохранен только токен.\"\n },\n \"Set amount of fails after script which will stop.\": {\n \"ru\": \"Установите количество сбоев после того, как скрипт остановится.\"\n }\n })\n\n $(\".TranslateEn\").on(\"click\", function(event) {\n Translate(\"en\")\n })\n\n $(\".TranslateRu\").on(\"click\", function(event) {\n Translate(\"ru\")\n })\n\n /////Init manual captcha solving interface\n InitManualCaptchaSolver()\n\n /////Show dialogs when clicked on buttons of LinesFromFile or FilesFromDirectory resource types. \n InitFileAndFolderChooserButtons()\n\n /////Hide main global tab header on start\n $(\"#GlobalTabsHeader\").hide()\n\n /////Init dialogs to edit random strings\n InitRandomStringModals()\n\n /////Init validation and resource visibility\n InitResourcesValidationAndVisibility()\n\n /////Init successes and fails graph\n InitPulse()\n\n /////Init browser viewer\n InitBrowserViewer()\n\n /////Api event handler\n Api.SetEventHandler(function(EventType, EventData) {\n\n /////Script started, need to switch tabs and update interface\n if (EventType == \"start\") {\n UIkit.tab($(\"#GlobalTabsHeader\")[0]).show(1);\n $(\"#CardStatusRunning\").show()\n $(\"#CardStatusStopped\").hide()\n $(\"#ThreadsRunning\").html(\"0\")\n $(\"#Success\").html(\"0\")\n $(\"#Failures\").html(\"0\")\n $(\"#BrowserNumber\").html(\"0\")\n $(\"#BrowserManualNumber\").html(\"0\")\n $(\"#BrowserManualMessage\").hide()\n $(\"#Logs\").css(\"max-height\", \"400px\")\n $(\"#ExpandLog\").show()\n $(\"#HideLog\").hide()\n\n /////Clear captchas controls\n ClearCaptchas()\n\n /////Refresh result downloaded number\n $(\".ResultNumber\").html(\"0\")\n\n ClearBrowserViewer()\n\n /////Clear successes and fails graph\n ClearPulse();\n /////Clear logs\n $('#Logs').html(\"\")\n }\n\n /////Script stopped, need to update interface\n if (EventType == \"stop\") {\n UIkit.tab($(\"#GlobalTabsHeader\")[0]).show(1);\n $(\"#CardStatusRunning\").hide()\n $(\"#CardStatusStopped\").show()\n $(\"#ThreadsRunning\").html(\"0\")\n $(\"#BrowserNumber\").html(\"0\")\n $(\"#BrowserManualNumber\").html(\"0\")\n $(\"#BrowserManualMessage\").hide()\n }\n\n /////Update result number counter\n if (EventType == \"result\") {\n let ResultNumberElement = $(\".ResultNumber[data-index=\" + EventData[\"number\"] + \"]\")\n let CurrentValue = parseInt(ResultNumberElement.html())\n ResultNumberElement.html((CurrentValue + 1).toString())\n }\n\n /////Process captcha\n if (EventType == \"captcha\") {\n AddCaptcha(EventData[\"id\"], EventData[\"is_image\"], EventData[\"data\"])\n }\n\n /////Script restarted, need to switch tabs\n if (EventType == \"restart\") {\n UIkit.tab($(\"#GlobalTabsHeader\")[0]).show(0);\n $(\"#RunScript\").removeAttr(\"disabled\")\n }\n\n\n\n /////Display log\n if (EventType == \"log\") {\n let Logs = $('#Logs');\n let LogLine = $(\"
\").addClass(\"log-line\").attr(\"data-log-type\", EventData[\"type\"])\n let Text = $(\"\").text(EventData[\"text\"])\n\n /////Add action id\n if (EventData[\"action_id\"]) {\n LogLine.append($(\"\").text(\"[\" + EventData[\"action_id\"] + \"] \").addClass(\"uk-text-muted\"))\n }\n\n /////Set color\n if (EventData[\"type\"] == \"success\") {\n Text.addClass(\"uk-text-success\")\n } else if (EventData[\"type\"] == \"info\") {\n Text.addClass(\"uk-text-muted\")\n } else if (EventData[\"type\"] == \"fail\") {\n Text.addClass(\"uk-text-danger\")\n }\n\n /////Remove old lines\n $('#Logs .log-line').slice(500).remove();\n\n\n /////Append text\n LogLine.append(Text)\n Logs.prepend(LogLine)\n }\n\n /////Browser started, need to update running browser label\n if (EventType == \"browser_add\") {\n let CurrentValue = parseInt($(\"#BrowserNumber\").html())\n $(\"#BrowserNumber\").html((CurrentValue + 1).toString())\n\n /////Add browser to viewer\n AddBrowser(EventData[\"browser_id\"], EventData[\"thread_number\"])\n }\n /////Browser finished, need to update running browser label\n if (EventType == \"browser_remove\") {\n let CurrentValue = parseInt($(\"#BrowserNumber\").html())\n $(\"#BrowserNumber\").html((CurrentValue - 1).toString())\n\n /////Remove browser from viewer\n RemoveBrowser(EventData[\"browser_id\"], EventData[\"thread_number\"])\n }\n\n /////Browser is under user control\n if (EventType == \"manual_control_start\") {\n let CurrentValue = parseInt($(\"#BrowserManualNumber\").html()) + 1\n $(\"#BrowserManualNumber\").html((CurrentValue).toString())\n if (CurrentValue > 0)\n $(\"#BrowserManualMessage\").show()\n\n ManualControlStart(EventData[\"browser_id\"])\n }\n /////Browser is under script control\n if (EventType == \"manual_control_end\") {\n let CurrentValue = parseInt($(\"#BrowserManualNumber\").html()) - 1\n $(\"#BrowserManualNumber\").html((CurrentValue).toString())\n if (CurrentValue <= 0)\n $(\"#BrowserManualMessage\").hide()\n\n ManualControlStop(EventData[\"browser_id\"])\n }\n\n /////Thread started, need to update running threads label\n if (EventType == \"thread_start\") {\n let CurrentValue = parseInt($(\"#ThreadsRunning\").html())\n $(\"#ThreadsRunning\").html((CurrentValue + 1).toString())\n }\n\n /////Thread ended, need to update running threads label and success or failures\n if (EventType == \"thread_end\") {\n let CurrentValue = parseInt($(\"#ThreadsRunning\").html())\n $(\"#ThreadsRunning\").html((CurrentValue - 1).toString())\n\n if (EventData[\"success\"]) {\n CurrentValue = parseInt($(\"#Success\").html())\n $(\"#Success\").html((CurrentValue + 1).toString())\n\n /////Update successes and fails graph\n AddSuccessToPulse()\n } else {\n CurrentValue = parseInt($(\"#Failures\").html())\n $(\"#Failures\").html((CurrentValue + 1).toString())\n\n /////Update successes and fails graph\n AddFailsToPulse()\n }\n }\n\n /////Database structure changed, need to update database resources\n if (EventType == \"database_structure_changed\") {\n UpdateDatabaseResources()\n }\n\n })\n\n /////Start script after run button is clicked\n $(\"#RunScript\").on(\"click\", function() {\n\n /////Validate resources\n if (IsResourcesValid()) {\n /////Disable run button immediately\n $(\"#RunScript\").attr(\"disabled\", \"disabled\")\n /////Start script\n Api.AcceptResources()\n } else {\n /////Ask user if he want to continue\n UIkit.modal.confirm(tr('There are incorrectly filled fields on the form. Are you sure, that you want to continue?')).then(function() {\n $(\"#RunScript\").attr(\"disabled\", \"disabled\")\n Api.AcceptResources()\n });\n }\n });\n\n /////Show all log\n $(\"#ExpandLog\").on(\"click\", function() {\n $(\"#Logs\").css(\"max-height\", \"100000px\")\n $(\"#ExpandLog\").hide()\n $(\"#HideLog\").show()\n });\n\n /////Hide log partly\n $(\"#HideLog\").on(\"click\", function() {\n $(\"#Logs\").css(\"max-height\", \"400px\")\n $(\"#ExpandLog\").show()\n $(\"#HideLog\").hide()\n });\n\n\n /////Stop script after run button is clicked\n $(\"#StopScript\").on(\"click\", function() {\n /////Ask user if he wants to stop thread instantly\n UIkit.modal.dialog(`Loading ...\n
Loading ...\n