From 116d66f2fc8a207487dc4f6f6eb93c252f3d525d Mon Sep 17 00:00:00 2001 From: jingjingxyk Date: Wed, 6 Dec 2023 21:43:05 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A4=87=E4=BB=BD?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extension/options_ui/advance.html | 4 +- .../Components/globalDynamicRuleMain.js | 13 ++++++ .../js/CommonBundle/Components/common.js | 41 ++++++++++++++++++- 3 files changed, 55 insertions(+), 3 deletions(-) diff --git a/extension/options_ui/advance.html b/extension/options_ui/advance.html index a4930614..76f94c5b 100644 --- a/extension/options_ui/advance.html +++ b/extension/options_ui/advance.html @@ -54,8 +54,8 @@

扩展高级选项设置

选项一:全局动态规则处理

- diff --git a/extension/options_ui/js/AdvanceBundle/Components/globalDynamicRuleMain.js b/extension/options_ui/js/AdvanceBundle/Components/globalDynamicRuleMain.js index da31e5e6..b003d7bf 100644 --- a/extension/options_ui/js/AdvanceBundle/Components/globalDynamicRuleMain.js +++ b/extension/options_ui/js/AdvanceBundle/Components/globalDynamicRuleMain.js @@ -2,6 +2,7 @@ import { deleteDynamicRules, updateDynamicRules, backupAllDynamicRules, + backupSelfDefinedDynamicRules, utils, enableStaticRules, id_ranges @@ -21,6 +22,16 @@ let bindBackupAllDynamicRuleEventListener = () => { }); }; +let bindBackupSelfDefinedDynamicRuleEventListener = () => { + document + .querySelector(".backup-self-defined-dynamic-rule") + .addEventListener("click", (event) => { + event.stopPropagation(); + event.preventDefault(); + backupSelfDefinedDynamicRules(); + }); +}; + //同步主仓库静态规则到本地,并停用本地静态规则,实现规则与主仓库保持一致 let bindSyncRemoteStaticRuleEventListener = () => { document @@ -201,6 +212,8 @@ let get_remote_repository_static_rule = async () => { export default () => { //备份所有动态规则 bindBackupAllDynamicRuleEventListener(); + //备份自定义规则 + bindBackupSelfDefinedDynamicRuleEventListener(); //删除所有动态规则 bindDeleteAllDynamicRuleEventListener(); diff --git a/extension/options_ui/js/CommonBundle/Components/common.js b/extension/options_ui/js/CommonBundle/Components/common.js index c92a6785..c569ebc8 100644 --- a/extension/options_ui/js/CommonBundle/Components/common.js +++ b/extension/options_ui/js/CommonBundle/Components/common.js @@ -9,6 +9,7 @@ let id_ranges = { sync_remote_rule: [40000, 320000], all_dynamic_rule: [0, Infinity] }; + //区间段名称 let id_range_name_map = { single_rule: "默认候选项规则", @@ -42,6 +43,7 @@ let updateDynamicRules = ( } ); }; + let deleteDynamicRules = (type, id = 0, callback = () => {}, ...args) => { let del_ids = []; let id_range = [0, 0]; @@ -88,6 +90,41 @@ let deleteDynamicRules = (type, id = 0, callback = () => {}, ...args) => { }); }; +let backupSelfDefinedDynamicRules = () => { + chrome.declarativeNetRequest.getDynamicRules((rules) => { + if (1 || rules.length > 0) { + let time = new Date().toISOString(); + console.log(time); + //time=parseInt(new Date().getTime() / 1000).toString() + let filename = + "replace-google-cdn-backup-self-defined-dynamic-rule-" + time + ".json"; + + let need_rules = []; + rules.map((rule, index, array) => { + if ( + id_ranges["self_define_rule"][0] <= rule.id && + rule.id <= id_ranges["self_define_rule"][1] + ) { + need_rules.push(rule); + } + + if ( + id_ranges["self_define_special_rule"][0] <= rule.id && + rule.id <= id_ranges["self_define_special_rule"][1] + ) { + need_rules.push(rule); + } + }); + + //console.log(id_ranges["self_define_rule"]); + //console.log(id_ranges["self_define_special_rule"]); + //console.log(need_rules); + + utils.createJSONFile(need_rules, filename); + } + }); +}; + let backupAllDynamicRules = () => { chrome.declarativeNetRequest.getDynamicRules((rules) => { if (rules.length > 0) { @@ -95,12 +132,13 @@ let backupAllDynamicRules = () => { console.log(time); //time=parseInt(new Date().getTime() / 1000).toString() let filename = - "ReplaceGoogleCDN-backup-all-dynamic-rule-" + time + ".json"; + "replace-google-cdn-backup-all-dynamic-rule-" + time + ".json"; console.log(filename); utils.createJSONFile(rules, filename); } }); }; + /** * 启用本地默认静态规则 */ @@ -137,6 +175,7 @@ export { updateDynamicRules, deleteDynamicRules, backupAllDynamicRules, + backupSelfDefinedDynamicRules, id_ranges, id_range_name_map, rule_action_type_map, From c2459726becbdda52f8e07119fe9d96869168a67 Mon Sep 17 00:00:00 2001 From: jingjingxyk Date: Wed, 6 Dec 2023 21:49:38 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=A4=87=E4=BB=BD?= =?UTF-8?q?=E6=89=80=E6=9C=89=E5=8A=A8=E6=80=81=E8=A7=84=E5=88=99=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=A4=87=E4=BB=BD=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E8=A7=84=E5=88=99=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/globalDynamicRuleMain.js | 12 +-------- .../js/CommonBundle/Components/common.js | 27 ++++--------------- 2 files changed, 6 insertions(+), 33 deletions(-) diff --git a/extension/options_ui/js/AdvanceBundle/Components/globalDynamicRuleMain.js b/extension/options_ui/js/AdvanceBundle/Components/globalDynamicRuleMain.js index b003d7bf..1c616eb3 100644 --- a/extension/options_ui/js/AdvanceBundle/Components/globalDynamicRuleMain.js +++ b/extension/options_ui/js/AdvanceBundle/Components/globalDynamicRuleMain.js @@ -1,7 +1,6 @@ import { deleteDynamicRules, updateDynamicRules, - backupAllDynamicRules, backupSelfDefinedDynamicRules, utils, enableStaticRules, @@ -11,16 +10,7 @@ import { remote_repository_static_urls } from "../Config/rule_example_conf.js"; import showRuleList from "../../CommonBundle/Components/showRuleList.js"; import { showDynamicRules } from "../../CommonBundle/Components/showDynamicRules.js"; -//备份所有动态规则 -let bindBackupAllDynamicRuleEventListener = () => { - document - .querySelector(".backup-all-dynamic-rule") - .addEventListener("click", (event) => { - event.stopPropagation(); - event.preventDefault(); - backupAllDynamicRules(); - }); -}; +//绑定备份自定义动态规则事件 let bindBackupSelfDefinedDynamicRuleEventListener = () => { document diff --git a/extension/options_ui/js/CommonBundle/Components/common.js b/extension/options_ui/js/CommonBundle/Components/common.js index c569ebc8..9a46b0cd 100644 --- a/extension/options_ui/js/CommonBundle/Components/common.js +++ b/extension/options_ui/js/CommonBundle/Components/common.js @@ -90,6 +90,9 @@ let deleteDynamicRules = (type, id = 0, callback = () => {}, ...args) => { }); }; +/** + * 备份自定义规则 + */ let backupSelfDefinedDynamicRules = () => { chrome.declarativeNetRequest.getDynamicRules((rules) => { if (1 || rules.length > 0) { @@ -102,43 +105,24 @@ let backupSelfDefinedDynamicRules = () => { let need_rules = []; rules.map((rule, index, array) => { if ( - id_ranges["self_define_rule"][0] <= rule.id && + rule.id >= id_ranges["self_define_rule"][0] && rule.id <= id_ranges["self_define_rule"][1] ) { need_rules.push(rule); } if ( - id_ranges["self_define_special_rule"][0] <= rule.id && + rule.id >= id_ranges["self_define_special_rule"][0] && rule.id <= id_ranges["self_define_special_rule"][1] ) { need_rules.push(rule); } }); - - //console.log(id_ranges["self_define_rule"]); - //console.log(id_ranges["self_define_special_rule"]); - //console.log(need_rules); - utils.createJSONFile(need_rules, filename); } }); }; -let backupAllDynamicRules = () => { - chrome.declarativeNetRequest.getDynamicRules((rules) => { - if (rules.length > 0) { - let time = new Date().toISOString(); - console.log(time); - //time=parseInt(new Date().getTime() / 1000).toString() - let filename = - "replace-google-cdn-backup-all-dynamic-rule-" + time + ".json"; - console.log(filename); - utils.createJSONFile(rules, filename); - } - }); -}; - /** * 启用本地默认静态规则 */ @@ -174,7 +158,6 @@ export { utils, updateDynamicRules, deleteDynamicRules, - backupAllDynamicRules, backupSelfDefinedDynamicRules, id_ranges, id_range_name_map, From fb5a536144e2645cd5f8c1b6fbad2c9f5912c6ee Mon Sep 17 00:00:00 2001 From: jingjingxyk Date: Wed, 6 Dec 2023 21:50:14 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=A4=87=E4=BB=BD?= =?UTF-8?q?=E6=89=80=E6=9C=89=E5=8A=A8=E6=80=81=E8=A7=84=E5=88=99=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=A4=87=E4=BB=BD=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E8=A7=84=E5=88=99=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extension/manifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extension/manifest.json b/extension/manifest.json index 0f520086..902ad6b9 100644 --- a/extension/manifest.json +++ b/extension/manifest.json @@ -1,11 +1,11 @@ { "name": "Replace Google CDN", - "version": "0.10.32", + "version": "0.10.33", "manifest_version": 3, "icons": { "128": "icons/128.png" }, - "description": "将 Google CDN 替换为国内镜像 v3 更新日期:2023-12-05", + "description": "将 Google CDN 替换为国内镜像 v3 更新日期:2023-12-06", "background": { "service_worker": "js/background.js", "type": "module" From 3e1a3564ca176d9bcc6558b6b96042c6492580f1 Mon Sep 17 00:00:00 2001 From: jingjingxyk Date: Wed, 6 Dec 2023 21:51:23 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=A4=87=E4=BB=BD?= =?UTF-8?q?=E6=89=80=E6=9C=89=E5=8A=A8=E6=80=81=E8=A7=84=E5=88=99=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=A4=87=E4=BB=BD=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E8=A7=84=E5=88=99=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG-v3-x.x.x.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG-v3-x.x.x.md b/CHANGELOG-v3-x.x.x.md index 0f62effa..37ff2c1c 100644 --- a/CHANGELOG-v3-x.x.x.md +++ b/CHANGELOG-v3-x.x.x.md @@ -1,5 +1,10 @@ # CHANGELOG for v3 +## CHANGELOG for v3 0.10.33 [2023-12-06 21:01:00 +0800] + +> 1. 新增: 新增备份自定义规则功能 +> 1. 变更: 移除备份所有动态规则功能 + ## CHANGELOG for v3 0.10.32 [2023-12-05 15:01:00 +0800] > 1. 新增: 创建 文档目录 `docs` From f11437607235b8534b250c1660cd1de5584b4c19 Mon Sep 17 00:00:00 2001 From: jingjingxyk Date: Wed, 6 Dec 2023 21:52:47 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=A4=87=E4=BB=BD?= =?UTF-8?q?=E6=89=80=E6=9C=89=E5=8A=A8=E6=80=81=E8=A7=84=E5=88=99=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=A4=87=E4=BB=BD=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E8=A7=84=E5=88=99=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG-v3-x.x.x.md | 2 +- extension/manifest.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG-v3-x.x.x.md b/CHANGELOG-v3-x.x.x.md index 37ff2c1c..75dbd45c 100644 --- a/CHANGELOG-v3-x.x.x.md +++ b/CHANGELOG-v3-x.x.x.md @@ -1,6 +1,6 @@ # CHANGELOG for v3 -## CHANGELOG for v3 0.10.33 [2023-12-06 21:01:00 +0800] +## CHANGELOG for v3 0.11.1 [2023-12-06 21:01:00 +0800] > 1. 新增: 新增备份自定义规则功能 > 1. 变更: 移除备份所有动态规则功能 diff --git a/extension/manifest.json b/extension/manifest.json index 902ad6b9..2b0340d6 100644 --- a/extension/manifest.json +++ b/extension/manifest.json @@ -1,6 +1,6 @@ { "name": "Replace Google CDN", - "version": "0.10.33", + "version": "0.11.1", "manifest_version": 3, "icons": { "128": "icons/128.png" From f45b72135a1169c7bcdd8c66e09fd4f29a58f25c Mon Sep 17 00:00:00 2001 From: jingjingxyk Date: Wed, 6 Dec 2023 21:53:43 +0800 Subject: [PATCH 6/8] update changelog --- CHANGELOG-v3-x.x.x.md | 2 +- extension/manifest.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG-v3-x.x.x.md b/CHANGELOG-v3-x.x.x.md index 75dbd45c..2fddbf3b 100644 --- a/CHANGELOG-v3-x.x.x.md +++ b/CHANGELOG-v3-x.x.x.md @@ -1,6 +1,6 @@ # CHANGELOG for v3 -## CHANGELOG for v3 0.11.1 [2023-12-06 21:01:00 +0800] +## CHANGELOG for v3 0.11.0 [2023-12-06 21:01:00 +0800] > 1. 新增: 新增备份自定义规则功能 > 1. 变更: 移除备份所有动态规则功能 diff --git a/extension/manifest.json b/extension/manifest.json index 2b0340d6..8c106ef6 100644 --- a/extension/manifest.json +++ b/extension/manifest.json @@ -1,6 +1,6 @@ { "name": "Replace Google CDN", - "version": "0.11.1", + "version": "0.11.0", "manifest_version": 3, "icons": { "128": "icons/128.png" From 26678c27a8910c8c6c8b4384524b2399ad92ce22 Mon Sep 17 00:00:00 2001 From: jingjingxyk Date: Wed, 6 Dec 2023 21:55:23 +0800 Subject: [PATCH 7/8] update gobal dynamic rule --- .../js/AdvanceBundle/Components/globalDynamicRuleMain.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/extension/options_ui/js/AdvanceBundle/Components/globalDynamicRuleMain.js b/extension/options_ui/js/AdvanceBundle/Components/globalDynamicRuleMain.js index 1c616eb3..f322d1ce 100644 --- a/extension/options_ui/js/AdvanceBundle/Components/globalDynamicRuleMain.js +++ b/extension/options_ui/js/AdvanceBundle/Components/globalDynamicRuleMain.js @@ -200,8 +200,6 @@ let get_remote_repository_static_rule = async () => { }; export default () => { - //备份所有动态规则 - bindBackupAllDynamicRuleEventListener(); //备份自定义规则 bindBackupSelfDefinedDynamicRuleEventListener(); //删除所有动态规则 From 8abe974bfe0206423a02ec427e2e281ee6ab6e96 Mon Sep 17 00:00:00 2001 From: jingjingxyk Date: Wed, 6 Dec 2023 21:56:26 +0800 Subject: [PATCH 8/8] update gobal dynamic rule --- extension/options_ui/js/CommonBundle/Components/common.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extension/options_ui/js/CommonBundle/Components/common.js b/extension/options_ui/js/CommonBundle/Components/common.js index 9a46b0cd..ede6c08c 100644 --- a/extension/options_ui/js/CommonBundle/Components/common.js +++ b/extension/options_ui/js/CommonBundle/Components/common.js @@ -95,7 +95,7 @@ let deleteDynamicRules = (type, id = 0, callback = () => {}, ...args) => { */ let backupSelfDefinedDynamicRules = () => { chrome.declarativeNetRequest.getDynamicRules((rules) => { - if (1 || rules.length > 0) { + if (rules.length > 0) { let time = new Date().toISOString(); console.log(time); //time=parseInt(new Date().getTime() / 1000).toString()