update
This commit is contained in:
1 parent
0f0d371afd
commit
bf84195925
5 files changed
+81
-14
No files matched your search
@@ -68,6 +68,37 @@ function set_proxy(PROXY) {
|
||||
}
|
||||
|
||||
|
||||
function set_headers(HEADERS) {
|
||||
|
||||
function rewriteRequestHeader(requestDetails) {
|
||||
|
||||
for (let key in HEADERS) {
|
||||
to_modify = {"name": key, "value": HEADERS[key]};
|
||||
|
||||
is_set = false;
|
||||
|
||||
for (let header of requestDetails.requestHeaders) {
|
||||
if (header.name.toLowerCase() === to_modify.name.toLowerCase()) {
|
||||
header.value = to_modify.value;
|
||||
is_set = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!is_set) {
|
||||
requestDetails.requestHeaders.push(to_modify)
|
||||
}
|
||||
}
|
||||
|
||||
return {requestHeaders: requestDetails.requestHeaders}
|
||||
}
|
||||
|
||||
const TARGET = "<all_urls>";
|
||||
chrome.webRequest.onBeforeSendHeaders.addListener(rewriteRequestHeader,
|
||||
{ urls: [TARGET] },
|
||||
["blocking", "requestHeaders"]);
|
||||
}
|
||||
|
||||
|
||||
function main() {
|
||||
|
||||
function setProxy(result) {
|
||||
@@ -84,10 +115,20 @@ function main() {
|
||||
}
|
||||
}
|
||||
|
||||
function setHeaders(result) {
|
||||
if (result.headers) {
|
||||
console.log("Setup headers...");
|
||||
set_headers(result.headers);
|
||||
}
|
||||
}
|
||||
|
||||
function onError(error) {
|
||||
console.log(`Error: ${error}`);
|
||||
}
|
||||
|
||||
let headers = browser.storage.sync.get("headers");
|
||||
headers.then(setHeaders, onError);
|
||||
|
||||
let proxy = browser.storage.sync.get("proxy");
|
||||
proxy.then(setProxy, onError);
|
||||
|
||||
|
||||
+8
-7
@@ -4,13 +4,14 @@
|
||||
</head>
|
||||
<body>
|
||||
<form id="options_form" method="POST">
|
||||
<input type="text" name="type" id="type">
|
||||
<input type="text" name="host" id="host">
|
||||
<input type="text" name="port" id="port">
|
||||
<input type="text" name="username" id="username">
|
||||
<input type="text" name="password" id="password">
|
||||
<input id="submit" type="submit" value="Submit">
|
||||
<textarea id="cookies" name="cookies"></textarea>
|
||||
<input type="text" id="type">
|
||||
<input type="text" id="host">
|
||||
<input type="text" id="port">
|
||||
<input type="text" id="username">
|
||||
<input type="text" id="password">
|
||||
<input type="submit" id="submit" value="Submit">
|
||||
<textarea id="cookies"></textarea>
|
||||
<textarea id="headers"></textarea>
|
||||
</form>
|
||||
<script src="options.js"></script>
|
||||
</body>
|
||||
|
||||
+27
-1
@@ -1,9 +1,13 @@
|
||||
function saveOptions(e) {
|
||||
e.preventDefault();
|
||||
let cookies = [];
|
||||
let headers = [];
|
||||
try {
|
||||
cookies = JSON.parse(document.getElementById("cookies").value);
|
||||
} catch {};
|
||||
try {
|
||||
headers = JSON.parse(document.getElementById("headers").value);
|
||||
} catch {};
|
||||
console.log(cookies)
|
||||
browser.storage.sync.set({
|
||||
proxy: {
|
||||
@@ -13,8 +17,21 @@ function saveOptions(e) {
|
||||
"username": document.getElementById("username").value,
|
||||
"password": document.getElementById("password").value
|
||||
},
|
||||
cookies: cookies
|
||||
cookies: cookies,
|
||||
headers: headers
|
||||
});
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
function saveOptionsEx(proxy, cookies, headers) {
|
||||
browser.storage.sync.set({
|
||||
proxy: proxy,
|
||||
cookies: cookies,
|
||||
headers: headers
|
||||
});
|
||||
browser.runtime.sendMessage({"update": true});
|
||||
}
|
||||
|
||||
|
||||
@@ -36,10 +53,19 @@ function restoreOptions() {
|
||||
}
|
||||
}
|
||||
|
||||
function setCurrentHeaders(result) {
|
||||
if (result.headers) {
|
||||
document.getElementById("headers").value = JSON.stringify(result.headers);
|
||||
}
|
||||
}
|
||||
|
||||
function onError(error) {
|
||||
console.log(`Error: ${error}`);
|
||||
}
|
||||
|
||||
let headers = browser.storage.sync.get("headers");
|
||||
headers.then(setCurrentHeaders, onError);
|
||||
|
||||
let proxy = browser.storage.sync.get("proxy");
|
||||
proxy.then(setCurrentProxy, onError);
|
||||
|
||||
|
||||
Reference in new issue
Block a user