Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package mskins.promo;
- import org.openqa.selenium.By;
- import org.openqa.selenium.StaleElementReferenceException;
- import org.openqa.selenium.TimeoutException;
- import org.openqa.selenium.WebDriver;
- import org.openqa.selenium.WebElement;
- import org.openqa.selenium.firefox.FirefoxDriver;
- import org.openqa.selenium.htmlunit.HtmlUnitDriver;
- import org.openqa.selenium.ie.InternetExplorerDriver;
- import org.openqa.selenium.support.ui.ExpectedConditions;
- import org.openqa.selenium.support.ui.WebDriverWait;
- import com.gargoylesoftware.htmlunit.BrowserVersion;
- import java.util.List;
- import java.util.Vector;
- import java.io.BufferedReader;
- import java.io.DataInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.Reader;
- import java.time.Duration;
- import org.json.simple.JSONArray;
- import org.json.simple.JSONObject;
- import org.json.simple.parser.JSONParser;
- import org.json.simple.parser.ParseException;
- class User {
- public String username;
- public String password;
- }
- class CreateBrowser extends Thread {
- public WebDriver[] browsers;
- public int index;
- public CreateBrowser(WebDriver[] _browsers, int _index) {
- browsers = _browsers;
- index = _index;
- }
- public void run() {
- //WebDriver browser = new FirefoxDriver();
- WebDriver browser = new HtmlUnitDriver(BrowserVersion.INTERNET_EXPLORER_11);
- ((HtmlUnitDriver)browser).setJavascriptEnabled(true);
- //browser.manage().window().maximize();
- synchronized(browsers) {
- browsers[index] = browser;
- }
- }
- }
- class Authorize extends Thread {
- public WebDriver[] browsers;
- public User[] users;
- public int index;
- public Authorize(WebDriver[] _browsers, User[] _users, int _index) {
- browsers = _browsers;
- users = _users;
- index = _index;
- }
- public void run() {
- WebDriver browser;
- synchronized (browsers) {
- browser = browsers[index];
- }
- boolean fl = true;
- synchronized (App.mt) {
- browser.get("https://meowskins.cc/oauth/steam/redirect");
- WebElement username = browser.findElement(By.xpath("//input[@name=\"username\"]"));
- WebElement password = browser.findElement(By.xpath("//input[@name=\"password\"]"));
- username.sendKeys(users[index].username);
- password.sendKeys(users[index].password);
- username.submit();
- try {
- App.wait(browser, "//input[@class=\"authcode_entry_input authcode_placeholder\"]", 5);
- }
- catch (TimeoutException e) {
- fl = false;
- }
- if (fl) {
- try {
- Thread.sleep(3000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- try {
- Runtime.getRuntime().exec("mail.exe");
- } catch (IOException e) {
- e.printStackTrace();
- }
- try {
- Thread.sleep(7000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- if (fl) {
- String guard = "";
- try {
- BufferedReader reader = new BufferedReader(new FileReader("mail.txt"));
- guard = reader.readLine();
- reader.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- WebElement guardinp =
- browser.findElement(By.xpath("//input[@class=\"authcode_entry_input authcode_placeholder\"]"));
- guardinp.sendKeys(guard);
- guardinp.submit();
- App.wait(browser, "//*[@id=\"success_continue_btn\"]", 100);
- WebElement authButton = browser.findElement(By.xpath("//*[@id=\"success_continue_btn\"]"));
- authButton.click();
- }
- else {
- browser.get("https://meowskins.cc/oauth/steam/redirect");
- App.wait(browser, "//input[@class=\"btn_green_white_innerfade\"]", 100);
- WebElement button = browser.findElement(By.xpath("//input[@class=\"btn_green_white_innerfade\"]"));
- button.click();
- }
- try {
- Thread.sleep(10000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- browser.get("https://meowskins.cc/");
- System.out.println("I'm here.");
- App.wait(browser, "//div[@class=\"mini-profile-ava\"]//img", 100);
- WebElement ava = browser.findElement(By.xpath("//div[@class=\"mini-profile-ava\"]//img"));
- ava.click();
- App.wait(browser, "//input[@data-v-e6fade42]", 100);
- }
- }
- class InputCode extends Thread {
- WebDriver[] browsers;
- int index;
- String code;
- public InputCode(WebDriver[] _browsers, int _index, String _code) {
- browsers = _browsers;
- index = _index;
- code = _code;
- }
- public void run() {
- WebDriver browser = browsers[index];
- App.wait(browser, "//input[@data-v-e6fade42]", 100);
- WebElement form = browser.findElement(By.xpath("//input[@data-v-e6fade42]"));
- //form.clear();
- form.sendKeys(code);
- form.submit();
- /* while (true) {
- App.wait(browser, "//input[@data-v-e6fade42]", 100);
- WebElement form = browser.findElement(By.xpath("//input[@data-v-e6fade42]"));
- form.clear();
- form.sendKeys(code);
- form.submit();
- App.wait(browser, "//div[@class=\"noty_body\"]", 100);
- List <WebElement> errors = browser.findElements(By.xpath("//div[@class=\"noty_body\"]"));
- boolean fl = true;
- for (int i = 0; i < errors.size(); i++) {
- try {
- if (!errors.get(i).getText().contains("Предупреждение")) {
- fl = false;
- break;
- }
- }
- catch (StaleElementReferenceException e) {}
- }
- if (!fl)
- break;
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- } */
- System.out.println("kk");
- }
- }
- public class App {
- public static Object mt;
- public static void wait(WebDriver browser, String xpath, int t) {
- WebDriverWait waiter = new WebDriverWait(browser, t);
- waiter.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xpath)));
- }
- public static User[] read() throws FileNotFoundException, IOException, ParseException {
- JSONParser parser = new JSONParser();
- JSONArray all = (JSONArray)parser.parse(new FileReader("data.json"));
- User[] ans = new User[all.size()];
- for (int i = 0; i < all.size(); i++) {
- JSONObject userobj = (JSONObject)all.get(i);
- User user = new User();
- user.username = (String)userobj.get("username");
- user.password = (String)userobj.get("password");
- ans[i] = user;
- }
- return ans;
- }
- public static void getProxies(String[] proxyIPs, String[] proxyPorts) throws InterruptedException {
- WebDriver proxyGetter = new FirefoxDriver();
- int cnt = 0;
- proxyGetter.get("https://free-proxy-list.net/");
- wait(proxyGetter, "//*[@id=\"proxylisttable\"]", 100);
- for (int i = 0; i < 3; i++) {
- List <WebElement> page =
- proxyGetter.findElements(By.xpath("//table[@id=\"proxylisttable\"]/tbody/tr/td[1]"));
- List <WebElement> ports =
- proxyGetter.findElements(By.xpath("//table[@id=\"proxylisttable\"]/tbody/tr/td[2]"));
- for (int j = 0; j < page.size(); j++) {
- proxyIPs[cnt] = page.get(j).getText();
- proxyPorts[cnt++] = page.get(j).getText();
- }
- WebElement button = proxyGetter.findElement(By.xpath("//a[@data-dt-idx=\"9\"]"));
- button.click();
- Thread.sleep(300);
- }
- proxyGetter.quit();
- }
- public static void main(String[] args) throws InterruptedException, IOException, ParseException {
- mt = new Object();
- //System.setProperty("webdriver.gecko.driver", "geckodriver.exe");
- //System.setProperty("webdriver.ie.driver", "IEDriverServer.exe");
- User[] users = read();
- int n = users.length;
- WebDriver[] browsers = new WebDriver[n];
- String[] proxyIPs = new String[60];
- String[] proxyPorts = new String[60];
- Thread[] threads = new Thread[n];
- //getProxies(proxyIPs, proxyPorts);
- for (int i = 0; i < n; i++) {
- CreateBrowser t = new CreateBrowser(browsers, i);
- threads[i] = t;
- t.start();
- }
- for (int i = 0; i < n; i++)
- threads[i].join();
- for (int i = 0; i < n; i++) {
- Authorize t = new Authorize(browsers, users, i);
- threads[i] = t;
- t.start();
- }
- for (int i = 0; i < n; i++)
- threads[i].join();
- BufferedReader cin = new BufferedReader(new InputStreamReader(System.in));
- while (true) {
- System.out.println("Введи промокод:");
- String code = "";
- code = cin.readLine();
- if (code.equals("exit"))
- break;
- for (int i = 0; i < n; i++) {
- InputCode t = new InputCode(browsers, i, code);
- threads[i] = t;
- t.start();
- }
- for (int i = 0; i < n; i++)
- threads[i].join();
- }
- for (int i = 0; i < n; i++)
- browsers[i].quit();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement