[Chrome Extension] Show Instagram Id on User Page
[Update]: Now Instagram bans access to /?__a=1 URL, so this extension cannot work now. See my new way to do this [2].
A Chrome extension to help you show Instagram id on the user page.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | {
"manifest_version": 2,
"name": "showigid",
"description" : "Show Instagram Id on user page",
"version": "0.1",
"background": {
"scripts": ["eventPage.js"]
},
"content_scripts": [
{
"matches": ["https://www.instagram.com/*"],
"js": ["showid.js"]
}
],
"permissions": [
"https://www.instagram.com/*",
"tabs"
]
}
|
background.js:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | var reUrlUser = /^https:\/\/www\.instagram\.com\/([a-z0-9_.]+)\/$/;
function sendMsg(id, url) {
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.sendMessage(
tabs[0].id,
{id: id, url: url}
);
});
}
function getId(url) {
var jsonUrl = url + "?__a=1";
var xhr = new XMLHttpRequest();
xhr.open("GET", jsonUrl, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
// JSON.parse does not evaluate the attacker's scripts.
var resp = JSON.parse(xhr.responseText);
sendMsg(resp["user"]["id"], jsonUrl);
}
}
xhr.send();
}
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
if (changeInfo.hasOwnProperty('url')) {
// check if URL is user page
var result = changeInfo.url.match(reUrlUser);
if (result) {
getId(changeInfo.url);
}
}
});
|
showid.js:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | function showId(elm, id, url) {
var link = document.createElement("a");
link.setAttribute("href", url);
link.setAttribute("target", "_blank");
link.setAttribute("class", "_fd86t");
link.appendChild(document.createTextNode(id));
elm.appendChild(document.createElement("br"));
elm.appendChild(link);
}
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
// wait page to be loaded
var timerId = setInterval(function() {
var n = document.querySelector("section._o6mpc");
if (n != null) {
showId(n, request.id, request.url);
clearInterval(timerId);
}
}, 500);
});
|
References:
[1] | GitHub - siongui/fbidcrx: Try to find Facebook Id via Chrome Extension |
[2] | [Chrome Extension] Get Instagram User Information From HTML Source |