aboutsummaryrefslogtreecommitdiffstats
path: root/addons/isattlinkCR/localdb.js
diff options
context:
space:
mode:
authorCorona <corona@noreply.codeberg.org>2020-07-31 01:30:52 +0200
committerCorona <corona@noreply.codeberg.org>2020-07-31 01:30:52 +0200
commit069b41e669c42d09e2ecdf385ad981b9f4c246bb (patch)
treee0f0b7eaca8e022be136a224e4840e0a87f1eb81 /addons/isattlinkCR/localdb.js
parentad5a95bb42d7f9369a5aafbe11510f542b861a6f (diff)
parent77f221130e5e87d72683e624ae4f8494515c321c (diff)
downloadcloudflare-tor-069b41e669c42d09e2ecdf385ad981b9f4c246bb.tar.lz
cloudflare-tor-069b41e669c42d09e2ecdf385ad981b9f4c246bb.tar.xz
cloudflare-tor-069b41e669c42d09e2ecdf385ad981b9f4c246bb.zip
PR 60
Diffstat (limited to 'addons/isattlinkCR/localdb.js')
-rw-r--r--addons/isattlinkCR/localdb.js67
1 files changed, 67 insertions, 0 deletions
diff --git a/addons/isattlinkCR/localdb.js b/addons/isattlinkCR/localdb.js
new file mode 100644
index 00000000..d23904c1
--- /dev/null
+++ b/addons/isattlinkCR/localdb.js
@@ -0,0 +1,67 @@
+let irun = false;
+document.addEventListener('DOMContentLoaded', () => {
+ chrome.storage.local.get(['mul'], g => {
+ let ul = g.mul || 'eo';
+ fetch('i18n/' + ul + '.json', {
+ method: 'GET'
+ }).then(j => j.json()).then(j => {
+ document.querySelectorAll('span[tek]').forEach(x => {
+ x.innerText = j[x.getAttribute('tek')];
+ });
+ document.body.style.display = 'block';
+ });
+ });
+});
+document.getElementById('f').addEventListener('change', e => {
+ let ff = e.target.files[0];
+ if (ff) {
+ let r = new FileReader();
+ r.addEventListener('load', e => {
+ if (ff.size > 4) {
+ let g = e.target.result.replace(/(?:\r\n|\r|\n)/g, "\n").split("\n");
+ if (g.length > 0) {
+ chrome.storage.local.get(['ldb'], gs => {
+ irun = true;
+ let cnt0, cnt1 = 0,
+ gc = 1,
+ db = JSON.parse(gs.ldb || '[]');
+ cnt0 = db.length;
+ document.getElementById('pbr').max = g.length;
+ g.forEach(x => {
+ document.getElementById('pbr').value = gc;
+ gc++;
+ if (/^([0-9a-z.-]{4,400})\.([a-z]{2,40})$/.test(x) && !db.includes(x)) {
+ db.push(x);
+ }
+ });
+ g = null;
+ cnt1 = db.length;
+ if (cnt1 != cnt0) {
+ chrome.storage.local.set({
+ 'ldb': JSON.stringify(db)
+ });
+ }
+ chrome.runtime.sendMessage('dbmode,rl', () => {
+ alert(document.querySelector('span[tek=opxdone]').innerText + "\n\n" + cnt0 + " -> " + cnt1);
+ location.reload();
+ });
+ });
+ }
+ }
+ });
+ r.readAsText(ff);
+ }
+});
+document.getElementById('ldb_i').addEventListener('click', () => {
+ if (!irun) {
+ document.getElementById('f').click();
+ }
+});
+document.getElementById('ldb_c').addEventListener('click', () => {
+ if (!irun) {
+ chrome.runtime.sendMessage('dbmode,cl', () => {
+ alert(document.querySelector('span[tek=opxdone]').innerText);
+ location.reload();
+ });
+ }
+}); \ No newline at end of file