wvg/content.js
2024-06-25 11:11:08 +09:00

46 lines
1.3 KiB
JavaScript

const script = document.createElement('script');
script.type = 'text/javascript';
script.defer = false;
script.async = false;
script.src = chrome.runtime.getURL("inject.js");
(document.head || document.documentElement).appendChild(script);
//Reset variables at every page load in background.js
if (window === window.parent){
chrome.runtime.sendMessage({type: "RESET"},null);
}
//Send PSSH into background.js
document.addEventListener('pssh', (e) => {
chrome.runtime.sendMessage({
type: "PSSH",
text: e.detail
},null);
});
//Send Clearkey into background.js
document.addEventListener('clearkey', (e) => {
chrome.runtime.sendMessage({
type: "CLEARKEY",
text: e.detail
},null);
});
//Fetch from original origin
chrome.runtime.onMessage.addListener(
function (request, sender, sendResponse) {
if(request.type=="FETCH"){
let res = fetch(request.u, {
method: request.m,
headers: JSON.parse(request.h),
body: Uint8Array.from(atob(request.b), c => c.charCodeAt(0))
}).then((r)=>r.arrayBuffer()).then((r)=>{
sendResponse(
btoa(String.fromCharCode(...new Uint8Array(r)))
);
})
}
return true
}
);