Advertisement
Guest User

Untitled

a guest
Sep 12th, 2018
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.99 KB | None | 0 0
  1. /* Components of Firefox */
  2. Components.utils.import("resource://gre/modules/Services.jsm");
  3. const XMLHttpRequest = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1", "nsIXMLHttpRequest");
  4.  
  5. Components.utils.importGlobalProperties(["atob", "btoa"]);
  6.  
  7. try {
  8. Components.utils.import('resource://gre/modules/devtools/Console.jsm');
  9. } catch (err) {
  10. Components.utils.import('resource://gre/modules/Console.jsm');
  11. }
  12.  
  13. window = Components.classes["@mozilla.org/appshell/window-mediator;1"]
  14. .getService(Components.interfaces.nsIWindowMediator)
  15. .getMostRecentWindow("navigator:browser");
  16.  
  17. if (typeof window === "undefined")
  18. var window;
  19. else
  20. var originalWindow = window;
  21.  
  22. if (typeof document === "undefined")
  23. var document;
  24. else
  25. var originalDocument = document;
  26.  
  27. /* Cookies service */
  28. var cookieMgr = Components.classes["@mozilla.org/cookiemanager;1"]
  29. .getService(Components.interfaces.nsICookieManager);
  30.  
  31. var cookieManager = Components.classes["@mozilla.org/cookiemanager;1"]
  32. .getService(Components.interfaces.nsICookieManager2);
  33. /*-----------------*/
  34.  
  35. /* general */
  36.  
  37. /*Imacros struct*/
  38. var execute = "CODE:SET !ERRORIGNORE YES\n" +
  39. "SET !TIMEOUT_PAGE 320\n" +
  40. "SET !TIMEOUT_TAG 0\n\n";
  41.  
  42. var errorOne = "#EANF#";
  43.  
  44. function FixPlay(file) {
  45. var ret = iimPlay(file);
  46.  
  47. if (ret == -101)
  48. throw new Error("Script STOP!");
  49.  
  50. return 0;
  51. }
  52.  
  53. function search_site(content) {
  54. document = window.content.document;
  55. if (document.documentElement.innerHTML.search(content) == -1)
  56. return false;
  57. else
  58. return true;
  59. }
  60.  
  61. var extractData = function(archive, line, col) {
  62. FixPlay(execute +
  63. "SET !DATASOURCE " + archive + "\n" +
  64. "SET !DATASOURCE_LINE " + line + "\n" +
  65. "SET !EXTRACT {{!COL" + col + "}}");
  66.  
  67. return iimGetLastExtract().trim();
  68. }
  69.  
  70. function random_num(min, max) {
  71. return Math.floor(Math.random() * (max - min + 1)) + min;
  72. }
  73.  
  74. var SetUserAgent = function(agent) {
  75. Services.prefs.setCharPref("general.useragent.override", agent);
  76. return agent;
  77. }
  78.  
  79. var SetProxy = function(proxy) {
  80. if (proxy == "0.0.0.0:0")
  81. Services.prefs.setIntPref("network.proxy.type", 0);
  82. else {
  83. var array;
  84. var array = proxy.split(":");
  85.  
  86. var ip = array[0],
  87. port = array[1];
  88.  
  89. Services.prefs.setIntPref("network.proxy.type", 1);
  90. Services.prefs.setBoolPref("network.proxy.share_proxy_settings", true);
  91.  
  92. Services.prefs.setIntPref("network.proxy.backup.ftp_port", port);
  93. Services.prefs.setIntPref("network.proxy.backup.socks_port", port);
  94. Services.prefs.setIntPref("network.proxy.backup.ssl_port", port);
  95. Services.prefs.setIntPref("network.proxy.ssl_port", port);
  96. Services.prefs.setIntPref("network.proxy.ftp_port", port);
  97. Services.prefs.setIntPref("network.proxy.http_port", port);
  98. Services.prefs.setIntPref("network.proxy.socks_port", port);
  99.  
  100. Services.prefs.setCharPref("network.proxy.socks", ip);
  101. Services.prefs.setCharPref("network.proxy.ssl", ip);
  102. Services.prefs.setCharPref("network.proxy.http", ip);
  103. Services.prefs.setCharPref("network.proxy.ftp", ip);
  104. Services.prefs.setCharPref("network.proxy.backup.ssl", ip);
  105. Services.prefs.setCharPref("network.proxy.backup.socks", ip);
  106. Services.prefs.setCharPref("network.proxy.backup.ftp", ip);
  107.  
  108. }
  109.  
  110. return proxy;
  111. }
  112.  
  113. var ClearFix = function() {
  114. FixPlay(execute + "TAB T=1\nTAB CLOSEALLOTHERS\nURL GOTO=about:newtab");
  115.  
  116. //remove cookies
  117. var cmgr = Components.classes["@mozilla.org/cookiemanager;1"]
  118. .getService();
  119. cmgr = cmgr.QueryInterface(Components.interfaces.nsICookieManager);
  120. cmgr.removeAll();
  121.  
  122. // Clear SQL VACUUM
  123. try {
  124. var sql = Components.classes["@mozilla.org/browser/nav-history-service;1"].getService(Components.interfaces.nsPIPlacesDatabase);
  125. sql.DBConnection.executeSimpleSQL("VACUUM");
  126. } catch (err) {}
  127.  
  128. }
  129.  
  130. function requestf(url, postdata, async, method) {
  131.  
  132. if (retry > 3) {
  133. retry = 0
  134. FixPlay(execute + "WAIT SECONDS = 15")
  135. }
  136.  
  137. console.log("request \nURL:" + url + "\nPOST:" + postdata + "\n")
  138.  
  139. loadScriptFromURL('https://code.jquery.com/jquery-3.3.1.min.js');
  140. jq = window.$,
  141. JQuery = window.JQuery;
  142.  
  143. var resultr = jq.ajax({
  144. url: url,
  145. headers: {
  146.  
  147. 'Content-Type': 'application/json'
  148. },
  149. type: method,
  150. async: async,
  151. data: postdata,
  152. success: function(data) {
  153. return data
  154. },
  155. error: function(XMLHttpRequest, textStatus, errorThrown) {
  156. retry++
  157. }
  158. });
  159.  
  160. console.log("request \nURL:" + url + "\n STATUS:" + resultr['status'] + "\nPOST:" + postdata + "\nAnswer:" + resultr['responseText'] + "\n")
  161.  
  162. return resultr['responseText'];
  163. }
  164.  
  165. function request(url, postdata, async, method, token) {
  166.  
  167. if (retry > 3) {
  168. retry = 0
  169. FixPlay(execute + "WAIT SECONDS = 15")
  170. }
  171.  
  172. console.log("request \nURL:" + url + "\nPOST:" + postdata + "\n")
  173.  
  174. loadScriptFromURL('https://code.jquery.com/jquery-3.3.1.min.js');
  175. jq = window.$,
  176. JQuery = window.JQuery;
  177.  
  178. var resultr = jq.ajax({
  179. url: url,
  180. headers: {
  181.  
  182. 'Authorization': 'Token ' + token,
  183. 'Content-Type': 'application/json'
  184. },
  185. type: method,
  186. async: async,
  187. data: postdata,
  188. success: function(data) {
  189. return data
  190. },
  191. error: function(XMLHttpRequest, textStatus, errorThrown) {
  192. retry++
  193. }
  194. });
  195.  
  196. console.log("request \nURL:" + url + "\n STATUS:" + resultr['status'] + "\nPOST:" + postdata + "\nAnswer:" + resultr['responseText'] + "\n")
  197.  
  198. return resultr['responseText'];
  199. }
  200.  
  201. // Array Remove - By John Resig (MIT Licensed)
  202. Array.prototype.remove = function(from, to) {
  203. var rest = this.slice((to || from) + 1 || this.length);
  204. this.length = from < 0 ? this.length + from : from;
  205. return this.push.apply(this, rest);
  206. };
  207.  
  208. function SetCookie(cookie) {
  209.  
  210. cookie_request = atob(cookie);
  211.  
  212.  
  213. if (cookie_request.search("CookieT") != -1) { // Old versions
  214. var obj = JSON.parse(cookie_request)
  215. for (var i = 0; i < obj["CookieT"]; i++) {
  216. var host = obj["Cookie" + i + ""]["host"],
  217. path = obj["Cookie" + i + ""]["path"],
  218. name = obj["Cookie" + i + ""]["name"],
  219. value = obj["Cookie" + i + ""]["value"],
  220. expires = obj["Cookie" + i + ""]["expires"],
  221. isSecure = obj["Cookie" + i + ""]["isSecure"]
  222.  
  223. if (obj["Cookie" + i + ""]["expires"] == "0") {
  224. var d = new Date();
  225. expires = ((d.getTime() - d.getMilliseconds()) / 1000) + 314496000;
  226. }
  227. if (name == "PREF")
  228. cookieManager.add(host, path, name, "f1=50000000&al=en&f6=c1008", isSecure, false, isSecure, expires);
  229. else
  230. cookieManager.add(host, path, name, value, isSecure, false, isSecure, expires);
  231. };
  232. } else if (cookie != '' && cookie != 'null') { // new versions
  233. var obj = JSON.parse(cookie_request)
  234.  
  235. for (var i = 0; i < Object.keys(obj).length - 1; i++) {
  236. var host = obj[i]["host"],
  237. path = obj[i]["path"],
  238. name = obj[i]["name"],
  239. value = obj[i]["value"],
  240. expires = obj[i]["expires"],
  241. isSecure = obj[i]["isSecure"]
  242. if (obj[i]["expires"] == "0") {
  243. var d = new Date();
  244. expires = ((d.getTime() - d.getMilliseconds()) / 1000) + 314496000;
  245. }
  246.  
  247. if (name == "PREF") {
  248. cookieManager.add(host, path, name, "f1=50000000&al=en&f6=c1008", isSecure, false, isSecure, expires);
  249. } else {
  250. cookieManager.add(host, path, name, value, isSecure, false, isSecure, expires);
  251. }
  252. };
  253. var d = new Date();
  254. expires = ((d.getTime() - d.getMilliseconds()) / 1000) + 314496000;
  255.  
  256. cookieManager.add('.youtube.com', "/", "PREF", "f1=50000000&al=en&f6=c1008", false, false, false, expires);
  257. }
  258.  
  259. }
  260.  
  261. function SaveCookie() {
  262. var mc = 0;
  263. var cookieuri = {}
  264.  
  265. for (var e = cookieMgr.enumerator; e.hasMoreElements();) {
  266. var cookie = e.getNext().QueryInterface(Components.interfaces.nsICookie);
  267. var valuec = cookie.value
  268. cookieuri[mc] = {
  269. 'host': cookie.host,
  270. 'path': cookie.path,
  271. 'name': cookie.name,
  272. 'value': valuec,
  273. 'isSecure': cookie.isSecure,
  274. 'expires': cookie.expires
  275. }
  276. mc++;
  277. }
  278.  
  279.  
  280. var obj = new Object();
  281. obj.cookie = btoa(JSON.stringify(cookieuri));
  282.  
  283. var jsonString = JSON.stringify(obj);
  284.  
  285. FixPlay(execute + "TAB T=1\nTAB CLOSEALLOTHERS\nURL GOTO=about:newtab");
  286.  
  287. request(api + "/account/cookie/" + monitor, jsonString, false, "POST", token)
  288.  
  289. }
  290.  
  291. function youtube_parser(url) {
  292. var regExp = /^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/;
  293. var match = url.match(regExp);
  294. if (match && match[2].length == 11) {
  295. return match[2];
  296. }
  297. }
  298.  
  299. /* end struct of iMacros*/
  300.  
  301. var version = 1.0;
  302. var failed = 0;
  303. var complete = 0;
  304. var d = new Date();
  305. var expires = ((d.getTime() - d.getMilliseconds()) / 1000) + 314496000;
  306. var api = "https://socialstrendy.com/api";
  307. var token = null;
  308. var monitor = null;
  309. var retry = 0
  310. var limittask = 3
  311. var limit = 0
  312. var retry = 0
  313.  
  314. /* model user */
  315. var idUser = null;
  316. var account = null;
  317. var password = null;
  318. var cookie = null;
  319. var email_recovery = null;
  320. var phone = null;
  321. var proxy = null;
  322. var useragent = null;
  323. var cookie = null;
  324.  
  325. /* model site*/
  326. var balance = 0
  327.  
  328. /* --------- */
  329.  
  330. function main() {
  331. SetProxy("0.0.0.0:0");
  332. ClearFix();
  333. token = extractData("token.csv", 1, 1);
  334.  
  335. if (token == '') {
  336. alert('We do not have data of your account, We are going to add the account of socialstrendy.com')
  337. var account = prompt("Please enter your username", "");
  338. var password = prompt("Please enter your password", "");
  339.  
  340. var obj = new Object();
  341. obj.username = account;
  342. obj.password = password;
  343.  
  344. var jsonString = JSON.stringify(obj);
  345.  
  346. token = requestf(api + "/login", jsonString, false, 'POST', false);
  347. token = JSON.parse(token);
  348.  
  349. FixPlay(execute + "SET !EXTRACT " + token['token'] + "\n" + "SAVEAS TYPE=EXTRACT FOLDER={{!FOLDER_DATASOURCE}} FILE=token.csv")
  350.  
  351. token = extractData("token.csv", 1, 1);
  352. }
  353.  
  354.  
  355. return create_monitor()
  356. }
  357.  
  358. function create_monitor() {
  359.  
  360. monitor = extractData("monitor.csv", 1, 1);
  361. if (monitor == '') {
  362. var query = request(api + "/monitor", false, false, 'GET', token)
  363. query = JSON.parse(query);
  364. monitor = query['monitor_id']
  365. balance = query['balance']
  366.  
  367. FixPlay(execute + "SET !EXTRACT " + monitor + "\n" + "SAVEAS TYPE=EXTRACT FOLDER={{!FOLDER_DATASOURCE}} FILE=monitor.csv")
  368.  
  369. token = extractData("token.csv", 1, 1);
  370. }
  371.  
  372.  
  373. change_account()
  374. }
  375.  
  376.  
  377. function change_account() {
  378. SetProxy("0.0.0.0:0");
  379. quarter()
  380. ClearFix();
  381. cookieManager.add('.youtube.com', "/", "PREF", "f1=50000000&al=en&f6=c1008", false, false, false, expires);
  382.  
  383. var query = request(api + "/account/get/" + monitor + "/0", false, false, "GET", token);
  384. query = JSON.parse(query);
  385.  
  386. if (query == null) {
  387. FixPlay(execute + "WAIT SECONDS = 30")
  388. return change_account();
  389. }
  390.  
  391. if (query['message'] == "No accounts available for now.") {
  392. FixPlay(execute + "WAIT SECONDS = 30")
  393. return change_account()
  394. }
  395. limit = 0
  396.  
  397. idUser = query['id'];
  398. account = query['account'];
  399. password = query['password'];
  400. cookie = query['cookie'];
  401. email_recovery = query['email_recovery'];
  402. phone = query['phone'];
  403. proxy = SetProxy(query['proxy']);
  404. useragent = SetUserAgent(query['useragent']);
  405. cookie = SetCookie(query['cookie']);
  406.  
  407.  
  408. return checktask();
  409. }
  410.  
  411.  
  412. var checktask = function() {
  413.  
  414.  
  415. while (true) {
  416. if (limittask <= limit) {
  417. //SaveCookie();
  418. return change_account();
  419. }
  420.  
  421. var query = request(api + "/order/" + monitor, false, false, "GET", token)
  422.  
  423. if (typeof query === "undefined")
  424. return checktask();
  425.  
  426. try {
  427. query = JSON.parse(query);
  428. } catch (err) {
  429. //SaveCookie();
  430. return change_account();
  431. }
  432.  
  433. if (query['link'] == null) {
  434.  
  435. limit++;
  436. return checktask();
  437. } else {
  438.  
  439. action(query['cheating'], query['link'], query['id'])
  440. FixPlay(execute + 'WAIT SECONDS = 20')
  441. checkt(query['id'])
  442. }
  443.  
  444. }
  445.  
  446. }
  447.  
  448. function action(type, link, id) {
  449. limit++;
  450.  
  451. loadScriptFromURL('https://code.jquery.com/jquery-3.3.1.min.js');
  452. jq = window.$,
  453. JQuery = window.JQuery;
  454.  
  455. setstatus("Make task");
  456.  
  457. if (typeof youtube_parser(link) === "undefined")
  458. return checktask()
  459.  
  460. var resultr = jq.ajax({
  461. url: 'https://www.youtube.com/watch?v=' + youtube_parser(link),
  462. type: 'GET',
  463. async: false,
  464. success: function(data) {
  465. return data
  466. },
  467. error: function(XMLHttpRequest, textStatus, errorThrown) {
  468. return change_account();
  469. }
  470. });
  471.  
  472. if (typeof resultr['responseText'] === "undefined")
  473. return action(type, link, id)
  474.  
  475. if (resultr['responseText'].search("accounts.google.com/ServiceLogin") != -1) {
  476. if (logingoogle(account, password, email_recovery) != 1) {
  477. request(api + "/account/update/" + monitor + "/1", false, false, "GET", token);
  478. //SaveCookie();
  479. return change_account()
  480. }
  481. SaveCookie();
  482. return action(type, link, id)
  483. }
  484.  
  485.  
  486. loadScriptFromURL('https://code.jquery.com/jquery-3.3.1.min.js');
  487. jq = window.$,
  488. JQuery = window.JQuery;
  489.  
  490. document = window.content.document;
  491. var youtube_token = regp(resultr['responseText'], /'X-YouTube-Identity-Token': "(.*?)"/g, 1)
  492. var client_version = regp(resultr['responseText'], /INNERTUBE_CONTEXT_CLIENT_VERSION: "(.*?)",/g, 1)
  493. var page_cl = regp(resultr['responseText'], /'PAGE_CL': (.*?),/g, 1)
  494. var page_build = regp(resultr['responseText'], /'PAGE_BUILD_LABEL': "(.*?)",/g, 1)
  495. var checksum = regp(resultr['responseText'], /'VARIANTS_CHECKSUM': "(.*?)",/g, 1)
  496. var data_post = regp(resultr['responseText'], /data-post-data="(.*?)"/g, 1)
  497. var token_xsrf = regp(resultr['responseText'], /XSRF_TOKEN('|"):( |)"(.*?)"/g,3)
  498.  
  499.  
  500. FixPlay(execute + '\nWAIT SECONDS = 40')
  501.  
  502.  
  503. switch (type) {
  504. case 0:
  505.  
  506. video_id = youtube_parser(link)
  507. //var sej = '{"clickTrackingParams":"","commandMetadata":{"webCommandMetadata":{"url":"/service_ajax","sendPost":true}},"likeEndpoint":{"status":"LIKE","target":{"videoId":"'+video_id+'"}}}'
  508. var postdata = data_post[0].replace(/&amp;/g, '&') + '&session_token=' + encodeURIComponent(token_xsrf)
  509.  
  510. var resultr = jq.ajax({
  511. url: "https://www.youtube.com/service_ajax?name=likeEndpoint",
  512. headers: {
  513.  
  514. 'X-YouTube-Client-Name': "1",
  515. 'X-YouTube-Client-Version': client_version,
  516. 'X-Youtube-Identity-Token': youtube_token,
  517. 'X-YouTube-Page-CL': page_cl,
  518. 'X-YouTube-Page-Label': page_build,
  519. 'X-YouTube-Variants-Checksum': checksum,
  520. 'X-YouTube-Utc-Offset': "-240"
  521. },
  522. type: "POST",
  523. data: postdata,
  524. async: false,
  525. });
  526. break;
  527.  
  528. case 1:
  529. video_id = youtube_parser(link)
  530.  
  531. var sej = '{"clickTrackingParams":"","commandMetadata":{"webCommandMetadata":{"url":"/service_ajax","sendPost":true}},"likeEndpoint":{"status":"DISLIKE","target":{"videoId":"' + video_id + '"}}}'
  532. var postdata = 'sej=' + encodeURIComponent(sej) + '&session_token=' + encodeURIComponent(token_xsrf)
  533. var resultr = jq.ajax({
  534. url: "https://www.youtube.com/service_ajax?name=likeEndpoint",
  535. type: "POST",
  536. data: postdata,
  537. async: false,
  538. });
  539.  
  540. break;
  541.  
  542. case 2:
  543. channel = link.replace(/https:\/\/youtube.com\/channel\//g, "");
  544.  
  545. var sej = '{"clickTrackingParams":"","commandMetadata":{"webCommandMetadata":{"url":"/service_ajax","sendPost":true}},"subscribeEndpoint":{"channelIds":["' + channel + '"],"params":"EgIIAg%3D%3D"}}'
  546. var postdata = 'sej=' + encodeURIComponent(sej) + '&session_token=' + encodeURIComponent(token_xsrf)
  547. var resultr = jq.ajax({
  548. url: "https://www.youtube.com/service_ajax?name=subscribeEndpoint",
  549. type: "POST",
  550. data: postdata,
  551. async: false,
  552. });
  553. break;
  554.  
  555. case 7:
  556. //FixPlay("libs/tw/fw")
  557. break;
  558.  
  559. default:
  560. return change_account();
  561. break;
  562. }
  563.  
  564. }
  565.  
  566.  
  567. function checkt(id) {
  568. var query = request(api + "/order/check/" + id, false, false, "GET", token)
  569.  
  570. try {
  571. query = JSON.parse(query);
  572. } catch (err) {
  573. return checkt(id);
  574. }
  575.  
  576. if (query['message'] == "Done") {
  577. complete++;
  578. balance = query['balance'];
  579. } else {
  580. failed++;
  581. }
  582. }
  583.  
  584.  
  585. var setstatus = function(status) {
  586.  
  587. var obj = new Object();
  588. obj.update = status;
  589.  
  590. var jsonString = JSON.stringify(obj);
  591.  
  592. //request(api + "/monitor/update/" + monitor + "/0", jsonString, true, "POST", token);
  593.  
  594. iimDisplay(
  595. "SocialsTrendy BOT V" + version + "\n" +
  596. "Status: " + status + "\n" +
  597. "Balance: " + balance + "\n" +
  598. "Task Complete: " + complete + "\n" +
  599. "Task Failed: " + failed + "\n" +
  600. "Account: " + account + "\n" +
  601. "Proxy: " + proxy + "\n" +
  602. "UserAgent: " + useragent + "\n"
  603. )
  604. }
  605.  
  606.  
  607.  
  608. function loadScriptFromURL(url) {
  609. var request = Components.classes['@mozilla.org/xmlextras/xmlhttprequest;1'].createInstance(Components.interfaces.nsIXMLHttpRequest),
  610. async = false;
  611. request.open('GET', url, async);
  612. request.send();
  613. if (request.status !== 200) {
  614. var message = 'an error occurred while loading script at url: ' + url + ', status: ' + request.status;
  615. iimDisplay(message);
  616. return false;
  617. }
  618. eval(request.response);
  619. return true;
  620. }
  621.  
  622. function regp(str, regex, row) {
  623. var res = [];
  624. var m;
  625. if (regex.global) {
  626. while (m = regex.exec(str)) {
  627. res.push(m[row]);
  628. }
  629. } else {
  630. if (m = regex.exec(str)) {
  631. res.push(m[row]);
  632. }
  633. }
  634. return res;
  635. }
  636.  
  637. var logingoogle = function(email, password, email_recovery) {
  638. cookieManager.add('.youtube.com', "/", "PREF", "f1=50000000&al=en&f6=c1008", false, false, false, expires);
  639. iimSet("EMAIL", email);
  640. iimSet("PASSWORD", password);
  641.  
  642. FixPlay("libs/google/login");
  643.  
  644. var site = "" + window.location + "";
  645. if (iimGetLastExtract(1).trim() == "Verify it's you" || site.search(/selectchallenge/) != -1) {
  646. if (search_site("Confirm your recovery email")) {
  647. setstatus("Pass security Google Email Recovery");
  648. iimSet("email_rc", email_recovery);
  649. FixPlay("libs/google/verifyemail");
  650. }
  651.  
  652. }
  653.  
  654. var site = "" + window.location + "";
  655. if (site.search(/signin\/newfeatures/) != -1) {
  656. FixPlay(execute +
  657. "TAG POS=1 TYPE=IMG ATTR=SRC:*keyboard_arrow_down_white_*.*\n" +
  658. "WAIT SECONDS = 2\n" +
  659. "TAG POS=1 TYPE=IMG ATTR=SRC:*keyboard_arrow_down_white_*.*\n" +
  660. "WAIT SECONDS = 2\n" +
  661. "TAG POS=1 TYPE=IMG ATTR=SRC:*keyboard_arrow_down_white_*.*\n" +
  662. "WAIT SECONDS = 2\n" +
  663. "TAG POS=2 TYPE=SPAN ATTR=TXT:I<SP>agree\nTAG POS=1 TYPE=SPAN ATTR=TXT:Done");
  664. }
  665.  
  666. if (site.search(/privacyreminder/) != -1) {
  667. FixPlay(execute +
  668. "TAG POS=2 TYPE=DIV ATTR=CLASS:ZFr60d<SP>CeoRYc\n" +
  669. "WAIT SECONDS = 2\n" +
  670. "TAG POS=2 TYPE=DIV ATTR=CLASS:ZFr60d<SP>CeoRYc\n" +
  671. "WAIT SECONDS = 2\n" +
  672. "TAG POS=2 TYPE=DIV ATTR=CLASS:ZFr60d<SP>CeoRYc\n" +
  673. "WAIT SECONDS = 2\n" +
  674. "TAG POS=2 TYPE=DIV ATTR=CLASS:ZFr60d<SP>CeoRYc\n" +
  675. "WAIT SECONDS = 2\nTAG POS=1 TYPE=SPAN ATTR=TXT:Done"
  676. )
  677. }
  678.  
  679. if (site.search(/recoveryoptions/) != -1) {
  680. FixPlay(execute +
  681. "WAIT SECONDS = 3\n" +
  682. "EVENT TYPE=CLICK SELECTOR=\"#view_container>DIV>DIV>DIV>DIV>DIV>DIV:nth-of-type(3)>DIV\" BUTTON=0\n" +
  683. "TAG POS=2 TYPE=DIV ATTR=TXT:Done\n" +
  684. "WAIT SECONDS = 8\nTAG POS=1 TYPE=SPAN ATTR=TXT:Done");
  685. }
  686.  
  687. var o = 0
  688. while (true) {
  689. o++
  690. FixPlay(execute + 'TAG POS=1 TYPE=DIV ATTR=TXT:Type<SP>the<SP>text<SP>you<SP>hear<SP>or<SP>see EXTRACT=TXT')
  691. var resul = iimGetLastExtract().trim()
  692.  
  693. if (o > 2)
  694. break
  695.  
  696. if (resul != errorOne) {
  697. FixPlay('/libs/ch2')
  698. } else
  699. break
  700. }
  701.  
  702.  
  703. FixPlay(execute + "WAIT SECONDS = 5");
  704.  
  705. var site = "" + window.location + "";
  706.  
  707. if (search_site("yt-masthead-user") || search_site("ytd-masthead") || site == "https://www.youtube.com") {
  708. return 1;
  709. } else
  710. return -1;
  711.  
  712. }
  713.  
  714. function quarter() {
  715. window.resizeTo(
  716. random_num(700, 1350),
  717. random_num(500, 900)
  718. );
  719. }
  720.  
  721.  
  722. main();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement