Skip to content

Commit a92fd2d

Browse files
committed
fix
1 parent b68125a commit a92fd2d

19 files changed

+391
-257
lines changed

empty_script.js

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,10 @@ export default {
1111
blackList: [],
1212
whiteList: [],
1313

14-
// run (if autorun) in background context
15-
backgroundScript: {
16-
onDocumentStart: (tab) => {},
17-
onDocumentEnd: (tab) => {},
18-
onDocumentIdle: (tab) => {},
19-
},
20-
21-
// run (if autorun) in web page context
22-
contentScript: {
23-
onDocumentStart: () => {},
24-
onDocumentEnd: () => {},
25-
onDocumentIdle: () => {},
26-
},
14+
// run (if enable autorun) in web page context
15+
onDocumentStart: () => {},
16+
onDocumentEnd: () => {},
17+
onDocumentIdle: () => {},
2718

2819
// run onclick in extension-popup-page context
2920
onClickExtension: () => {},

popup/helpers/utils.js

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
1-
import { OnClickType, ScriptType } from "../../scripts/helpers/constants.js";
1+
import { ClickType, Events } from "../../scripts/helpers/constants.js";
22
import { isFunction } from "../../scripts/helpers/utils.js";
33

44
export const canClick = (script) =>
5-
isFunction(script[OnClickType.onClick]) ||
6-
isFunction(script[OnClickType.onClickExtension]) ||
7-
isFunction(script[OnClickType.onClickContentScript]);
5+
isFunction(script[ClickType.onClick]) ||
6+
isFunction(script[ClickType.onClickExtension]) ||
7+
isFunction(script[ClickType.onClickContentScript]);
8+
89
export const canAutoRun = (script) =>
9-
ScriptType.contentScript in script || ScriptType.backgroundScript in script;
10-
export const isTitle = (script) => !(canClick(script) || canAutoRun(script));
10+
Events.onDocumentStart in script ||
11+
Events.onDocumentIdle in script ||
12+
Events.onDocumentEnd in script;
13+
14+
export const isTitle = (script) => !(canAutoRun(script) || canClick(script));
1115

1216
export async function viewScriptSource(script) {
1317
localStorage.viewScriptSource_sharedData = script.id;

popup/index.js

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
1-
import {
2-
GlobalBlackList,
3-
MsgType,
4-
ScriptType,
5-
} from "../scripts/helpers/constants.js";
1+
import { GlobalBlackList, MsgType } from "../scripts/helpers/constants.js";
62
import {
73
checkBlackWhiteList,
84
getActiveScript,
@@ -157,10 +153,7 @@ function createScriptButton(script, isFavorite = false) {
157153
buttonContainer.className = "buttonContainer";
158154

159155
// button checker
160-
if (
161-
ScriptType.contentScript in script ||
162-
ScriptType.backgroundScript in script
163-
) {
156+
if (canAutoRun(script)) {
164157
const checkmark = document.createElement("button");
165158
checkmark.className = "checkmark tooltip";
166159
checkmark.onclick = async (e) => {

popup/tabs.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,10 +90,7 @@ const tabs = [
9090
createTitle("--- UI ---", "--- Giao diện ---"),
9191
s.fb_toggleLight,
9292
s.fb_toggleNewFeed,
93-
createTitle("--- Shortcut ---", "--- Phím tắt ---"),
94-
s.fb_openSaved,
95-
s.fb_openMemories,
96-
s.fb_openAdsActivities,
93+
s.fb_invisible_message,
9794
createTitle("--- Download ---", "--- Tải xuống ---"),
9895
s.fb_downloadWatchingVideo,
9996
s.fb_storySaver,
@@ -125,6 +122,10 @@ const tabs = [
125122
s.fb_getAllUidFromFbSearch,
126123
s.fb_getAllUidFromFriendsPage,
127124
s.fb_getAllUidOfGroupMembers,
125+
createTitle("--- Shortcut ---", "--- Phím tắt ---"),
126+
s.fb_openSaved,
127+
s.fb_openMemories,
128+
s.fb_openAdsActivities,
128129
],
129130
},
130131
{

scripts/background-scripts/index.js

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,49 @@
1-
import { MsgType, ScriptType } from "../helpers/constants.js";
2-
import { runAllScriptWithEventType } from "../helpers/utils.js";
1+
import { allScripts } from "../index.js";
2+
import { Events } from "../helpers/constants.js";
3+
import { MsgType } from "../helpers/constants.js";
4+
import {
5+
checkBlackWhiteList,
6+
getActiveScript,
7+
isEmptyFunction,
8+
isFunction,
9+
runScriptInTab,
10+
} from "../helpers/utils.js";
311

412
chrome.runtime.onMessage.addListener(function (message, sender, sendResponse) {
513
console.log("> Received message:", message, sender?.tab?.url);
614

7-
switch (message.type) {
8-
case MsgType.runScript:
9-
runAllScriptWithEventType(
10-
message.event,
11-
ScriptType.backgroundScript,
12-
sender.tab?.url
13-
);
14-
break;
15+
try {
16+
switch (message.type) {
17+
case MsgType.runScript:
18+
let funcName = Events[message.event];
19+
if (!funcName) break;
20+
21+
let count = 0,
22+
tabId = sender.tab.id,
23+
url = sender.tab.url;
24+
25+
Object.values(allScripts).map(async (script) => {
26+
if (!checkBlackWhiteList(script, url)) return;
27+
28+
let func = script[funcName];
29+
if (isFunction(func) && !isEmptyFunction(func)) {
30+
let isActive = (await getActiveScript(script.id)) ?? true;
31+
if (isActive) {
32+
runScriptInTab({ func, tabId });
33+
console.log(
34+
`%c > Run ${script.id} ${funcName} in ${url}`,
35+
"background: #222; color: #bada55"
36+
);
37+
count++;
38+
}
39+
}
40+
});
41+
42+
updateBadge(tabId, count);
43+
break;
44+
}
45+
} catch (e) {
46+
console.log("ERROR: ", e);
1547
}
1648
});
1749

Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,12 @@
1-
// (async () => {
2-
// const { injectScript, baseURL, injectCss } = await import("./utils.js");
3-
// if (
4-
// location.hostname.includes("facebook.com") ||
5-
// location.hostname.includes("messenger.com")
6-
// ) {
7-
// injectScript(baseURL + "fb_invisible_message.js");
8-
// }
9-
// })();
10-
111
(async () => {
12-
const { MsgType, Events, ScriptType } = await import(
13-
"../helpers/constants.js"
14-
);
15-
const { runAllScriptWithEventType, sendEventToBackground } = await import(
16-
"../helpers/utils.js"
17-
);
18-
19-
runAllScriptWithEventType(
20-
Events.document_end,
21-
ScriptType.contentScript,
22-
location.href
23-
);
24-
sendEventToBackground({
25-
type: MsgType.runScript,
26-
event: Events.document_end,
27-
});
2+
try {
3+
const { MsgType, Events } = await import("../helpers/constants.js");
4+
const { sendEventToBackground } = await import("../helpers/utils.js");
5+
sendEventToBackground({
6+
type: MsgType.runScript,
7+
event: Events.onDocumentEnd,
8+
});
9+
} catch (e) {
10+
console.log("ERROR: ", e);
11+
}
2812
})();
Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,12 @@
11
(async () => {
2-
const { getURL, injectScript, injectCss } = await import("./utils.js");
3-
if (location.hostname === "movies.hdviet.com")
4-
injectScript(getURL("./scripts/movie_hd_viet.js"));
5-
})();
6-
7-
(async () => {
8-
const { MsgType, Events, ScriptType } = await import(
9-
"../helpers/constants.js"
10-
);
11-
const { runAllScriptWithEventType, sendEventToBackground } = await import(
12-
"../helpers/utils.js"
13-
);
14-
15-
runAllScriptWithEventType(
16-
Events.document_idle,
17-
ScriptType.contentScript,
18-
location.href
19-
);
20-
sendEventToBackground({
21-
type: MsgType.runScript,
22-
event: Events.document_idle,
23-
});
2+
try {
3+
const { MsgType, Events } = await import("../helpers/constants.js");
4+
const { sendEventToBackground } = await import("../helpers/utils.js");
5+
sendEventToBackground({
6+
type: MsgType.runScript,
7+
event: Events.onDocumentIdle,
8+
});
9+
} catch (e) {
10+
console.log("ERROR: ", e);
11+
}
2412
})();
Lines changed: 38 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,44 @@
11
(async () => {
2-
// https://stackoverflow.com/a/53033388
3-
const { getURL, injectScript, injectCss } = await import("./utils.js");
4-
injectScript(getURL("useful-scripts-utils.js"));
2+
try {
3+
const { MsgType, Events, ClickType: OnClickType } = await import(
4+
"../helpers/constants.js"
5+
);
6+
const { sendEventToBackground, isFunction } = await import(
7+
"../helpers/utils.js"
8+
);
59

6-
// injectScript(getURL("bypass_all_shortlink.js"));
7-
// injectScript(getURL("track_settimeout.js"));
8-
// injectScript(getURL("globals_debugger.js"));
9-
// if (location.hostname === "mp3.zing.vn")
10-
// injectScript(getURL("mp3.zing.vn.js"));
11-
// if (location.hostname === "www.instagram.com") {
12-
// injectCss(getURL("instagram.css"));
13-
// injectScript(getURL("instagram_downloadBtn.js"));
14-
// }
15-
// if (location.hostname === "www.studyphim.vn")
16-
// injectScript(getURL("studyphim.js"));
17-
// if (location.hostname === "www.studocu.com")
18-
// injectCss(getURL("studocu.css"));
19-
})();
20-
21-
(async () => {
22-
const { allScripts } = await import("../index.js");
23-
const { MsgType, Events, ScriptType, OnClickType } = await import(
24-
"../helpers/constants.js"
25-
);
26-
const { runAllScriptWithEventType, sendEventToBackground, isFunction } =
27-
await import("../helpers/utils.js");
10+
sendEventToBackground({
11+
type: MsgType.runScript,
12+
event: Events.onDocumentStart,
13+
});
2814

29-
runAllScriptWithEventType(
30-
Events.document_start,
31-
ScriptType.contentScript,
32-
location.href
33-
);
15+
const { allScripts } = await import("../index.js");
16+
chrome.runtime.onMessage.addListener(function (
17+
message,
18+
sender,
19+
sendResponse
20+
) {
21+
console.log("> Received message:", message);
3422

35-
sendEventToBackground({
36-
type: MsgType.runScript,
37-
event: Events.document_start,
38-
});
23+
switch (message.type) {
24+
// run script on receive event from popup
25+
case MsgType.runScript:
26+
let scriptId = message.scriptId;
27+
if (
28+
scriptId in allScripts &&
29+
isFunction(allScripts[scriptId][OnClickType.onClickContentScript])
30+
) {
31+
allScripts[scriptId][OnClickType.onClickContentScript]();
32+
console.log("> Run script " + scriptId);
33+
}
34+
break;
35+
}
36+
});
3937

40-
// run script on receive event from popup
41-
chrome.runtime.onMessage.addListener(function (
42-
message,
43-
sender,
44-
sendResponse
45-
) {
46-
console.log("> Received message:", message);
47-
switch (message.type) {
48-
case MsgType.runScript:
49-
let scriptId = message.scriptId;
50-
if (
51-
scriptId in allScripts &&
52-
isFunction(allScripts[scriptId][OnClickType.onClickContentScript])
53-
) {
54-
allScripts[scriptId][OnClickType.onClickContentScript]();
55-
console.log("> Run script " + scriptId);
56-
}
57-
break;
58-
}
59-
});
38+
// https://stackoverflow.com/a/53033388
39+
const { getURL, injectScript, injectCss } = await import("./utils.js");
40+
injectScript(getURL("useful-scripts-utils.js"));
41+
} catch (e) {
42+
console.log("ERROR: ", e);
43+
}
6044
})();

scripts/fb_downloadWatchingVideo.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export default {
2828
let dtsg = await fb_videoDownloader.getDtsg();
2929

3030
setLoadingText("Đang tìm video url...");
31-
let videoUrl = await fb_videoDownloader.getLinkFbVideo2(
31+
let videoUrl = await fb_videoDownloader.getLinkFbVideo(
3232
watchingVideoId,
3333
dtsg
3434
);

0 commit comments

Comments
 (0)