37 lines
876 B
JavaScript
37 lines
876 B
JavaScript
function randomString(length = 10) {
|
|
const chars = "abcdefghijklmnopqrstuvwxyz0123456789";
|
|
let result = "";
|
|
for (let i = 0; i < length; i++) {
|
|
result += chars[Math.floor(Math.random() * chars.length)];
|
|
}
|
|
return result;
|
|
}
|
|
|
|
async function generateEmail() {
|
|
|
|
const settings = await browser.storage.local.get([
|
|
"server",
|
|
"domain",
|
|
"apikey"
|
|
]);
|
|
|
|
const email = `${randomString()}@${settings.domain}`;
|
|
|
|
const res = await fetch(`${settings.server}/api/v1/add/alias`, {
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
"X-API-Key": settings.apikey
|
|
},
|
|
body: JSON.stringify({
|
|
address: email,
|
|
goto: `catchall@${settings.domain}`,
|
|
active: "1"
|
|
})
|
|
});
|
|
|
|
document.getElementById("result").textContent = email;
|
|
}
|
|
|
|
document.getElementById("generate").addEventListener("click", generateEmail);
|