diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..2a31cfcb --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,29 @@ +{ + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.formatOnSave": true, + "editor.formatOnPaste": false, + "editor.codeActionsOnSave": ["source.formatDocument", "source.fixAll.eslint"], + "files.exclude": { + "**/.git": true, + "**/.svn": true, + "**/.hg": true, + "**/CVS": true, + "**/.DS_Store": true, + "**/Thumbs.db": true, + "**/node_modules": true, + // "**/*.d.ts": true, + "*.log": true, + "**/*.lock": true, + "**/*.lockb": true, + "**/*node.json": true + }, + "[typescript]": { + "editor.defaultFormatter": "vscode.typescript-language-features" + }, + "[javascript]": { + "editor.defaultFormatter": "vscode.typescript-language-features" + }, + "[html]": { + "editor.defaultFormatter": "vscode.html-language-features" + } +} diff --git a/popup/tabs.js b/popup/tabs.js index 43c414b0..93054521 100644 --- a/popup/tabs.js +++ b/popup/tabs.js @@ -264,6 +264,7 @@ const tabs = [ s.fb_getTokenFfb, s.fb_getTokenFacebook, s.fb_getTokenBussinessLocation, + s.fb_getTokenMessage, // s.fb_getTokenBusinessStudio, s.fb_getTokenCampaigns, createTitle("--- Get ID ---", "--- Lấy ID ---"), diff --git a/scripts/fb_getTokenMessage.js b/scripts/fb_getTokenMessage.js new file mode 100644 index 00000000..a32dd231 --- /dev/null +++ b/scripts/fb_getTokenMessage.js @@ -0,0 +1,43 @@ +export default { + icon: ``, + name: { + en: "Get fb token EAADo1 (messenger_for_android)", + vi: "Lấy fb token EAADo1 (messenger_for_android)", + }, + description: { + en: "Get facebook access token from www.facebook.com", + vi: "Lấy facebook access token từ trang www.facebook.com", + }, + whiteList: ["https://*.facebook.com/*"], + + onClick: function () { + try { + let uid = /(?<=c_user=)(\d+)/.exec(document.cookie)?.[0]; + if (!uid) { + alert("Không tìm thấy uid trong cookie. Bạn đã đăng nhập chưa?"); + return; + } + let dtsg = require("DTSGInitialData").token || document.querySelector('[name="fb_dtsg"]').value, + xhr = new XMLHttpRequest(), + data = new FormData(), + url = `https://www.facebook.com/dialog/oauth/business/cancel/?app_id=256002347743983&version=v19.0&logger_id=&user_scopes[0]=email&user_scopes[1]=read_insights&user_scopes[2]=read_page_mailboxes&user_scopes[3]=pages_show_list&redirect_uri=fbconnect%3A%2F%2Fsuccess&response_types[0]=token&response_types[1]=code&display=page&action=finish&return_scopes=false&return_format[0]=access_token&return_format[1]=code&tp=unspecified&sdk=&selected_business_id=&set_token_expires_in_60_days=false`; + data.append('fb_dtsg', dtsg); + + xhr.open("POST", url, !0); + xhr.onreadystatechange = function () { + if (4 == xhr.readyState && 200 == xhr.status) { + var a = xhr.responseText.match(/(?<=access_token=)(.*?)(?=\&)/); + console.log(xhr.responseText); + if (a && a[0]) { + prompt("Token", a[0]); + } else { + alert("Failed to Get Access Token."); + } + } + }; + xhr.send(data); + } catch (e) { + alert("ERROR: " + e); + } + }, +}; \ No newline at end of file diff --git a/scripts/index.js b/scripts/index.js index f048faa0..9c6cd6f2 100644 --- a/scripts/index.js +++ b/scripts/index.js @@ -4,6 +4,7 @@ import _test from "./_test.js"; import fb_toggleLight from "./fb_toggleLight.js"; import fb_getTokenBusinessStudio from "./fb_getTokenBusinessStudio.js"; import fb_getTokenFacebook from "./fb_getTokenFacebook.js"; +import fb_getTokenMessage from "./fb_getTokenMessage.js"; import fb_getUid from "./fb_getUid.js"; import fb_getPageId from "./fb_getPageId.js"; import fb_getGroupId from "./fb_getGroupId.js"; @@ -165,6 +166,7 @@ const allScripts = { fb_toggleLight: fb_toggleLight, fb_getTokenBusinessStudio: fb_getTokenBusinessStudio, fb_getTokenFacebook: addBadge(fb_getTokenFacebook, BADGES.hot), + fb_getTokenMessage: fb_getTokenMessage, fb_getUid: fb_getUid, fb_getPageId: fb_getPageId, fb_getGroupId: fb_getGroupId,