46% OFF
$0.69 $1.29
Buy Now
43% OFF
$0.79 $1.39
Buy Now
40% OFF
$0.89 $1.49
Buy Now
37% OFF
$0.99 $1.59
Buy Now
35% OFF
$1.09 $1.69
Buy Now
30% OFF
$1.39 $1.99
Buy Now
34% OFF
$1.49 $2.29
Buy Now
38% OFF
$1.59 $2.59
Buy Now
34% OFF
$3.29 $4.99
Buy Now
Best Choice
46% OFF
250
Instagram Likes
$6.89 $12.99
Buy Now
14% OFF
$12.89 $14.99
Buy Now
50% OFF
$19.89 $39.99
Buy Now
40% OFF
2500
Instagram Likes
$29.89 $49.99
Buy Now
45% OFF
$59.89 $109.99
Buy Now
56% OFF
$129.89 $299.99
Buy Now
21% OFF
25000
Instagram Likes
$149.99 $189.99
Buy Now
Instagram
Sale!

@${username}
${follows_count} Following
${followers_count} Followers
${media_count} Posts
${permalink}
${this.selectedValue}
${this.selectedPrice}
`;
const youtubeModel = `
${name}
${username}
${followers_count} ${this.category === 'tiktok' ? 'Followers' : 'Subscribers'}
${permalink}
${this.selectedValue}
${this.selectedPrice}
`;
infoPlaceholder.classList.add("insta-info-placeholder");
infoPlaceholder.innerHTML = (this.category === 'instagram' || this.category === 'tiktok')
? instagramModel
: youtubeModel;
const changeButton = document.createElement('button');
changeButton.setAttribute('id', 'insta-change-profile-button');
changeButton.textContent = 'Change';
changeButton.addEventListener("click", () => this.changeProfile(), false);
profile.appendChild(changeButton);
profile.appendChild(infoPlaceholder);
fetch(profilePicture)
.then(response => response.blob())
.then(blob => {
const imgElement = document.createElement('img');
imgElement.src = URL.createObjectURL(blob);
profile.appendChild(imgElement);
});
}
changeProfile() {
this.resetTurnstile();
this.container.querySelector('#insta-next-button').setAttribute('disabled', 'disabled');
this.container.querySelector('.intagram-profile-link').value = '';
this.container.querySelector('#insta-error').innerHTML = '';
this.container.querySelector('#instagram_feed_wrapper').style.display = "none";
this.clearEverything();
this.defaultWrapper.removeAttribute("hidden");
this.defaultWrapper.style.display = "table";
}
clearEverything(option) {
if (option === 1) {
this.handleErrors(1, 'Please ensure your account is Public or try to enter a valid username again.');
this.container.querySelector('#insta-next-button').classList.remove("loading");
}
this.handleButtons(3);
const profile = this.container.querySelector('#instagram_account');
const posts = this.container.querySelector('#instagram_posts_list');
profile.innerHTML = "";
posts.innerHTML = "";
this.container.querySelector('#instagram_feed_wrapper').style.display = "none";
const errorContainer = document.createElement('div');
const loadMoreButton = this.container.querySelector('#insta-load-more');
if (loadMoreButton) loadMoreButton.remove();
errorContainer.classList.add("insta-error-wrapper");
errorContainer.innerHTML = `Username not found`;
posts.appendChild(errorContainer);
setTimeout(() => {
errorContainer.innerHTML = '';
}, 3000);
}
createPosts(postsArray, create) {
const container = this.container.querySelector('#instagram_posts_list');
if (create) {
container.innerHTML = "";
const instruction = document.createElement('div');
instruction.setAttribute('id', 'instruction-row');
instruction.innerHTML = `Please select ${this.category} posts
`; container.appendChild(instruction); } postsArray.forEach(post => { const postElement = document.createElement('div'); postElement.classList.add("insta-image-wrapper"); const imageUrl = post.thumbnail_url || post.media_url; fetch(imageUrl) .then(response => response.blob()) .then(blob => { const imgElement = document.createElement('img'); imgElement.src = URL.createObjectURL(blob); postElement.appendChild(imgElement); }); const placeholder = document.createElement('div'); placeholder.classList.add("insta-image-placeholder"); postElement.appendChild(placeholder); let postInfo; if (this.category === 'instagram' || this.category === 'tiktok') { postInfo = `
Likes: ${post.like_count}
Comments: ${post.comments_count}
${post.permalink}
Click to select
`;
} else {
postInfo = `
${post.view_count != '0' ? `${post.view_count}${this.category === 'tiktok' ? 'Likes' : ''}` : ''}
${post.title || ''}
${post.permalink}
Click to select
`;
}
postElement.innerHTML += postInfo;
container.appendChild(postElement);
});
this.addPostsSelection();
}
recalcSelectedLikes(count, price) {
if (this.typeOfProduct !== 'Followers' && this.typeOfProduct !== 'Subscribers') return;
const mainContainer = this.container.querySelector('#instagram_feed_wrapper');
const infoBlockSecond = this.container.querySelector('#selected-likes-value');
const updatePrice = this.container.querySelector('#selected-likes-price');
const splitedLikes = this.selectedPosts.length === 0 ? count : Math.round(count / this.selectedPosts.length);
const infoBlock = this.container.querySelector('#insta-info-container');
infoBlock.innerHTML = `
${this.selectedPosts.length} selected
${splitedLikes} ${this.typeOfProduct} per post
`;
infoBlockSecond.innerHTML = `${count} ${this.typeOfProduct}`;
updatePrice.innerHTML = `${price}`;
mainContainer.appendChild(infoBlock);
this.container.querySelectorAll('.selected-post').forEach(item => {
item.innerHTML = `${splitedLikes} ${this.typeOfProduct}`;
});
}
addPostsSelection() {
this.container.querySelectorAll('.insta-image-wrapper').forEach(item => {
this.selectedValue = this.container.querySelector('#pa_select-package').value;
item.addEventListener('click', (event) => {
const permalink = item.querySelector('.slected-post-permalink').textContent;
if (this.selectedPosts.includes(permalink)) {
const selectedMark = item.querySelector('.selected-post');
if (selectedMark) selectedMark.remove();
const index = this.selectedPosts.indexOf(permalink);
if (index > -1) this.selectedPosts.splice(index, 1);
} else {
if (parseInt(this.selectedValue) / (this.selectedPosts.length + 1) >= parseInt(this.variationSplitValue)) {
const selectedMark = document.createElement('div');
selectedMark.classList.add("selected-post");
item.appendChild(selectedMark);
this.selectedPosts.push(permalink);
}
}
if (this.selectedPosts.length === 0) {
this.handleButtons(2);
} else {
this.handleButtons(1);
}
if (this.typeOfProduct !== 'Followers' && this.typeOfProduct !== 'Subscribers') {
this.recheckLikesCounter();
}
this.addSelectedPosts(this.selectedPosts);
event.stopImmediatePropagation();
});
});
}
recheckLikesCounter() {
const mainContainer = this.container.querySelector('#instagram_feed_wrapper');
const splitedLikes = this.selectedPosts.length === 0 ? this.selectedValue : Math.round(this.selectedValue / this.selectedPosts.length);
const infoBlock = this.container.querySelector('#insta-info-container');
infoBlock.innerHTML = `
${this.selectedPosts.length} selected
${splitedLikes} ${this.typeOfProduct} per post
`;
mainContainer.appendChild(infoBlock);
this.container.querySelectorAll('.selected-post').forEach(item => {
item.innerHTML = `${splitedLikes} ${this.typeOfProduct}`;
});
}
addSelectedPosts(posts) {
const profile = this.container.querySelector('.intagram-profile-link');
profile.value = posts.join(', ');
}
handleStart() {
this.cacheVariationSplit();
const instaInput = this.container.querySelector('.intagram-profile-link');
const onStartScrape = () => {
this.clearSelected();
const inputValueCheck = this.container.querySelector('.intagram-profile-link').value.replace(/@/g, '');
if (this.typeOfProduct !== 'Followers' && this.typeOfProduct !== 'Subscribers' && !this.breadcrumb.innerText.includes("Automatic")) {
this.getInstagramProfile(!!this.removeFromLink(inputValueCheck));
} else {
this.getProfileOnly(!!this.removeFromLink(inputValueCheck));
}
};
const scamDetected = (text) => {
const bannedWords = ['burokas', '_orengea_', 'black_venom_off', 'ernestas123', 'mriwaa_shop', 'medhama23', 'medhama23', 'achref_jlassi_29', 'istabrak_mahdi', 'istabrak2023', 'henry.pomchi','chahed_kl','Zolify342','mesterlapin','montassar_mahdi','0xi0m','asamamazn91','hellothisq','Sunerakitchen','photocommentnr1','hellothisq','Bestonedollerstore','renzoidk_','renzoidk_','peonypetals','Cubezert','lilo_sweety','qlm.cars','carspottingatbgc','carspottingatbgc2'];
return bannedWords.some(word => text.includes(word));
};
if (!this.container.querySelector('#insta-next-button')) {
const mainContainer = this.container.querySelector('#instagram_feed_wrapper');
const buttonsLocation = this.container.querySelector('.woocommerce-variation-add-to-cart');
const infoBlock = document.createElement('div');
infoBlock.setAttribute('id', 'insta-info-container');
mainContainer.appendChild(infoBlock);
const buttonsWrapper = document.createElement('div');
buttonsWrapper.setAttribute('id', 'insta-content-wrapper');
buttonsLocation.appendChild(buttonsWrapper);
const nextButton = document.createElement('button');
nextButton.setAttribute('id', 'insta-next-button');
nextButton.classList.add('button');
nextButton.textContent = 'Continue';
// Disable button by default
nextButton.setAttribute('disabled', 'disabled');
buttonsWrapper.appendChild(nextButton);
//const instaInput = this.container.querySelector('.intagram-profile-link');
// Updated toggle function with separate checks for input and token
const toggleNextButtonState = () => {
const inputValid = instaInput.value.trim() !== '';
const tokenValid = true;//Boolean(window.turnstileToken);
// console.log('toggleNextButtonState => inputValid:', inputValid, 'tokenValid:', tokenValid);
if (!inputValid || !tokenValid) {
nextButton.disabled = true;
} else {
nextButton.disabled = false;
}
};
toggleNextButtonState();
instaInput.addEventListener('input', toggleNextButtonState);
document.addEventListener('turnstile-token', toggleNextButtonState);
nextButton.addEventListener('click', (event) => {
// Turnstile check: if no token, trigger challenge and exit.
// if (!window.turnstileToken) {
// if (typeof turnstile !== 'undefined' && turnstile.execute) {
// turnstile.execute('#cf-turnstile-widget', { action: 'check' });
// }
// return;
// }
// Disable button to prevent duplicate submissions
// nextButton.disabled = true;
const input = instaInput.value;
if (scamDetected(input)) {
event.preventDefault();
this.handleErrors(1, 'Not allowed.');
} else {
const inputValueCheck = instaInput.value.replace(/@/g, '');
if (this.typeOfProduct !== 'Followers' && this.typeOfProduct !== 'Subscribers' && !this.breadcrumb.innerText.includes("Automatic")) {
if (this.handleInput(inputValueCheck)) {
this.handleLoading(true);
setTimeout(() => {
this.handleLoading(false);
this.resetTurnstile();
}, 1000);
} else {
event.preventDefault();
this.handleErrors(0, '');
onStartScrape();
this.resetTurnstile();
}
} else {
if (this.handleInputProfile(inputValueCheck)) {
this.handleLoading(true);
setTimeout(() => {
this.handleLoading(false);
this.resetTurnstile();
}, 1000);
} else {
event.preventDefault();
this.handleErrors(0, '');
onStartScrape();
this.resetTurnstile();
}
}
}
});
}
const selectedCount = this.container.querySelector('#pa_select-package');
this.selectedPrice = this.container.querySelector('.woocommerce-variation-price .amount bdi').innerText;
this.selectedValue = selectedCount.value;
selectedCount.addEventListener('change', () => {
setTimeout(() => {
this.cacheVariationSplit();
this.selectedPrice = this.container.querySelector('.woocommerce-variation-price .amount bdi').innerText;
this.selectedValue = selectedCount.value;
if (this.typeOfProduct !== 'Followers') {
this.recalcSelectedLikes(this.selectedValue, this.selectedPrice);
}
}, 300);
});
this.container.querySelectorAll('.choose-variatione').forEach(item => {
item.addEventListener('click', () => {
setTimeout(() => {
this.cacheVariationSplit();
this.selectedPrice = this.container.querySelector('.woocommerce-variation-price .amount bdi').innerText;
this.selectedValue = selectedCount.value;
this.recalcSelectedLikes(this.selectedValue, this.selectedPrice);
}, 1000);
});
});
window.addEventListener('keydown', (e) => {
if (e.key === 'Enter') {
if (e.target.nodeName === 'INPUT' && e.target.type === 'text') {
const input = instaInput.value;
if (scamDetected(input)) {
e.preventDefault();
this.handleErrors(1, 'Not allowed.');
} else {
const inputValueCheck = instaInput.value.replace(/@/g, '');
if (this.typeOfProduct !== 'Followers' && this.typeOfProduct !== 'Subscribers' && !this.breadcrumb.innerText.includes("Automatic")) {
if (this.handleInput(inputValueCheck)) {
this.handleLoading(true);
setTimeout(() => {
this.handleLoading(false);
this.resetTurnstile();
}, 1000);
} else {
e.preventDefault();
this.handleErrors(0, '');
onStartScrape();
this.resetTurnstile();
}
} else {
if (this.handleInputProfile(inputValueCheck)) {
this.handleLoading(true);
setTimeout(() => {
this.handleLoading(false);
this.resetTurnstile();
}, 1000);
} else {
e.preventDefault();
this.handleErrors(0, '');
onStartScrape();
this.resetTurnstile();
}
}
}
}
}
}, true);
}
bindGlobalEvents() {
const inputFocus = this.container.querySelector('.intagram-profile-link');
if (inputFocus) {
inputFocus.addEventListener('focus', () => this.handleErrors(0, ''));
}
}
// Helper to reset Turnstile after a request
resetTurnstile() {
try {
if (typeof turnstile !== 'undefined') {
turnstile.reset('#cf-turnstile-widget');
}
} catch(e) {
console.warn('Turnstile reset error:', e);
}
window.turnstileToken = null;
// Optionally, trigger a new token request
if (typeof turnstile !== 'undefined' && turnstile.execute) {
turnstile.execute('#cf-turnstile-widget', { action: 'check' });
}
}
}
window.SocialScraper = SocialScraper;
document.addEventListener('DOMContentLoaded', function () {
setTimeout(function () {
let activeTab = '';
const multipleProductsClass = document.getElementsByClassName('multiple-products');
if (multipleProductsClass.length > 0) {
activeTab = document.querySelector('.multiple-products .nav .tab.active a').href.split("/").pop();
}
const socialScraperInstance = new SocialScraper(activeTab);
socialScraperInstance.init();
const clearOnTabChange = (tab) => {
const container = document.querySelector(tab);
if (container) {
container.querySelector('.intagram-profile-link').value = '';
container.querySelector('#instagram_feed_wrapper').style.display = "none";
container.querySelector('#insta-error').innerHTML = '';
container.querySelector('#instagram_account').innerHTML = "";
container.querySelector('#instagram_posts_list').innerHTML = "";
const defaultWrapper = container.querySelector('.intagram-profile-link-wrapper');
defaultWrapper.removeAttribute("hidden");
defaultWrapper.style.display = "table";
container.querySelector('#insta-buy-wrap').style.display = "none";
const nextButton = container.querySelector('#insta-content-wrapper');
nextButton.removeAttribute("hidden");
nextButton.style.display = "initial";
socialScraperInstance.resetTurnstile()
console.log('Cleaning after tab change');
}
};
const buyNow = document.querySelector('.single_add_to_cart_button');
buyNow.addEventListener('click', function (event) {
setTimeout(function () {
console.log('Cleaning...');
clearOnTabChange(activeTab);
}, 2000);
});
document.querySelectorAll('.multiple-products .nav .tab a').forEach(item => {
item.addEventListener('click', event => {
const selectedTab = item.href.split("/").pop();
const instance = new SocialScraper(selectedTab);
instance.init();
clearOnTabChange(selectedTab);
});
});
}, 500);
});
})();