Skip to content

Commit

Permalink
add heder modify
Browse files Browse the repository at this point in the history
  • Loading branch information
Oein committed Jun 18, 2024
1 parent 4880bd1 commit bc262ef
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 71 deletions.
5 changes: 5 additions & 0 deletions extension/manifests/base.json
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,11 @@
"id": "trackerblock",
"enabled": false,
"path": "rules/trackerblock.json"
},
{
"id": "bypassnaver",
"enabled": true,
"path": "rules/bypassNaver.json"
}
]
}
Expand Down
7 changes: 7 additions & 0 deletions extension/public/rules/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Alloc

1000 : TrackerBlock
1100 : Adblock
1200 : BannerBlock
1300 : Recommendation
1400 : Bypass Naver
30 changes: 30 additions & 0 deletions extension/public/rules/bypassNaver.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
[
{
"id": 1401,
"priority": 1,
"action": {
"type": "modifyHeaders",
"requestHeaders": [
{ "header": "test", "value": "yee", "operation": "set" }
]
},

"condition": {
"regexFilter": "(http(s|):\\/\\/(.+.|)chzzk.naver.com\\/(.+|))|(http(s|):\\/\\/(.+).pstatic.net\\/chzzk(.+))"
}
},
{
"id": 1402,
"priority": 1,
"action": {
"type": "modifyHeaders",
"requestHeaders": [
{ "header": "test", "value": "yee", "operation": "set" }
]
},

"condition": {
"urlFilter": "https://echo-http-requests.appspot.com/echo"
}
}
]
2 changes: 1 addition & 1 deletion extension/src/background.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ const main = () => {
applyTrackerBlock();
applyBannerBlock();
applySidebarBlock();
applyBypassNaver();
applyBypassNaver(enableRule, disableRule);
// ===============================
applyRule();
};
Expand Down
77 changes: 7 additions & 70 deletions extension/src/backgrounds/bypassNaver.ts
Original file line number Diff line number Diff line change
@@ -1,79 +1,16 @@
import bypassData from "#e/bypassData";
import configInstance, { defaultConfig } from "@config";

type Listener = (
details: chrome.webRequest.WebRequestHeadersDetails
) => chrome.webRequest.BlockingResponse | void;
const listener: Listener = (details) => {
const headers = details.requestHeaders;
if (!headers) return;
console.log(details.url);
for (let i = 0; i < headers.length; i++) {
const name = headers[i].name.toLowerCase();
if (name.toLowerCase() === "user-agent") {
headers[i].value = bypassData.bypassAgent;
} else if (name.startsWith("sec-ch-")) {
headers[i].value = undefined;
}
}

headers.push(
{
name: "sec-ch-ua-platform",
value: '"' + "macOS" + '"',
},
{
name: "sec-ch-ua",
value: `"Chromium";v="125.0.6422.142", "Not.A/Brand";v="24.0.0.0"`,
},
{
name: "sec-ch-ua-mobile",
value: "?0",
},
{
name: "user-Agent",
value: bypassData.bypassAgent,
}
);

return { requestHeaders: headers.filter((i) => i) };
};
export default function applyBypassNaver() {
export default function applyBypassNaver(
enableRule: (s: string) => void,
disableRule: (s: string) => void
) {
const apply = (enable: boolean) => {
if (!enable) {
// chrome.webRequest.onBeforeSendHeaders.removeListener(listener);
disableRule("bypassnaver");
return;
}
const urls = [
"*://*.chzzk.naver.com/*",
"*://chzzk.naver.com/*",
"https://apis.naver.com/neonplayer/vodplay/v1/playback/*",
"*://*.chzzk.naver.com/",
"*://chzzk.naver.com/",
"https://apis.naver.com/neonplayer/vodplay/v1/playback/",
];
chrome.declarativeNetRequest.updateDynamicRules({
addRules: urls.map((x, i) => {
return {
id: 1600 + i,
action: {
type: chrome.declarativeNetRequest.RuleActionType.MODIFY_HEADERS,
requestHeaders: [
{
header: "user-Agent",
operation: chrome.declarativeNetRequest.HeaderOperation.SET,
value: bypassData.bypassAgent,
},
],
},
condition: {
urlFilter: x,
},
priority: 1,
};
}),
removeRuleIds: urls.map((_, i) => 1600 + i),
});

enableRule("bypassnaver");
};
apply(configInstance.get("bypassNaver", defaultConfig.bypassNaver));
}

0 comments on commit bc262ef

Please sign in to comment.