From e3a5ae75288a1e9d1ea1ada46c441977e7b50bc7 Mon Sep 17 00:00:00 2001 From: Booklordofthedings Date: Sat, 11 May 2024 17:15:16 +0200 Subject: [PATCH] initial commit --- LICENSE | 21 ++++++++++++++++++ bg.js | 52 ++++++++++++++++++++++++++++++++++++++++++++ icons/icon-32-r.png | Bin 0 -> 625 bytes icons/icon-32.png | Bin 0 -> 610 bytes icons/icon-48.png | Bin 0 -> 2077 bytes icons/icon-96.png | Bin 0 -> 2806 bytes manifest.json | 32 +++++++++++++++++++++++++++ 7 files changed, 105 insertions(+) create mode 100644 LICENSE create mode 100644 bg.js create mode 100644 icons/icon-32-r.png create mode 100644 icons/icon-32.png create mode 100644 icons/icon-48.png create mode 100644 icons/icon-96.png create mode 100644 manifest.json diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d8a8fd1 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Jannis + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/bg.js b/bg.js new file mode 100644 index 0000000..4ac4412 --- /dev/null +++ b/bg.js @@ -0,0 +1,52 @@ +//Returns the hostname of the active tab +async function GetHostname() { + var tabs = await browser.tabs.query({active: true, currentWindow: true}); + var hostname = new URL(tabs[0].url).hostname; + return hostname; +} + +//Changes the state of save +async function ToggleSaveState() +{ + var saveState = await QuerySaveState(); + var hostName = await GetHostname(); + if(saveState) { + browser.storage.local.set({[hostName]:false}); + } + else { + browser.storage.local.set({[hostName]:hostName}); + } + ChangeIcon(!saveState); +} + +//Returns the save state +async function QuerySaveState() +{ + var hostName = await GetHostname(); + var res = await browser.storage.local.get(hostName); + if(res[hostName] == undefined || res[hostName] == false) { + return false; + } + else { + return true; + } +} + +//Changes the icon of the extension +async function ChangeIcon(pBool) +{ + if(pBool) + browser.browserAction.setIcon({path: "icons/icon-32.png"}); + else + browser.browserAction.setIcon({path: "icons/icon-32-r.png"}); +} +function ChangeIconOnQuerySaveState() { + QuerySaveState().then((res) => {ChangeIcon(res)}); +} + + +browser.browserAction.onClicked.addListener(ToggleSaveState); +browser.tabs.onUpdated.addListener(ChangeIconOnQuerySaveState); +browser.tabs.onActivated.addListener(ChangeIconOnQuerySaveState); +browser.windows.onFocusChanged.addListener(ChangeIconOnQuerySaveState); +ChangeIconOnQuerySaveState(); \ No newline at end of file diff --git a/icons/icon-32-r.png b/icons/icon-32-r.png new file mode 100644 index 0000000000000000000000000000000000000000..f4294abf8b6b327a490d5a1d54e38d669ca96ac0 GIT binary patch literal 625 zcmV-%0*?KOP)sP)0zt?niCR3&cHmC5UrW-|JnTF7MQCGYz+@odV zN#R3bpCJPZUnxCN<7dU08ow(xqTv~^tDc@r11B0-%Nlv%VPS7RSJHmxQD5Rp6&4~= z`(*cH5++Ch4+%=FlB0-UYC$q5@&9f#RP2M_X3~^-0iq|JegN^&Tgvz=q@vq@ndT}lUy@f?W`WhpXWS_efy~3`KMk6&~ z60VYYGu09U8pvzgM#Ml{m2!99G#MDSd(s|BfVsc`2!H?xfB*=900@8p5io-S|0ngk z#NQmj2nwv366k3{wNe9g@|tM)8K}l~oS`%wOM&;mB7J#pBu?uFkb4m_iDzVr00000 LNkvXXu0mjfg%b?l literal 0 HcmV?d00001 diff --git a/icons/icon-32.png b/icons/icon-32.png new file mode 100644 index 0000000000000000000000000000000000000000..b6909997195f2cffdd530ab87f52b10c6c12a726 GIT binary patch literal 610 zcmV-o0-gPdP)gIP!LOrV47%=L~v`8F^e!shM5TxYy}$&!9uig zEBpuA3bqP@pa>#%_HK>HcwZ8TNb-g^_v5^GE_cp=E23*Tt9c4?dE1PJL*9kOC2!j+ zt$64m$WTJFjM>;soQCV`o+efA0;*Tzdv#amYRb}}sa<$NGfZ1prXjL!8;ZAu`?YLh zRrpBQZ_0qe*Gf-T_(gH1!XJvwcyteH{uV2)nbWKT3i=L84r=)WK zpQn``AFFil3PH=W6N1p?4F`uWDLy z4=%P~;L%8!iL&ID?MkQN?F_mXq3;$tmMd9R&pCa7_=fzV8`wX95xL*H@(W&rXf?*q z{&xTX010qNS#tmYE+YT{E+YYWr9XB6005dvL_t(o3GJ6b5`Z8GMWg$47*Fb9I*<)a zFlg>dXz^Q=gVp=IS}1LkwCwmHNLx< zC^#dHr2(wq0)-4UKnQGrNYfl3t$Su?8W14}00S@p126ysFaQHEzy@rME^DON6aD5B wWLOZUHxL=ZST^8KpRzff{d0?gbh~2ZUQzTI$3rU6rT_o{07*qoM6N<$f(pb6QUCw| literal 0 HcmV?d00001 diff --git a/icons/icon-48.png b/icons/icon-48.png new file mode 100644 index 0000000000000000000000000000000000000000..f4626a8eb7775e0f0244e1bf80e5c04938c3f318 GIT binary patch literal 2077 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 IM6N<$f`&;@0ssI2 literal 0 HcmV?d00001 diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..ecff25f --- /dev/null +++ b/manifest.json @@ -0,0 +1,32 @@ +{ + "manifest_version": 2, + "name": "M4rked", + "version": "1.0", + + "description": "Allows users to mark domains, and will show if the domain isnt marked.", + + "icons": { + "48": "icons/icon-48.png", + "96": "icons/icon-96.png" + }, + + "permissions": [ + "activeTab", + "tabs", + "storage" + ], + + "browser_action": { + "default_icon": "icons/icon-32.png", + "default_title": "DomProt" + }, + + "background": { + "scripts": ["bg.js"] + }, + + "author": "Booklordofthedings" + + + } + \ No newline at end of file