2024-04-26 21:12:56 +01:00
|
|
|
if (localStorage.getItem("DONOTSHARE-secretkey") !== null) {
|
|
|
|
window.location.replace("/app" + window.location.search)
|
|
|
|
document.body.innerHTML = "Redirecting..."
|
|
|
|
throw new Error();
|
|
|
|
}
|
|
|
|
if (localStorage.getItem("DONOTSHARE-password") !== null) {
|
|
|
|
window.location.replace("/app" + window.location.search)
|
|
|
|
document.body.innerHTML = "Redirecting..."
|
|
|
|
throw new Error();
|
|
|
|
}
|
|
|
|
|
|
|
|
let usernameBox = document.getElementById("usernameBox")
|
|
|
|
let passwordBox = document.getElementById("passwordBox")
|
|
|
|
let statusBox = document.getElementById("statusBox")
|
|
|
|
let signupButton = document.getElementById("signupButton")
|
|
|
|
let inputNameBox = document.getElementById("inputNameBox")
|
|
|
|
let backButton = document.getElementById("backButton")
|
|
|
|
|
|
|
|
usernameBox.classList.remove("hidden")
|
|
|
|
inputNameBox.innerText = "Username:"
|
|
|
|
|
|
|
|
let currentInputType = 0
|
|
|
|
|
|
|
|
function showInput(inputType) {
|
Added example configuration, updated README.md, updated background image to Public Domain image, updated styles to be in accordance with the New Burgerware Design, fixed pages displaying poorly on phones, fixed server panics being caused by incorrect JSON, made it clear AESKeyShare is not in working order, made the application not hard-code the URL, made the application not hard-code the app name, updated the CAPTCHA module to the newest version and URL, removed crypto-js, removed unneeded broken code left over from Burgernotes, removed unneeded CSS left over from Burgernotes, made page titles consistant, changed some formatting to be using camel instead of snake case, fixed various JS bad-practices, used a really long commit message.
2024-07-10 18:43:17 +01:00
|
|
|
if (inputType === 0) {
|
2024-04-26 21:12:56 +01:00
|
|
|
usernameBox.classList.remove("hidden")
|
|
|
|
passwordBox.classList.add("hidden")
|
|
|
|
backButton.classList.add("hidden")
|
|
|
|
inputNameBox.innerText = "Username:"
|
Added example configuration, updated README.md, updated background image to Public Domain image, updated styles to be in accordance with the New Burgerware Design, fixed pages displaying poorly on phones, fixed server panics being caused by incorrect JSON, made it clear AESKeyShare is not in working order, made the application not hard-code the URL, made the application not hard-code the app name, updated the CAPTCHA module to the newest version and URL, removed crypto-js, removed unneeded broken code left over from Burgernotes, removed unneeded CSS left over from Burgernotes, made page titles consistant, changed some formatting to be using camel instead of snake case, fixed various JS bad-practices, used a really long commit message.
2024-07-10 18:43:17 +01:00
|
|
|
let serviceName
|
|
|
|
fetch("/api/servicename")
|
|
|
|
.then((response) => response.json())
|
|
|
|
.then((response) => {
|
|
|
|
serviceName = response["name"]
|
|
|
|
statusBox.innerText = "Login to your " + serviceName + " account!"
|
|
|
|
currentInputType = 0
|
|
|
|
})
|
|
|
|
} else if (inputType === 1) {
|
2024-04-26 21:12:56 +01:00
|
|
|
usernameBox.classList.add("hidden")
|
|
|
|
passwordBox.classList.remove("hidden")
|
|
|
|
backButton.classList.remove("hidden")
|
|
|
|
inputNameBox.innerText = "Password:"
|
|
|
|
currentInputType = 1
|
Added example configuration, updated README.md, updated background image to Public Domain image, updated styles to be in accordance with the New Burgerware Design, fixed pages displaying poorly on phones, fixed server panics being caused by incorrect JSON, made it clear AESKeyShare is not in working order, made the application not hard-code the URL, made the application not hard-code the app name, updated the CAPTCHA module to the newest version and URL, removed crypto-js, removed unneeded broken code left over from Burgernotes, removed unneeded CSS left over from Burgernotes, made page titles consistant, changed some formatting to be using camel instead of snake case, fixed various JS bad-practices, used a really long commit message.
2024-07-10 18:43:17 +01:00
|
|
|
} else if (inputType === 2) {
|
2024-04-26 21:12:56 +01:00
|
|
|
usernameBox.classList.add("hidden")
|
|
|
|
passwordBox.classList.add("hidden")
|
|
|
|
signupButton.classList.add("hidden")
|
|
|
|
backButton.classList.add("hidden")
|
|
|
|
inputNameBox.classList.add("hidden")
|
|
|
|
inputNameBox.innerText = "Password:"
|
|
|
|
currentInputType = 2
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function showElements(yesorno) {
|
|
|
|
if (!yesorno) {
|
|
|
|
usernameBox.classList.add("hidden")
|
|
|
|
passwordBox.classList.add("hidden")
|
|
|
|
signupButton.classList.add("hidden")
|
|
|
|
backButton.classList.add("hidden")
|
|
|
|
inputNameBox.classList.add("hidden")
|
|
|
|
showInput(currentInputType)
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
usernameBox.classList.remove("hidden")
|
|
|
|
passwordBox.classList.remove("hidden")
|
|
|
|
signupButton.classList.remove("hidden")
|
|
|
|
backButton.classList.remove("hidden")
|
|
|
|
inputNameBox.classList.remove("hidden")
|
|
|
|
showInput(currentInputType)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
|
|
document.getElementById("homeserver").innerText = "Your homeserver is: " + remote + ". "
|
|
|
|
});
|
|
|
|
|
Added example configuration, updated README.md, updated background image to Public Domain image, updated styles to be in accordance with the New Burgerware Design, fixed pages displaying poorly on phones, fixed server panics being caused by incorrect JSON, made it clear AESKeyShare is not in working order, made the application not hard-code the URL, made the application not hard-code the app name, updated the CAPTCHA module to the newest version and URL, removed crypto-js, removed unneeded broken code left over from Burgernotes, removed unneeded CSS left over from Burgernotes, made page titles consistant, changed some formatting to be using camel instead of snake case, fixed various JS bad-practices, used a really long commit message.
2024-07-10 18:43:17 +01:00
|
|
|
signupButton.addEventListener("click", () => {
|
2024-04-26 21:12:56 +01:00
|
|
|
if (passwordBox.classList.contains("hidden")) {
|
Added example configuration, updated README.md, updated background image to Public Domain image, updated styles to be in accordance with the New Burgerware Design, fixed pages displaying poorly on phones, fixed server panics being caused by incorrect JSON, made it clear AESKeyShare is not in working order, made the application not hard-code the URL, made the application not hard-code the app name, updated the CAPTCHA module to the newest version and URL, removed crypto-js, removed unneeded broken code left over from Burgernotes, removed unneeded CSS left over from Burgernotes, made page titles consistant, changed some formatting to be using camel instead of snake case, fixed various JS bad-practices, used a really long commit message.
2024-07-10 18:43:17 +01:00
|
|
|
if (usernameBox.value === "") {
|
2024-04-26 21:12:56 +01:00
|
|
|
statusBox.innerText = "A username is required!"
|
|
|
|
return
|
|
|
|
} else {
|
|
|
|
statusBox.innerText = "Welcome back, " + usernameBox.value + "!"
|
|
|
|
}
|
|
|
|
showInput(1)
|
|
|
|
} else {
|
|
|
|
async function doStuff() {
|
|
|
|
let username = usernameBox.value
|
|
|
|
let password = passwordBox.value
|
|
|
|
|
Added example configuration, updated README.md, updated background image to Public Domain image, updated styles to be in accordance with the New Burgerware Design, fixed pages displaying poorly on phones, fixed server panics being caused by incorrect JSON, made it clear AESKeyShare is not in working order, made the application not hard-code the URL, made the application not hard-code the app name, updated the CAPTCHA module to the newest version and URL, removed crypto-js, removed unneeded broken code left over from Burgernotes, removed unneeded CSS left over from Burgernotes, made page titles consistant, changed some formatting to be using camel instead of snake case, fixed various JS bad-practices, used a really long commit message.
2024-07-10 18:43:17 +01:00
|
|
|
if (password === "") {
|
2024-04-26 21:12:56 +01:00
|
|
|
statusBox.innerText = "A password is required!"
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
showInput(2)
|
|
|
|
showElements(true)
|
|
|
|
statusBox.innerText = "Signing in..."
|
|
|
|
|
|
|
|
async function hashpass(pass) {
|
|
|
|
let key = pass
|
|
|
|
for (let i = 0; i < 128; i++) {
|
|
|
|
key = await hashwasm.sha3(key)
|
|
|
|
}
|
|
|
|
return key
|
Added example configuration, updated README.md, updated background image to Public Domain image, updated styles to be in accordance with the New Burgerware Design, fixed pages displaying poorly on phones, fixed server panics being caused by incorrect JSON, made it clear AESKeyShare is not in working order, made the application not hard-code the URL, made the application not hard-code the app name, updated the CAPTCHA module to the newest version and URL, removed crypto-js, removed unneeded broken code left over from Burgernotes, removed unneeded CSS left over from Burgernotes, made page titles consistant, changed some formatting to be using camel instead of snake case, fixed various JS bad-practices, used a really long commit message.
2024-07-10 18:43:17 +01:00
|
|
|
}
|
2024-04-26 21:12:56 +01:00
|
|
|
|
Added example configuration, updated README.md, updated background image to Public Domain image, updated styles to be in accordance with the New Burgerware Design, fixed pages displaying poorly on phones, fixed server panics being caused by incorrect JSON, made it clear AESKeyShare is not in working order, made the application not hard-code the URL, made the application not hard-code the app name, updated the CAPTCHA module to the newest version and URL, removed crypto-js, removed unneeded broken code left over from Burgernotes, removed unneeded CSS left over from Burgernotes, made page titles consistant, changed some formatting to be using camel instead of snake case, fixed various JS bad-practices, used a really long commit message.
2024-07-10 18:43:17 +01:00
|
|
|
fetch("/api/login", {
|
2024-04-26 21:12:56 +01:00
|
|
|
method: "POST",
|
|
|
|
body: JSON.stringify({
|
|
|
|
username: username,
|
|
|
|
password: await hashpass(password),
|
|
|
|
passwordchange: "no",
|
|
|
|
newpass: "null"
|
|
|
|
}),
|
|
|
|
headers: {
|
|
|
|
"Content-Type": "application/json; charset=UTF-8"
|
|
|
|
}
|
|
|
|
})
|
|
|
|
.then((response) => response)
|
|
|
|
.then((response) => {
|
|
|
|
async function doStuff() {
|
|
|
|
let responseData = await response.json()
|
Added example configuration, updated README.md, updated background image to Public Domain image, updated styles to be in accordance with the New Burgerware Design, fixed pages displaying poorly on phones, fixed server panics being caused by incorrect JSON, made it clear AESKeyShare is not in working order, made the application not hard-code the URL, made the application not hard-code the app name, updated the CAPTCHA module to the newest version and URL, removed crypto-js, removed unneeded broken code left over from Burgernotes, removed unneeded CSS left over from Burgernotes, made page titles consistant, changed some formatting to be using camel instead of snake case, fixed various JS bad-practices, used a really long commit message.
2024-07-10 18:43:17 +01:00
|
|
|
if (response.status === 200) {
|
2024-04-26 21:12:56 +01:00
|
|
|
localStorage.setItem("DONOTSHARE-secretkey", responseData["key"])
|
|
|
|
localStorage.setItem("DONOTSHARE-password", await hashwasm.sha512(password))
|
|
|
|
|
|
|
|
window.location.href = "/app" + window.location.search
|
|
|
|
}
|
Added example configuration, updated README.md, updated background image to Public Domain image, updated styles to be in accordance with the New Burgerware Design, fixed pages displaying poorly on phones, fixed server panics being caused by incorrect JSON, made it clear AESKeyShare is not in working order, made the application not hard-code the URL, made the application not hard-code the app name, updated the CAPTCHA module to the newest version and URL, removed crypto-js, removed unneeded broken code left over from Burgernotes, removed unneeded CSS left over from Burgernotes, made page titles consistant, changed some formatting to be using camel instead of snake case, fixed various JS bad-practices, used a really long commit message.
2024-07-10 18:43:17 +01:00
|
|
|
else if (response.status === 401) {
|
|
|
|
statusBox.innerText = "Wrong username or password..."
|
|
|
|
showInput(1)
|
|
|
|
showElements(true)
|
|
|
|
} else {
|
2024-04-26 21:12:56 +01:00
|
|
|
statusBox.innerText = "Something went wrong! (error code: " + response.status + ")"
|
|
|
|
showInput(1)
|
|
|
|
showElements(true)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
doStuff()
|
|
|
|
});
|
|
|
|
}
|
|
|
|
doStuff()
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
Added example configuration, updated README.md, updated background image to Public Domain image, updated styles to be in accordance with the New Burgerware Design, fixed pages displaying poorly on phones, fixed server panics being caused by incorrect JSON, made it clear AESKeyShare is not in working order, made the application not hard-code the URL, made the application not hard-code the app name, updated the CAPTCHA module to the newest version and URL, removed crypto-js, removed unneeded broken code left over from Burgernotes, removed unneeded CSS left over from Burgernotes, made page titles consistant, changed some formatting to be using camel instead of snake case, fixed various JS bad-practices, used a really long commit message.
2024-07-10 18:43:17 +01:00
|
|
|
backButton.addEventListener("click", () => {
|
2024-04-26 21:12:56 +01:00
|
|
|
showInput(0)
|
|
|
|
});
|
|
|
|
|
|
|
|
showInput(0)
|
|
|
|
|
|
|
|
document.getElementById("signuprdirButton").addEventListener("click", function(event) {
|
|
|
|
event.preventDefault();
|
|
|
|
|
Added example configuration, updated README.md, updated background image to Public Domain image, updated styles to be in accordance with the New Burgerware Design, fixed pages displaying poorly on phones, fixed server panics being caused by incorrect JSON, made it clear AESKeyShare is not in working order, made the application not hard-code the URL, made the application not hard-code the app name, updated the CAPTCHA module to the newest version and URL, removed crypto-js, removed unneeded broken code left over from Burgernotes, removed unneeded CSS left over from Burgernotes, made page titles consistant, changed some formatting to be using camel instead of snake case, fixed various JS bad-practices, used a really long commit message.
2024-07-10 18:43:17 +01:00
|
|
|
const queryString = window.location.search;
|
|
|
|
window.location.href = "/signup" + queryString;
|
2024-04-26 21:12:56 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
document.getElementById("privacyButton").addEventListener("click", function(event) {
|
|
|
|
event.preventDefault();
|
|
|
|
|
Added example configuration, updated README.md, updated background image to Public Domain image, updated styles to be in accordance with the New Burgerware Design, fixed pages displaying poorly on phones, fixed server panics being caused by incorrect JSON, made it clear AESKeyShare is not in working order, made the application not hard-code the URL, made the application not hard-code the app name, updated the CAPTCHA module to the newest version and URL, removed crypto-js, removed unneeded broken code left over from Burgernotes, removed unneeded CSS left over from Burgernotes, made page titles consistant, changed some formatting to be using camel instead of snake case, fixed various JS bad-practices, used a really long commit message.
2024-07-10 18:43:17 +01:00
|
|
|
const queryString = window.location.search;
|
|
|
|
window.location.href = "/privacy" + queryString;
|
2024-04-26 21:12:56 +01:00
|
|
|
});
|