RemoveInstagramUnfollowers
RemoveInstagramUnfollowers copied to clipboard
Cant I just unfollow my whole list?
Like without selecting users, just a script to unfollow everyone I followed? Cant you code a script for that too?
Hi! The following code is a modification of the original repo owner's code such that it gets a JSON of everyone followed. Code has also been deobfuscated for readability.
function getCookie(name) {
let cookieArr = document.cookie.split(";");
for (let i = 0; i < cookieArr.length; i++) {
let cookiePair = cookieArr[i].split("=");
if (name == cookiePair[0].trim()) {
return decodeURIComponent(cookiePair[1]);
}
}
return null;
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
function afterUrlGenerator(after) {
return `https://www.instagram.com/graphql/query/?query_hash=3dec7e2c57367ef3da3d987d89f9dbc8&variables={"id":"${ds_user_id}","include_reel":"true","fetch_mutual":"false","first":"24","after":"${after}"}`;
}
let followedPeople = [],
csrftoken = getCookie("csrftoken"),
ds_user_id = getCookie("ds_user_id"),
initialURL = `https://www.instagram.com/graphql/query/?query_hash=3dec7e2c57367ef3da3d987d89f9dbc8&variables={"id":"${ds_user_id}","include_reel":"true","fetch_mutual":"false","first":"24"}`,
doNext = true,
totalFollowing = 0,
getFollowCounter = 0,
scrollCicle = 0;
async function startScript() {
while (doNext) {
let response;
try {
response = await fetch(initialURL).then(response => response.json());
} catch (error) {
continue;
}
if (totalFollowing === 0) {
totalFollowing = response.data.user.edge_follow.count;
}
let edges = response.data.user.edge_follow.edges;
followedPeople.push(...edges.map(edge => edge.node));
doNext = response.data.user.edge_follow.page_info.has_next_page;
initialURL = afterUrlGenerator(response.data.user.edge_follow.page_info.end_cursor);
getFollowCounter += edges.length;
console.clear();
console.log(`%c Progress ${getFollowCounter}/${totalFollowing} (${parseInt(100 * (getFollowCounter / totalFollowing))}%)`, "background: #222; color: #bada55;font-size: 35px;");
console.log("%c List of users you are following (Still in progress)", "background: #222; color: #FC4119;font-size: 13px;");
followedPeople.forEach(user => console.log(user.username));
await sleep(Math.floor(400 * Math.random()) + 1000);
scrollCicle++;
if (scrollCicle > 6) {
scrollCicle = 0;
console.log("%c Sleeping 10 secs to prevent getting temp blocked", "background: #222; color: #FF0000;font-size: 35px;");
await sleep(10000);
}
}
let jsonContent = JSON.stringify(followedPeople),
fileName = "followingUsers.json",
fileType = "application/json",
link = document.createElement("a"),
blob = new Blob([jsonContent], { type: fileType });
link.href = URL.createObjectURL(blob);
link.download = fileName;
link.click();
console.log("%c All DONE!", "background: #222; color: #bada55;font-size: 25px;");
}
startScript();```