This commit is contained in:
Alexandr committed 2021-02-10 23:01:45 +03:00
1 parent 0f0d371afd
commit bf84195925
5 files changed
+81 -14

No files matched your search

+4
View File
@@ -0,0 +1,4 @@
all:
rm -f selenium_helper.xpi
zip -x "*.xpi" -x "Makefile" -r selenium_helper.zip .
mv selenium_helper.zip selenium_helper.xpi
+41
View File
@@ -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
View File
@@ -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
View File
@@ -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);
+1 -6
View File
@@ -1,6 +1,6 @@
{
"manifest_version": 2,
"version": "0.0.4",
"version": "0.0.6",
"minimum_chrome_version": "76.0",
"applications": {
"gecko": {
@@ -29,11 +29,6 @@
"options_ui": {
"page": "data/options.html"
},
"browser_specific_settings": {
"gecko": {
"id": "eet1ra8cauDu@AlexandrSokolov"
}
},
"background": {
"scripts": ["data/content.js"]
}