commit 86699f16984c968a1e09b7b9677c4183b4f75ce5 Author: Balazs Toldi Date: Sun Apr 11 17:15:30 2021 +0200 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d30c94d --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*~ +\#*\# +web-ext-artifacts \ No newline at end of file diff --git a/bme.js b/bme.js new file mode 100644 index 0000000..d407e5d --- /dev/null +++ b/bme.js @@ -0,0 +1,15 @@ +var storageItem = browser.storage.local.get('username'); +storageItem.then((res) => { + if(res.username != void(0)){ + document.getElementById('login-form_username').value = res.username; + } +}); + +storageItem = browser.storage.local.get('password'); +storageItem.then((res) => { + if(res.password != void(0)){ + document.getElementById('login-form_password').value = res.password; + } +}); +//TODO: Ennél biztosan van jobb megoldás +setTimeout(() => document.forms[0].submit(),500); diff --git a/icons/icon-32.png b/icons/icon-32.png new file mode 100644 index 0000000..f20ac7c Binary files /dev/null and b/icons/icon-32.png differ diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..ba53d89 --- /dev/null +++ b/manifest.json @@ -0,0 +1,47 @@ +{ + "manifest_version": 2, + "name": "BME Logginer", + "version": "0.1.0", + + "description": "Automaticly logs you in to BME accounts", + + + "icons": { + "32": "icons/icon-32.png" + }, + "permissions": ["storage"], + "browser_action": { + "default_icon": "icons/icon-32.png", + "default_title": "BME Logginer", + "default_popup": "popup/credentials.html" + }, + "browser_specific_settings": { + "gecko": { + "id": "bme_logginer@toldi.eu", + "strict_min_version": "57.0a1" + } + }, + "content_scripts": [ + { + "matches": ["*://login.bme.hu/idp/Authn/UserPassword"], + "js": ["bme.js"] + }, + { + "matches": ["*://login.microsoftonline.com/common/oauth2/authorize*"], + "js": ["ms.js"] + }, + { + "matches": ["*://login.microsoftonline.com/login.srf*"], + "js": ["ms_staysignedin.js"] + }, + { + "matches": ["*://edu.vik.bme.hu/","*://online.vik.bme.hu/"], + "js": ["moodle-vik.js"] + }, + { + "matches": ["*://edu.gtk.bme.hu/","*://edu.gpk.bme.hu/","*://edu.epito.bme.hu/","*://edu.epitesz.bme.hu/","*://edu.ttk.bme.hu/"], + "js": ["moodle.js"] + } + ] + +} diff --git a/moodle-vik.js b/moodle-vik.js new file mode 100644 index 0000000..b24712b --- /dev/null +++ b/moodle-vik.js @@ -0,0 +1 @@ +document.getElementsByClassName("btn btn-primary btn-block")[0].click(); diff --git a/moodle.js b/moodle.js new file mode 100644 index 0000000..b2ce589 --- /dev/null +++ b/moodle.js @@ -0,0 +1 @@ +document.getElementsByClassName("login-button")[0].click(); diff --git a/ms.js b/ms.js new file mode 100644 index 0000000..9cde3d3 --- /dev/null +++ b/ms.js @@ -0,0 +1,20 @@ +setTimeout(() => { var otherAccount = document.getElementById("otherTileText"); + if(otherAccount){ + otherAccount.click(); + } + },400); + +setTimeout(() => { + var storageItem = browser.storage.local.get('msemail'); + storageItem.then((res) => { + if(res.msemail != void(0)){ + document.getElementById('i0116').value = res.msemail; +// document.getElementById('idSIButton9').click() + setTimeout(() => document.getElementById('idSIButton9').click(),2000); + } + }); +},1000); + + +//TODO: Ennél biztosan van jobb megoldás + diff --git a/ms_staysignedin.js b/ms_staysignedin.js new file mode 100644 index 0000000..b1bf75a --- /dev/null +++ b/ms_staysignedin.js @@ -0,0 +1 @@ +setTimeout(() => document.getElementById('idBtn_Back').click(),1000); diff --git a/popup/credentials.html b/popup/credentials.html new file mode 100644 index 0000000..f229d8f --- /dev/null +++ b/popup/credentials.html @@ -0,0 +1,22 @@ + + + + + + + + + +

BME Logginer

+
+
+
+ Microsoft bejelentkezés
+
+ +
+

Figyelem: A megjegyzési adatok csak lokálisan tárolódnak

+ + + + diff --git a/popup/credentials.js b/popup/credentials.js new file mode 100644 index 0000000..886e2d2 --- /dev/null +++ b/popup/credentials.js @@ -0,0 +1,51 @@ +function save(e) { + console.log("OK"); + browser.storage.local.set({ + username: document.querySelector("#user").value + }); + browser.storage.local.set({ + password: document.querySelector("#passwd").value + }); + if(document.querySelector("#isMS").checked){ + browser.storage.local.set({ + msemail: document.querySelector("#msemail").value + }); + }else { + browser.storage.local.set({ + msemail: null + }); + } + e.preventDefault(); +} + +function loadCreds() { + var storageItem = browser.storage.local.get('username'); + storageItem.then((res) => { + if(res.username != void(0)) + document.forms[0].user.value = res.username; + }); + storageItem = browser.storage.local.get('password'); + storageItem.then((res) => { + if(res.password != void(0)) + document.forms[0].passwd.value = res.password; + }); + storageItem = browser.storage.local.get('msemail'); + storageItem.then((res) => { + if(res.msemail != void(0)){ + document.forms[0].msemail.value = res.msemail; + document.forms[0].isMS.checked = true; + document.getElementById("msemail").style.display = "block"; + } + }); +} + + + +document.addEventListener('DOMContentLoaded', loadCreds); +document.querySelector("form").addEventListener("submit", save); + +const checkbox = document.getElementById('isMS') + +checkbox.addEventListener('change', (event) => { + document.getElementById("msemail").style.display = event.currentTarget.checked ? 'block' : 'none'; +})