summaryrefslogtreecommitdiffstats
path: root/ismitmlink/bg.js
diff options
context:
space:
mode:
Diffstat (limited to 'ismitmlink/bg.js')
-rw-r--r--ismitmlink/bg.js50
1 files changed, 50 insertions, 0 deletions
diff --git a/ismitmlink/bg.js b/ismitmlink/bg.js
new file mode 100644
index 00000000..a3e3bfbe
--- /dev/null
+++ b/ismitmlink/bg.js
@@ -0,0 +1,50 @@
+const apiurl = 'https://searxes.danwin1210.me/collab/open/ismitm.php';
+let mymemory = {};
+
+function ismitm(f) {
+ return new Promise((g, b) => {
+ fetch(apiurl, {
+ method: 'POST',
+ mode: 'cors',
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ body: 'f=' + f
+ }).then(function (r) {
+ return r.json();
+ }).then(function (r) {
+ if (r[0]) {
+ g(r[1]);
+ } else {
+ b();
+ }
+ }).catch(b);
+ });
+}
+
+browser.runtime.onMessage.addListener((request, sender, sendResponse) => {
+ if (request && sender) {
+ if (mymemory[request] != undefined) {
+ let rlt = mymemory[request];
+ if (Object.keys(mymemory).length > 800) {
+ let cnt = 1;
+ for (let t in mymemory) {
+ if (cnt > 10) {
+ break;
+ }
+ mymemory[t] = null;
+ delete mymemory[t];
+ cnt++;
+ }
+ }
+ browser.tabs.sendMessage(sender.tab.id, [request, rlt]);
+ } else {
+ ismitm(request).then(function (a) {
+ mymemory[request] = a;
+ browser.tabs.sendMessage(sender.tab.id, [request, a]);
+ }, function () {
+ browser.tabs.sendMessage(sender.tab.id, [request, false]);
+ });
+ }
+ }
+}); \ No newline at end of file