Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "WpClient.h"
- WpClient::WpClient() {
- icon.addFile(":/wp.ico");
- accName = "Wp";
- accHost = "wp.pl";
- accInfo = "<b>Pojemność:</b> b/l<br><b>Max segment:</b> 100 MB";
- /*accImapHost = "imap.wp.pl";
- accImapPort = 993;
- accImapSsl = true;*/
- accDownload = true;
- accKreator = true;
- accForward = false;
- accRemoveSpam = false;
- minLoginLength = 2;
- maxLoginLength = 32;
- minPasswordLength = 8;
- maxPasswordLength = 30;
- currentPage = 1;
- bGetLogin = true;
- readReply = false;
- postData = "";
- //loginUrl = "http://m.poczta.wp.pl/";
- kreatorUrl = "http://profil.wp.pl/rejestracja.html?";
- waitForToken = true;
- page->settings()->setAttribute(QWebSettings::JavascriptEnabled, true);
- page->settings()->setDefaultTextEncoding("utf-8");
- }
- void WpClient::logIn() {
- QString source = page->mainFrame()->toHtml();
- if (source.contains("id=\"notification_loginFailure\"")) {
- emit setStatus(Acc::WrongLoginOrPassword);
- emit addToLog(Acc::WrongLoginOrPassword, " ["+login+"@" + accHost + "]");
- emit errorSignal(); // rozpocznij ściąganie ale z innego konta
- return;
- }
- if(page->mainFrame()->url().isEmpty()) {
- page->setUserAgent("Mozilla/5.0 (Linux; U; Android 4.0.3; ko-kr; LG-L160L Build/IML74K) AppleWebkit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30");
- emit setStatus(Acc::Logging);
- postRequest("https://profil.wp.pl/mlogin.html?login_username="+login+"%40wp.pl&login_password="+password+"&_action=login&flg=1&minipoczta=1&url=http%3A%2F%2Fm.poczta.wp.pl%2Findex.html", postData);
- return;
- }
- if(source.contains("<title>Mini poczta Nowe</title>")){
- //qDebug() << login << password;
- emit logedIn();
- return;
- }
- if(source.contains("Trwa ładowanie..."))
- return;
- //nieznany błąd
- qDebug() << source;
- outLog(source);
- emit setStatus(Acc::UnnownError);
- emit addToLog(Acc::UnnownError);
- emit errorSignal();
- }
- void WpClient::readSegments() {
- QString source = page->mainFrame()->toHtml();
- if(source.contains("<title>Mini poczta Nowe</title>")){
- emit setStatus(Acc::ListingSegments);
- QByteArray postData("{\"ActionName\":\"service\", \"serviceName\":\"MessageList\", \"methodName\":\"getPart\", \"folder\":\".Nowe\", \"column\":\"ARRIVAL\", \"ascOrder\":false, \"pageNr\":999, \"categories\":\"[1,0]\", \"userLogin\":\"");
- postData.append(login.toLower());
- postData.append("\"}");
- QNetworkRequest netRequest;
- netRequest.setUrl(QUrl("http://poczta.wp.pl/jsongwt.html"));
- netRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json; charset=UTF-8");
- page->mainFrame()->load(netRequest, QNetworkAccessManager::PostOperation, postData);
- return;
- }
- if(source.contains("{\"Results\":[{\"uids\":")) {
- QRegExp id("\\[\\{\"uids\":[^\\}]*\\]");
- int poss = id.indexIn(source);
- QStringList lista = id.capturedTexts();
- QString idw=lista[0];
- idw = idw.remove(0,10);
- idw = idw.remove(idw.length()-1,1);
- QByteArray postData("{\"ActionName\":\"service\", \"serviceName\":\"MessageList\", \"methodName\":\"getHeaders\", \"uids\":[");
- postData.append(idw);
- postData.append("], \"userLogin\":\"");
- postData.append(login.toLower());
- postData.append("\"}");
- QNetworkRequest netRequest;
- netRequest.setUrl(QUrl("http://poczta.wp.pl/jsongwt.html"));
- netRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json; charset=UTF-8");
- page->mainFrame()->load(netRequest, QNetworkAccessManager::PostOperation, postData);
- return;
- }
- if(source.contains("\"ResultName\":\"results_Msgheadersresult\"")) {
- QStringList tmp = source.split("{");
- foreach(QString itm, tmp)
- {
- QRegExp id("\"uid\":(\\d+),\"subject\":\"([^\"]+)\"");
- int poss = id.indexIn(itm);
- QStringList lista = id.capturedTexts();
- QList<QString> list;
- list << "\\u0104" << "Ą" << "\\u0105" << "ą" << "\\u0106" << "Ć" << "\\u0107" << "ć" << "\\u0118" << "Ę" << "\\u0119" << "ę" << "\\u0141" << "Ł" << "\\u0142" << "ł" << "\\u0143" << "Ń" << "\\u0144" << "ń" << "\\u00d3" << "Ó" << "\\u00f3" << "ó" << "\\u015a" << "Ś" << "\\u015b" << "ś" << "\\u0179" << "Ź" << "\\u017a" << "ź" << "\\u017b" << "Ż" << "\\u017c" << "ż";
- for(int i = 0; i < list.count(); i += 2)
- lista[2].replace(list.at(i), list.at(i + 1));
- segments.append(prepareMailData(lista[2], "http://m.poczta.wp.pl/lista.html?page=1&fname=Nowe&no_ticaid=&no_ticket=&uid="+lista[1]+"&action=read"));
- }
- emit sendSegments(segments);
- return;
- }
- qDebug() << source;
- outLog(source);
- emit setStatus(Acc::UnnownError);
- emit addToLog(Acc::UnnownError);
- emit errorSignal();
- }
- void WpClient::getQuota() {
- QString value = page->mainFrame()->toHtml();
- if (value.contains("Odebrane (")) {
- value.remove(0, value.indexOf("Odebrane ("));
- value.remove(0, value.indexOf("/")+1);
- value.remove(value.indexOf(")"), value.length());
- emit setQuota(value + " wiadomości");
- return;
- }
- emit setQuota("OK");}
- void WpClient::getUrl() {
- QString source = page->mainFrame()->toHtml();
- if(source.contains("<a href=\"http://zalacznik.wp.pl")){
- source.remove(0, source.indexOf("<a href=\"http://zalacznik.wp.pl")+9);
- source.remove(source.indexOf("\">"), source.length());
- source.replace("&", "&");
- page->mainFrame()->load(QUrl(source));
- return;
- }
- emit errorSignal();
- }
- void WpClient::removeSpam() {
- QString source = page->mainFrame()->toHtml();
- if (!page->mainFrame()->url().toString().contains("SPAM")) {
- QString spamUrl = source.remove(0, source.indexOf("folders.html"));
- spamUrl.remove(spamUrl.indexOf("\""), spamUrl.length());
- spamUrl.replace("folders.html", "lista.html");
- spamUrl = "http://m.poczta.wp.pl/" + spamUrl + "&fname=SPAM&action=show";
- page->mainFrame()->load(QUrl(spamUrl));
- return;
- }
- if (page->mainFrame()->url().toString().contains("SPAM")) {
- if (page->mainFrame()->evaluateJavaScript(QString("document.forms[1].elements[0].type")).toString().contains("checkbox")) {
- for (int i=0;true;i++){
- if (page->mainFrame()->evaluateJavaScript(QString("document.forms[1].elements[%1].type").arg(i)).toString().contains("checkbox")) {
- spamMessage++;
- page->mainFrame()->evaluateJavaScript(QString("document.forms[1].elements[%1].checked=true").arg(i));
- } else {
- page->mainFrame()->evaluateJavaScript("document.forms[1].przenies.click();");
- return;
- }
- }
- }
- emit removeFinished(spamMessage);
- return;
- }
- emit setStatus(Acc::UnnownError);
- emit addToLog(Acc::UnnownError);
- emit errorSignal();
- }
- void WpClient::registerAcc() {
- QString source = page->mainFrame()->toHtml();
- if(bGetLogin) {
- bGetLogin = false;
- readReply = true;
- manager = new QNetworkAccessManager(this);
- connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(registerAcc()));
- QNetworkRequest req;
- req.setUrl(QUrl("http://jrk.site90.net/rand.php"));
- req.setHeader(QNetworkRequest::UserAgentHeader, QVariant("M4UDownloader Kreator - " + accHost));
- reply = manager->get(req);
- return;
- }
- if(readReply) {
- readReply = false;
- disconnect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(registerAcc()));
- if(reply->error() != QNetworkReply::NoError) {
- emit setStatus(Acc::Null, "Błąd połączenia z serwerem JRK!");
- emit addToLog(Acc::Null, "Błąd połączenia z serwerem JRK!");
- emit errorSignal();
- return;
- }
- QString s = reply->readAll();
- s.remove("\n");
- s.remove(s.indexOf("<!--"), s.length());
- s.remove(char(10));
- s.remove(char(13));
- s.replace("ą", "a");
- s.replace("ć", "c");
- s.replace("ę", "e");
- s.replace("ł", "l");
- s.replace("ń", "n");
- s.replace("ó", "o");
- s.replace("ś", "s");
- s.replace("ź", "z");
- s.replace("ż", "z");
- s.insert(getNumber(0, s.length()).toInt(), getNumber(100, 9999));
- login = s;
- }
- if (source.contains(" name=\"registration")) {
- if (source.contains("Niestety, ale wybrany login jest już zajęty")) {
- emit setStatus(Acc::WrongLogin);
- emit errorSignal();
- return;
- }
- if (source.contains("Wpisane słowo różni się od słowa na obrazku"))
- emit setStatus(Acc::WrongToken);
- if (waitForToken) {
- QTimer::singleShot(10*1000, this, SLOT(registerAcc()));
- waitForToken = false;
- return;
- }
- waitForToken = true;
- QString token = source;
- token.remove(0, token.indexOf("https://si.wp.pl/captcha"));
- token.remove(token.indexOf("\""), token.length());
- token.replace("&", "&");
- token = showToken(token);
- if (token.isEmpty())
- return;
- QString idu = page->mainFrame()->findFirstElement("input[name=\"idu\"]").attribute("value");
- QString _secureFormsKey = page->mainFrame()->findFirstElement("input[name=\"_secureFormsKey\"]").attribute("value");
- QString data = "_secureFormsKey=" + _secureFormsKey + "&_action=registration&enticket=&idu=" + idu + "&serwis=nowa_poczta_wp&" +
- "url=/&plec=0&accountType=1&imie=" + getText() + "&nazwisko=" + getText() +
- "&plec=1&dzienUrodzin=" + getNumber(10,28) + "&miesiacUrodzin=" + getNumber(10,12) + "&";
- data += "rokUrodzin=" + getNumber(1950,1999) + "&login=" + login + "&newPassword1=" + password + "&newPassword2=" + password + "&";
- data += "wpextmail=" + getText() + "@gmail.com&telefonKomorkowy=&wielkoscMiejscowosci=" + getNumber(1,5) + "&wyksztalcenie=" + getNumber(1,5) + "&";
- data += "zawod=" + getNumber(1,11) + "&zgodaMarketing=on&zgodaBehavioral=on&zgodaMailing=on&zgodaAlcohol=on&zgodaGambling=on&zgodaSms=on&zgodaMarketing=on&";
- data += "zgodaBehavioral=on&zgodaMailing=on&zgodaSms=on&emailOpiekuna=&zgodaMarketing=on&zgodaBehavioral=on&zgodaMailing=on&zgodaSms=on&zgodaWebmailFree=on&";
- data += "zgodaWebmailPro=on&zgodaAll=on&slowo=" + token + "&aEx34a=123";
- this->postRequest(page->mainFrame()->url().toString(), data);
- return;
- }
- if (source.contains("konto email w Wirtualnej Polsce")) {
- QNetworkRequest req;
- req.setUrl(QUrl("http://jrk.site90.net/rand.php?zarazek=123"));
- req.setHeader(QNetworkRequest::UserAgentHeader, QVariant("M4UDownloader Kreator - " + accHost));
- manager->get(req);
- emit addNewAccount();
- return;
- }
- outLog(source);
- emit setStatus(Acc::UnnownError);
- emit addToLog(Acc::UnnownError);
- emit errorSignal();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement