Created
October 31, 2019 21:02
-
-
Save imvision/ce30ba510fb2e5f4c1fe5634845acf43 to your computer and use it in GitHub Desktop.
js code
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Copyright 2019 PMbots Corporation | |
*/ | |
/* just don't touch here */ | |
var pathname = window.location.pathname; | |
var Block_further_coms = false; | |
var FB_version = "1.1"; | |
var FB_runtime_version = Math.floor(Date.now() / 1000); | |
var FB_run = false; // Indicates if bot is running | |
var FB_finished = false; // Indicates if bot has finished | |
var FB_time_to_reload; | |
var FB_start_count_down = false; | |
var FB_index; // Indicates what item we want to share | |
var FB_work_item; // our item we are sharing | |
var FB_second_item; | |
var FB_item_ID; // item if we are sharing | |
var FB_keywords = []; | |
var FB_bad_keywords = []; | |
var FB_last_items = []; | |
var FB_load_keywords = true; | |
var FB_governor = false; | |
var FB_gov_click = false; | |
var FB_first_call = true; | |
var FB_next_call = false; | |
var FB_log_msg = null; | |
var FB_ajax_respond; | |
var FB_items_loaded = false; | |
var FB_status = ""; | |
var FB_first_wait = true; | |
var FB_block_list = []; | |
var FB_governor_delay = false; | |
var FB_governor_delay_run = true; | |
var FB_governor_send_user = ""; | |
var FB_pause = false; | |
var FB_captcha = false; | |
var FB_second_click_running = false; | |
var FB_stage = 0; | |
var FB_click_X = false; | |
var FB_click_Y = false; | |
var FB_click_Title = false; | |
var FB_click_Send = false; | |
var FB_click_Done = false; | |
var FB_click_ID = false; | |
var FB_reloading = false; | |
var watch_dog = false; | |
var FB_request_monitor = makeid(); | |
var FB_403_request = false; | |
var request_waiting_ts = 0; | |
var PM_requests; | |
/* | |
Timestamps | |
*/ | |
var call_to_server_ts_next = 0; | |
var call_to_server_ts = Date.now(); | |
var second_click_ts_next = 0; | |
var second_click_ts = Date.now(); | |
var first_click_ts_next = 0; | |
var first_click_ts = Date.now(); | |
var final_click_ts_next = 0; | |
var final_click_ts = Date.now(); | |
var response_ts_next = 0; | |
var response_ts = Date.now(); | |
var feed_page_switcher = false; | |
if((".feed__unit div[data-layout-type='SIFU_SUMMARY'] .feed__summary").length){ | |
feed_page_switcher = 2; | |
var FB_numItems = (".feed__unit div[data-layout-type='SIFU_SUMMARY'] .feed__summary").length; // Amout of visible items (changed in run time) | |
var FB_username = $(".header__account-info__link .dropdown__menu").find("a[href*='/closet/']").attr("href").replace("/closet/", "").toLowerCase(); | |
} | |
if($("#tiles-overlay-con #tiles-con .tile").length){ | |
feed_page_switcher = 1; | |
var FB_numItems = $('.listing-actions-con').length; // Amout of visible items (changed in run time) | |
var FB_username = $(".dropdown-menu > .dropdown-item > a[href*='/closet/']").attr("href").replace("/closet/", "").toLowerCase(); | |
} | |
/* Editable */ | |
var FB_shared_items_limit = 200; | |
var FB_Stage_15_fail_limit = 10; | |
var FB_Stage_15_fail_count = 0; | |
var FB_reload_delay = Math.floor((Math.random() * 36) + 12); // seconds | |
var FB_max_price_to_share = 1000; // USD | |
var FB_share_delay = 3; // seconds | |
var FB_share_delay_1 = 2215; // mili seconds | |
var FB_share_delay_2 = 458; // mili seconds | |
var FB_click_delay_1 = 1100; | |
var FB_click_delay_2 = 2100; | |
var FB_debug = false; // to enable console logs | |
var FB_allow_first_click = true; // first click better to have it true to see the box window | |
if (FB_numItems > 48) { | |
FB_numItems = 48; | |
} | |
/* | |
chrome.storage.local.set({index: value}, function () { | |
console.log("save done"); | |
}); | |
return chrome.storage.local.get(['index'], function(result) { | |
console.log("load done"); | |
}); | |
*/ | |
function FB_console(item, title) { | |
if (typeof title != 'undefined') { | |
if (FB_debug) { | |
console.log(title + ":"); | |
} | |
} | |
if (FB_debug) { | |
console.log(item); | |
} | |
} | |
function FB_time_f() { | |
if(watch_dog){ | |
var dif = Math.floor(Date.now() / 1000) - watch_dog; | |
if(dif>5){ | |
call_to_server(); | |
} | |
} | |
if (FB_start_count_down) { | |
FB_time_to_reload--; | |
if (FB_time_to_reload) { | |
FB_log_msg = 'Next cycle in: ' + FB_time_to_reload + 's.'; | |
} else { | |
FB_reloading = true; | |
window.location.reload(); | |
} | |
} | |
} | |
function captcha() { | |
var x = $("#captcha-popup"); | |
var y = $(".g-recaptcha-con"); | |
if (x.length) { | |
if ((x.css("display") == "none") || (x.attr("aria-hidden") == "true")) { | |
return 0; | |
} else { | |
FB_captcha = true; | |
return 1; | |
} | |
} else if(y.length) { | |
if ((y.css("display") == "none") || (y.attr("aria-hidden") == "true")) { | |
return 0; | |
} else { | |
FB_captcha = true; | |
return 1; | |
} | |
} else if(FB_403_request) { | |
FB_captcha = true; | |
return 1; | |
} | |
return 0; | |
} | |
function news_badge() { | |
if($(".notification .badge").length){ | |
return true; | |
} else if($(".notification-count").length){ | |
if(parseInt($(".notification-count").html())){ | |
return true; | |
} | |
} | |
return false; | |
} | |
function call_to_server() { | |
if(!FB_reloading) { | |
var dif = Date.now() - call_to_server_ts; | |
if (dif >= call_to_server_ts_next) { | |
if (((FB_stage == 15) || (FB_stage == 20) || (FB_stage == 25)) && (!FB_pause) && (!FB_captcha)) { | |
if (FB_Stage_15_fail_limit == FB_Stage_15_fail_count) { | |
FB_governor = false; | |
FB_gov_click = false; | |
FB_second_click_running = false; | |
FB_first_click(); | |
} else { | |
FB_Stage_15_fail_count++; | |
} | |
} else { | |
FB_Stage_15_fail_count = 0; | |
} | |
if ((FB_stage == 15) && (FB_governor) && (!FB_second_click_running)) { | |
FB_second_click(); | |
} | |
if ((FB_stage == 20) && (!FB_second_click_running)) { | |
FB_governor = true; | |
FB_gov_click = false; | |
FB_second_click(); | |
} | |
if ((FB_stage == 25) && (!FB_second_click_running)) { | |
FB_governor = true; | |
FB_gov_click = false; | |
FB_second_click(); | |
} | |
if (FB_captcha) { | |
if (!captcha()) { | |
switch (FB_stage) { | |
case 5: | |
break; | |
case 10: | |
// first click was called but click failed | |
FB_governor = true; | |
FB_second_click(); | |
break; | |
case 15: | |
if (!FB_governor && !FB_gov_click) { | |
FB_governor = true; | |
} | |
FB_second_click_running = false; | |
break; | |
case 20: | |
FB_second_click_running = false; | |
break; | |
case 25: | |
FB_second_click_running = false; | |
break; | |
case 30: | |
// second click was called but first click function failed | |
FB_gov_click = false; | |
FB_governor_send_user = ""; | |
FB_first_click(); | |
break; | |
} | |
FB_captcha = false; | |
} | |
} | |
// main data | |
data = { | |
a: "feed", | |
api: api, | |
runtime: FB_runtime_version, | |
pause: captcha(), | |
version: FB_version, | |
news_badge: news_badge(), | |
hidden: document.hidden | |
}; | |
// extra data that we want to send | |
if (FB_load_keywords) { | |
data['Keywords'] = FB_load_keywords; | |
FB_load_keywords = false; | |
} | |
if (FB_governor) { | |
data['governor'] = true; | |
if (FB_governor_send_user !== "") { | |
data['return_user'] = FB_governor_send_user; | |
} | |
} | |
if (FB_first_call) { | |
data['FirstCall'] = FB_first_call; | |
delete data['governor']; | |
} | |
if (FB_log_msg !== null) { | |
data['msg'] = FB_log_msg; | |
} | |
if (FB_finished) { | |
data['finished'] = true; | |
} | |
if (FB_click_Send && !FB_click_ID) { | |
data['click_request'] = {x: FB_click_X, y: FB_click_Y, title: FB_click_Title}; | |
} | |
if (FB_click_ID) { | |
data['check_click'] = FB_click_ID; | |
} | |
FB_console("----------------------------------------------------------------------------"); | |
FB_console(data, "Send data"); | |
data['stage'] = FB_stage; | |
if(pathname !== window.location.pathname){ | |
window.location.reload(); | |
} | |
watch_dog = data["reqts"] = Math.floor(Date.now() / 1000); | |
if(!Block_further_coms) { | |
port.postMessage(data); | |
} | |
} else { | |
setTimeout(call_to_server, 100); | |
} | |
} else { | |
window.location.reload(); | |
} | |
} | |
proccess_it = function(msg){ | |
try { | |
//console.log(msg); | |
FB_ajax_respond = {}; | |
FB_ajax_respond.data = msg; | |
FB_console(FB_ajax_respond, "Respond from server"); | |
FB_console(FB_ajax_respond.data, "Only data"); | |
if (typeof(FB_ajax_respond.data.activity) !== 'undefined') { | |
if (typeof(FB_ajax_respond.data.activity.wait) !== 'undefined') { | |
if(FB_ajax_respond.data.activity.wait){ | |
FB_403_request = false; | |
} | |
} | |
} | |
if (typeof(FB_ajax_respond.data.PM_requests) !== 'undefined') { | |
PM_requests = FB_ajax_respond.data.PM_requests; | |
} | |
if (typeof(FB_ajax_respond.data.click_id) !== 'undefined') { | |
FB_click_ID = FB_ajax_respond.data.click_id; | |
} | |
if (typeof(FB_ajax_respond.data.click_status) !== 'undefined') { | |
var status_temp = parseInt(FB_ajax_respond.data.click_status); | |
if (status_temp == 2) { | |
FB_click_Done = true; | |
} | |
} | |
FB_status = FB_ajax_respond.data.status; | |
if ((FB_status === "On") && (FB_next_call)) { | |
FB_reloading = true; | |
window.location.reload(); | |
} | |
if (typeof(FB_ajax_respond.data.finished_off) !== 'undefined') { | |
FB_finished = false; | |
if (FB_ajax_respond.data.finished_off == false) { | |
FB_start_count_down = true; | |
} | |
} | |
if (typeof(FB_ajax_respond.data.return_user) !== 'undefined') { | |
if (FB_ajax_respond.data.return_user == FB_governor_send_user) { | |
FB_governor_send_user = ""; | |
} | |
} | |
if (FB_first_call) { | |
FB_block_list = FB_ajax_respond.data.block; | |
FB_console(FB_block_list, "FB_block_list"); | |
FB_keywords = FB_ajax_respond.data.good; | |
FB_console(FB_keywords, "FB_keywords"); | |
FB_bad_keywords = FB_ajax_respond.data.bad; | |
FB_console(FB_bad_keywords, "FB_bad_keywords"); | |
//FB_last_items = FB_ajax_respond.data.last; | |
chrome.storage.local.get(['FB_last_items'], function(result) { | |
FB_last_items = result.FB_last_items; | |
FB_items_loaded = true; | |
if (typeof(FB_last_items) !== 'undefined') { | |
if(FB_last_items.length > FB_shared_items_limit){ | |
var temp = FB_last_items.length - FB_shared_items_limit; | |
FB_last_items.splice(0,temp); | |
chrome.storage.local.set({FB_last_items: FB_last_items}, function () {}); | |
} | |
} else { | |
FB_last_items = []; | |
} | |
}); | |
FB_console(FB_last_items, "FB_last_items"); | |
FB_console(FB_numItems, "FB_numItems"); | |
FB_index = FB_numItems; | |
FB_first_call = false; | |
} | |
if (FB_governor) { | |
if (typeof(FB_ajax_respond.data.activity) !== 'undefined') { | |
if (typeof(FB_ajax_respond.data.activity.wait) !== 'undefined') { | |
FB_console(FB_ajax_respond.data.activity.wait, "Wait"); | |
FB_pause = FB_ajax_respond.data.activity.wait; | |
FB_gov_click = !FB_ajax_respond.data.activity.wait; | |
if (FB_gov_click) { | |
if (FB_governor_delay) { | |
FB_governor_delay = false; | |
var delay_random = Math.floor((Math.random() * 8000) + 0); | |
FB_console(delay_random, "Delaying for"); | |
setTimeout(function () { | |
FB_governor_delay_run = true; | |
}, delay_random); | |
} | |
FB_governor = false; | |
} else { | |
FB_governor_delay = true; | |
FB_governor_delay_run = false; | |
if (parseInt(FB_ajax_respond.data.activity.delay)) { | |
FB_log_msg = "Pausing to govern shares, left " + FB_ajax_respond.data.activity.delay + "s."; | |
} else { | |
FB_log_msg = "Pausing"; | |
} | |
} | |
} else { | |
FB_console("wait undefined"); | |
} | |
} else { | |
FB_console("activity undefined"); | |
} | |
} | |
if (FB_status === "On") { | |
if (!FB_run) { | |
FB_run = true; | |
FB_console("Running"); | |
FB_log_msg = 'Running'; | |
FB_first_click(); | |
} | |
} else { | |
FB_next_call = true; | |
FB_run = false; | |
FB_finished = false; | |
FB_console("Stopped"); | |
FB_log_msg = 'Stopped'; | |
} | |
call_to_server_ts = Date.now(); | |
call_to_server_ts_next = 1000; | |
setTimeout(call_to_server, 1000); | |
} catch (e) { | |
FB_console(e, "e"); | |
FB_console(msg, "Failed to read JSON"); | |
call_to_server_ts = Date.now(); | |
call_to_server_ts_next = 5000; | |
setTimeout(call_to_server, 5000); | |
} | |
} | |
var FB_request_wait_delay = 31 * 1000; | |
var FB_item_run_count_fail = 0; | |
var fail_limit = 2; | |
function FB_check_response(){ | |
var dif = Date.now() - response_ts; | |
if(dif>=response_ts_next) { | |
if(captcha() || FB_pause) { | |
response_ts_next = 100; | |
response_ts = Date.now(); | |
setTimeout(function () { | |
FB_check_response(); | |
}, response_ts_next); | |
} else { | |
var flash_con_style = $(".flash-con").attr("style"); | |
var flash_msg = $(".flash-con .flash-message").html(); | |
if (FB_item_ID == $("#" + FB_request_monitor).attr("pickle")) { | |
console.log(flash_msg); | |
console.log(flash_con_style); | |
console.log($("#" + FB_request_monitor).attr("tomato")); | |
if ($("#" + FB_request_monitor).attr("tomato") == "200") { | |
x = Math.floor((Math.random() * FB_share_delay_1) + FB_share_delay_2) + FB_share_delay * 1000; | |
FB_console(x, "Second delay"); | |
first_click_ts_next = x; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x); | |
} else if ($("#" + FB_request_monitor).attr("tomato") == "403") { | |
if(flash_msg == "Sorry! You cannot currently share listings from this seller."){ | |
console.log("user had blocked you"); | |
$("#" + FB_request_monitor).attr("pickle", 0).attr("tomato", 0); | |
x = Math.floor((Math.random() * FB_share_delay_1) + FB_share_delay_2) + FB_share_delay * 1000; | |
user_blocked_me = true; | |
first_click_ts_next = x; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x); | |
} else { | |
console.log("captcha pause bots"); | |
$("#" + FB_request_monitor).attr("pickle", 0).attr("tomato", 0); | |
FB_403_request = true; | |
click_actions_ts = Date.now(); | |
setTimeout(FB_first_click, 100); | |
} | |
} else { | |
console.log("Bad request status, error #CB_0002"); | |
$("#" + FB_request_monitor).attr("pickle", 0).attr("tomato", 0); | |
if (FB_item_run_count_fail !== fail_limit) { | |
FB_item_run_count_fail++; | |
$(".modal-header .close").click(); | |
click_actions_ts = Date.now(); | |
setTimeout(FB_first_click, 100); | |
} else { | |
x = Math.floor((Math.random() * FB_share_delay_1) + FB_share_delay_2) + FB_share_delay * 1000; | |
FB_console(x, "Second delay"); | |
first_click_ts_next = x; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x); | |
} | |
} | |
} else { | |
var request_waiting_dif = Date.now() - request_waiting_ts; | |
if (request_waiting_dif >= FB_request_wait_delay) { | |
console.log("No request found, error #CB_0001"); | |
if (FB_item_run_count_fail !== fail_limit) { | |
FB_item_run_count_fail++; | |
$(".modal-header .close").click(); | |
click_actions_ts = Date.now(); | |
setTimeout(FB_first_click, 100); | |
} else { | |
console.log("Item Skipped"); | |
x = Math.floor((Math.random() * FB_share_delay_1) + FB_share_delay_2) + FB_share_delay * 1000; | |
FB_console(x, "Second delay"); | |
first_click_ts_next = x; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x); | |
} | |
} else { | |
setTimeout(FB_check_response, 100); | |
} | |
} | |
} | |
} else { | |
setTimeout(FB_check_response, 100); | |
} | |
} | |
function FB_check_share_response() { | |
var dif = Date.now() - response_ts; | |
if(dif>=response_ts_next) { | |
var flash_msg = $(".flash-con .flash-message").html(); | |
var try_again = true; | |
if (typeof(PM_requests) !== 'undefined') { | |
$.each(PM_requests, function (index, request) { | |
if (request.url.indexOf("https://poshmark.com/vm-rest/users/self/shared_posts/" + FB_item_ID) !== -1) { | |
try_again = false; | |
if (request.status === 200) { | |
x = Math.floor((Math.random() * FB_share_delay_1) + FB_share_delay_2) + FB_share_delay * 1000; | |
FB_console(x, "Second delay"); | |
first_click_ts_next = x; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x); | |
} else if (request.status === 403) { | |
if (flash_msg == "Sorry! You cannot currently share listings from this seller.") { | |
console.log("user had blocked you"); | |
x = Math.floor((Math.random() * FB_share_delay_1) + FB_share_delay_2) + FB_share_delay * 1000; | |
user_blocked_me = true; | |
first_click_ts_next = x; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x); | |
} else { | |
console.log("captcha pause bots"); | |
FB_403_request = true; | |
click_actions_ts = Date.now(); | |
setTimeout(FB_first_click, 100); | |
} | |
} else { | |
console.log("Bad request status, error #CB_0002"); | |
if (FB_item_run_count_fail !== fail_limit) { | |
FB_item_run_count_fail++; | |
$(".modal-header .close").click(); | |
click_actions_ts = Date.now(); | |
setTimeout(FB_first_click, 100); | |
} else { | |
x = Math.floor((Math.random() * FB_share_delay_1) + FB_share_delay_2) + FB_share_delay * 1000; | |
FB_console(x, "Second delay"); | |
first_click_ts_next = x; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x); | |
} | |
} | |
} | |
}); | |
} | |
if(try_again) { | |
var request_waiting_dif = Date.now() - request_waiting_ts; | |
if (request_waiting_dif >= FB_request_wait_delay) { | |
console.log("No request found, error #CB_0001"); | |
if (FB_item_run_count_fail !== fail_limit) { | |
FB_item_run_count_fail++; | |
$(".modal-header .close").click(); | |
click_actions_ts = Date.now(); | |
setTimeout(FB_first_click, 100); | |
} else { | |
console.log("Item Skipped"); | |
x = Math.floor((Math.random() * FB_share_delay_1) + FB_share_delay_2) + FB_share_delay * 1000; | |
FB_console(x, "Second delay"); | |
first_click_ts_next = x; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x); | |
} | |
} else { | |
setTimeout(FB_check_share_response, 100); | |
} | |
} | |
} else { | |
setTimeout(FB_check_share_response, 100); | |
} | |
} | |
function FB_final_click() { | |
try { | |
var dif = Date.now() - final_click_ts; | |
if (dif >= final_click_ts_next) { | |
if (feed_page_switcher === 2) { | |
FB_second_item = $('#share-popup.in .pm-followers-share-link'); // the share box item or second click item | |
if ($(".share-popup").find(".model").css("display") !== "none") { | |
FB_stage = 30; | |
var PMsimulateClick = function (elem) { | |
// Create our event (with options) | |
var evt = new MouseEvent('click', { | |
bubbles: true, | |
cancelable: true, | |
view: window | |
}); | |
// If cancelled, don't dispatch our event | |
if (typeof elem.dispatchEvent === 'function') { | |
var canceled = !elem.dispatchEvent(evt); | |
} else { | |
elem.find(".share-wrapper-container").click(); | |
} | |
}; | |
PMsimulateClick($(".internal-share__link").eq(0)); | |
//$(".modal .close").click(); | |
FB_last_items.push(FB_item_ID); | |
chrome.storage.local.set({FB_last_items: FB_last_items}, function () { | |
}); | |
// console.log("CLICK"); | |
if (typeof(extension_version) !== 'undefined') { | |
if(extension_version >= 1.3){ | |
response_ts = Date.now(); | |
response_ts_next = 100; | |
request_waiting_ts = Date.now(); | |
setTimeout(FB_check_share_response, 100); | |
} else { | |
x = Math.floor((Math.random() * FB_share_delay_1) + FB_share_delay_2) + FB_share_delay * 1000; | |
FB_console(x, "Second delay"); | |
first_click_ts_next = x; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x); | |
} | |
} else { | |
x = Math.floor((Math.random() * FB_share_delay_1) + FB_share_delay_2) + FB_share_delay * 1000; | |
FB_console(x, "Second delay"); | |
first_click_ts_next = x; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x); | |
} | |
} else { | |
console.log("Popup still not loaded"); | |
final_click_ts = Date.now(); | |
final_click_ts_next = 100; | |
setTimeout(FB_final_click, 100); | |
} | |
} else { | |
FB_second_item = $('#share-popup.in .pm-followers-share-link'); // the share box item or second click item | |
if (FB_second_item.attr("href").indexOf(FB_item_ID) !== -1) { | |
if ($("#share-popup").css("display") !== "none") { | |
FB_stage = 30; | |
$("#share-popup.in .pm-followers-share-link .share-wrapper-con").eq(0).click(); | |
//$(".modal .close").click(); | |
FB_last_items.push(FB_item_ID); | |
chrome.storage.local.set({FB_last_items: FB_last_items}, function () { | |
}); | |
// console.log("CLICK"); | |
response_ts = Date.now(); | |
response_ts_next = 100; | |
request_waiting_ts = Date.now(); | |
setTimeout(FB_check_response, 100); | |
} else { | |
console.log("Popup still not loaded"); | |
final_click_ts = Date.now(); | |
final_click_ts_next = 100; | |
setTimeout(FB_final_click, 100); | |
} | |
} else { | |
console.log("Popup still not loaded"); | |
final_click_ts = Date.now(); | |
final_click_ts_next = 100; | |
setTimeout(FB_final_click, 100); | |
} | |
} | |
} else { | |
setTimeout(FB_final_click, 100); | |
} | |
} catch (e) { | |
console.log("ERROR"); | |
console.log(e); | |
} | |
} | |
function FB_second_click() { | |
if(FB_stage === 25){ | |
if(feed_page_switcher === 2) { | |
if ($(".share-popup").find(".model").css("display") !== "none") { | |
final_click_ts = Date.now(); | |
final_click_ts_next = 100; | |
setTimeout(FB_final_click, 100); | |
return; | |
} | |
} else { | |
if (FB_second_item.attr("href").indexOf(FB_item_ID) !== -1) { | |
if ($("#share-popup").css("display") !== "none") { | |
final_click_ts = Date.now(); | |
final_click_ts_next = 100; | |
setTimeout(FB_final_click, 100); | |
return; | |
} | |
} | |
} | |
} | |
var dif = Date.now() - second_click_ts; | |
if(dif>=second_click_ts_next) { | |
FB_second_click_running = true; | |
FB_stage = 15; | |
if (FB_gov_click && FB_governor_delay_run) { | |
FB_stage = 20; | |
if (!captcha()) { | |
FB_stage = 25; | |
FB_console("Click permission granted"); | |
FB_gov_click = false; | |
if(feed_page_switcher === 2) { | |
PMclick(FB_work_item.find("div[data-et-name='share']")); | |
} else { | |
PMclick(FB_work_item.find(".share")); | |
} | |
var click_delay = Math.floor((Math.random() * FB_click_delay_1) + FB_click_delay_2); | |
FB_console(click_delay, "click delay"); | |
final_click_ts = Date.now(); | |
final_click_ts_next = click_delay; | |
setTimeout(FB_final_click, click_delay); | |
} else { | |
FB_governor = true; | |
FB_gov_click = false; | |
FB_console("Try again"); | |
second_click_ts = Date.now(); | |
second_click_ts_next = 100; | |
setTimeout(FB_second_click, 100); | |
} | |
} else { | |
if (FB_run) { | |
FB_console("Wait for gov"); | |
second_click_ts = Date.now(); | |
second_click_ts_next = 100; | |
setTimeout(FB_second_click, 100); | |
} | |
} | |
} else { | |
setTimeout(FB_second_click, 100); | |
} | |
} | |
function FB_first_click() { | |
var dif = Date.now() - first_click_ts; | |
if(dif>=first_click_ts_next) { | |
if (FB_items_loaded) { | |
if (!captcha()) { | |
if(feed_page_switcher === 2) { | |
if ($(".share-popup").find(".model").css("display") !== "none") { | |
$(".modal .btn--close").click(); | |
} | |
} else { | |
if ($("#share-popup").css("display") !== "none") { | |
$(".modal .close").click(); | |
} | |
} | |
FB_stage = 5; | |
FB_index--; | |
var temp = FB_numItems - FB_index; | |
if ((FB_run) && (FB_index >= 0)) { | |
/* | |
GET SOME DATA | |
*/ | |
var temp_index = FB_numItems - FB_index - 1; | |
if(feed_page_switcher === 2){ | |
FB_work_item = $(".feed__unit div[data-layout-type='SIFU_SUMMARY'] .feed__summary").eq(temp_index); | |
FB_item_ID = FB_work_item.find("div[data-et-name='share']").attr("data-et-prop-listing_id"); | |
var FB_item_title = FB_work_item.find(".feed__summary__title-block h4").html(); | |
} else { | |
FB_work_item = $("#tiles-overlay-con #tiles-con .tile").eq(temp_index); | |
FB_item_ID = FB_work_item.attr('id'); | |
var FB_item_title = FB_work_item.find('.title').html().toLowerCase(); | |
} | |
FB_console(FB_work_item, "Work item"); | |
FB_console(FB_item_ID, "Item ID"); | |
FB_console(FB_item_title, "Title"); | |
x = Math.floor((Math.random() * FB_share_delay_1) + FB_share_delay_2) + FB_share_delay * 1000; | |
FB_console(x, "Second delay"); | |
if (typeof(FB_item_title) !== 'undefined') { | |
var FB_item_title_array = FB_item_title.split(" "); // we break our title to array | |
for (var j = 0; j < FB_item_title_array.length; j++) { | |
FB_item_title_array[j] = FB_item_title_array[j].toLowerCase().replace(/[^a-z]+/g, ''); // we remove non letter chars | |
} | |
if(feed_page_switcher === 2) { | |
if(FB_work_item.find(".fw--med").length) { | |
var FB_item_price = parseInt(FB_work_item.find(".fw--med").html().split(" ")[0].split("$")[1]); // we get the bold price | |
} else { | |
var FB_item_price = 0; | |
} | |
} else { | |
var FB_item_price = parseInt(FB_work_item.children('.item-details').children('.price').html().split(" ")[0].split("$")[1]); // we get the bold price | |
} | |
FB_console(FB_item_price, "Price"); | |
if ( | |
FB_work_item.find('.sold-tag').length | |
|| | |
FB_work_item.find('.sold-out-tag').length | |
|| | |
FB_work_item.find('.not-for-sale-tag').length | |
|| | |
FB_work_item.find('.reserved-tag').length | |
) { | |
var FB_sold = true; | |
} else { | |
var FB_sold = false; | |
} | |
FB_console(FB_sold, "Sold"); | |
var FB_good_common = $.grep(FB_item_title_array, function (element) { | |
return $.inArray(element, FB_keywords) !== -1; | |
}); | |
FB_console(FB_good_common, "Good keywords found"); | |
FB_console(FB_good_common.length, "FB_good_common.length"); | |
var FB_bad_common = $.grep(FB_item_title_array, function (element) { | |
return $.inArray(element, FB_bad_keywords) !== -1; | |
}); | |
FB_console(FB_bad_common, "Bad keywords found"); | |
FB_console(FB_bad_common.length, "FB_bad_common.length"); | |
if(feed_page_switcher === 2) { | |
if(FB_work_item.find(".feed__summary__header .feed__unit__header__info div:eq(0)").length) { | |
var FB_item_user = FB_work_item.find(".feed__summary__header .feed__unit__header__info div:eq(0)").html(); | |
} else { | |
var FB_item_user = FB_work_item.parent().prev().find(".feed__unit__header__info a[data-et-name='feed_unit']").html(); | |
} | |
} else { | |
var FB_item_user = FB_work_item.find(".creator-handle").html().toLowerCase(); | |
} | |
FB_console(FB_item_user, "Items user"); | |
FB_governor_send_user = FB_item_user; | |
/* | |
TRY TO SHARE IT | |
*/ | |
if ((FB_item_user == FB_username) || ($.inArray(FB_item_user, FB_block_list) !== -1)) { | |
FB_console("SAME USER OR FROM BAN LIST"); | |
first_click_ts_next = x; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x); | |
} else { | |
if ($.inArray(FB_item_ID, FB_last_items) === -1) { | |
if (FB_sold == 0) { | |
if ((FB_item_price > 0) && (FB_item_price <= FB_max_price_to_share)) { | |
if (FB_bad_common.length == 0) { | |
if (FB_good_common.length > 0) { | |
FB_console("share"); | |
console.log("share"); | |
if (FB_allow_first_click === true) { | |
FB_stage = 10; | |
if (FB_first_wait) { | |
setTimeout(function () { | |
FB_first_wait = false; | |
FB_log_msg = 'Running (Sharing item: ' + temp + ")"; | |
FB_governor = true; | |
second_click_ts_next = 0; | |
second_click_ts = Date.now(); | |
FB_second_click(); | |
}, x); | |
} else { | |
FB_log_msg = 'Running (Sharing item: ' + temp + ")"; | |
FB_governor = true; | |
second_click_ts_next = 0; | |
second_click_ts = Date.now(); | |
FB_second_click(); | |
} | |
} else { | |
first_click_ts_next = x / 100; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x / 100); | |
} | |
} else { | |
FB_console("GOOD KEYWORD NOT FOUND"); | |
first_click_ts_next = x / 100; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x / 100); | |
} | |
} else { | |
FB_console("BAD KEYWORD FOUND"); | |
first_click_ts_next = x / 100; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x / 100); | |
} | |
} else { | |
FB_console("BAD PRICE"); | |
first_click_ts_next = x / 100; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x / 100); | |
} | |
} else { | |
FB_console("SOLD"); | |
first_click_ts_next = x / 100; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x / 100); | |
} | |
} else { | |
FB_console("ITEM ALREADY SHARED"); | |
first_click_ts_next = x / 100; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x / 100); | |
} | |
} | |
} else { | |
FB_console("BAD TITLE"); | |
first_click_ts_next = x / 100; | |
first_click_ts = Date.now(); | |
setTimeout(FB_first_click, x / 100); | |
} | |
} | |
else { | |
FB_console("Finished"); | |
FB_log_msg = 'Finished'; | |
FB_time_to_reload = FB_reload_delay; | |
FB_finished = true; | |
} | |
} else { | |
FB_console("Captcha"); | |
setTimeout(FB_first_click, 500); | |
} | |
} else { | |
setTimeout(FB_first_click, 100); | |
} | |
} else { | |
setTimeout(FB_first_click, 100); | |
} | |
} | |
setInterval(FB_time_f, 1000); | |
if (!$("[href='/login']").length) { | |
call_to_server(); | |
} else { | |
send_logged_out(); | |
} | |
function send_logged_out() { | |
var data = { a: "logged_out", api: api }; | |
port.postMessage(data); | |
Block_further_coms = true; | |
} | |
function http_data(obj){var str=[];for(var p in obj)if(obj.hasOwnProperty(p)){str.push(encodeURIComponent(p)+"="+encodeURIComponent(obj[p]));}return str.join("&");} | |
/* | |
TRACE HTTP REQUESTS | |
*/ | |
function makeid() { | |
var text = ""; | |
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; | |
for (var i = 0; i < 10; i++) | |
text += possible.charAt(Math.floor(Math.random() * possible.length)); | |
return text; | |
} | |
function addScript() { | |
var result_div = document.createElement('span'); | |
result_div.setAttribute("id",FB_request_monitor); | |
document.body.appendChild(result_div); | |
var logger = document.createElement('script'); | |
logger.text = "var potato = 'https://poshmark.com/listing/share?post_id=';" + | |
"XMLHttpRequest.prototype.realSend = XMLHttpRequest.prototype.send;" + | |
"XMLHttpRequest.prototype.send = function(value) {" + | |
"this.addEventListener('load', function(){" + | |
"if(this.responseURL.includes(potato)) {" + | |
"var id = this.responseURL.replace(potato, '').split('&')[0];" + | |
"$('#" + FB_request_monitor + "').attr('tomato',this.status).attr('pickle',id);" + | |
"}" + | |
"}, false);" + | |
"this.realSend(value);" + | |
"};"; | |
document.body.appendChild(logger); | |
} | |
if(feed_page_switcher === 2){ | |
} else { | |
addScript(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment