Browse Source

!2 add url fiter blacklist

chenliangyu 6 months ago
parent
commit
cd31688c8a

+ 1 - 1
Module/mod_chromium/EntitySessionManager.cpp

@@ -451,7 +451,7 @@ namespace Chromium {
 
 		root["headers"] = headers;
 		root["debug_mode"] = true;
-		root["use_url_contains"] = false;
+		root["use_url_excepts"] = true;
 
 		Json::StyledWriter writer;
 		std::string output = writer.write(root);

+ 21 - 7
addin/res/VTMModifyHeaders/background.js

@@ -84,7 +84,7 @@ function loadConfigurationFromLocalStorage() {
   if (config_read_type == 'local') {
     let headers = [];
     headers.push({ url_contains: "", action: "add", header_name: "terminalno", header_value: "7555980178", comment: "test", apply_on: "req", status: "on" });
-    config = { format_version: "1.1", target_page: "", headers: headers, debug_mode: true, use_url_contains: false };
+    config = { format_version: "1.1", target_page: "", headers: headers, debug_mode: true, use_url_excepts: false };
     log("current new config" + JSON.stringify(config));
 
 
@@ -166,14 +166,28 @@ function log(message) {
 *
 */
 function rewriteRequestHeader(e) {
-  if (config.debug_mode) log("Start modify request headers for url " + e.url);
+  if (config.debug_mode) 
+    log("Start modify request headers for url " + e.url + "use_url_excepts:" + config.use_url_excepts)
   for (let to_modify of config.headers) {
-    if ((to_modify.status === "on") && (to_modify.apply_on === "req") && (!config.use_url_contains || (config.use_url_contains && e.url.includes(to_modify.url_contains.trim())))) {
+    if (config.debug_mode)
+      log("to_modify.url_contains:" + to_modify.url_contains + " e.url:" + e.url + ", result:" + !e.url.includes(to_modify.url_contains.trim()));
+
+    const shouldApplyModification = (to_modify, config, e) => {
+      const isStatusOn = to_modify.status === "on";
+      const isApplyOnReq = to_modify.apply_on === "req";
+      const isUrlExcepted = config.use_url_excepts 
+        ? to_modify.url_contains.length > 0 && e.url.includes(to_modify.url_contains.trim())
+        : false;
+      
+      return isStatusOn && isApplyOnReq && !isUrlExcepted;
+    };
+
+    if (shouldApplyModification(to_modify, config, e)) {
       if (to_modify.action === "add") {
         let new_header = { "name": to_modify.header_name, "value": to_modify.header_value };
         e.requestHeaders.push(new_header);
         if (config.debug_mode) log("Add request header : name=" + to_modify.header_name +
-          ",value=" + to_modify.header_value + " for url " + e.url);
+          ",value=" + to_modify.header_value + " for url " + e.url + " url_contains " + to_modify.url_contains);
       }
       else if (to_modify.action === "modify") {
         for (let header of e.requestHeaders) {
@@ -231,9 +245,9 @@ function rewriteRequestHeader(e) {
 *
 */
 function rewriteResponseHeader(e) {
-  if (config.debug_mode) log("Start modify response headers for url " + e.url);
+  //if (config.debug_mode) log("Start modify response headers for url " + e.url);
   for (let to_modify of config.headers) {
-    if ((to_modify.status === "on") && (to_modify.apply_on === "res") && (!config.use_url_contains || (config.use_url_contains && e.url.includes(to_modify.url_contains.trim())))) {
+    if ((to_modify.status === "on") && (to_modify.apply_on === "res") && (!config.use_url_excepts || (config.use_url_excepts && e.url.includes(to_modify.url_contains.trim())))) {
       if (to_modify.action === "add") {
         let new_header = { "name": to_modify.header_name, "value": to_modify.header_value };
         e.responseHeaders.push(new_header);
@@ -291,7 +305,7 @@ function rewriteResponseHeader(e) {
       }
     }
   }
-  if (config.debug_mode) log("End modify response headers for url " + e.url);
+  //if (config.debug_mode) log("End modify response headers for url " + e.url);
   return { responseHeaders: e.responseHeaders };
 }