|
|
@ -1,3 +1,6 @@
|
|
|
|
|
|
|
|
// i deeply apologize for the horrors within...
|
|
|
|
|
|
|
|
const ntfyEndpoint = "https://ntfy.ouroboros.group/beep"
|
|
|
|
|
|
|
|
|
|
|
|
const ntfyMessage = document.getElementById("ntfy-message");
|
|
|
|
const ntfyMessage = document.getElementById("ntfy-message");
|
|
|
|
const ntfyTitle = document.getElementById("ntfy-title");
|
|
|
|
const ntfyTitle = document.getElementById("ntfy-title");
|
|
|
|
const ntfyAttach = document.getElementById("ntfy-attach");
|
|
|
|
const ntfyAttach = document.getElementById("ntfy-attach");
|
|
|
@ -13,10 +16,33 @@ const titleBoxLabel = document.getElementById("titleBoxLabel");
|
|
|
|
const attachmentBoxLabel = document.getElementById("attachBoxLabel");
|
|
|
|
const attachmentBoxLabel = document.getElementById("attachBoxLabel");
|
|
|
|
const clickBoxLabel = document.getElementById("clickBoxLabel");
|
|
|
|
const clickBoxLabel = document.getElementById("clickBoxLabel");
|
|
|
|
|
|
|
|
|
|
|
|
const msgPFX = "message: "
|
|
|
|
const optionsEnabled = sessionStorage.getItem("optionsEnabled");
|
|
|
|
|
|
|
|
const titleEnabled = sessionStorage.getItem("optionsEnabled");
|
|
|
|
|
|
|
|
const attachmentEnabled = sessionStorage.getItem("optionsEnabled");
|
|
|
|
|
|
|
|
const clickEnabled = sessionStorage.getItem("optionsEnabled");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const msgPFX = "message: ";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function checkBoxes() {
|
|
|
|
|
|
|
|
if (optionsEnabled) {
|
|
|
|
|
|
|
|
optionsCheck.checked = true;
|
|
|
|
|
|
|
|
toggleOptions();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (titleEnabled) {
|
|
|
|
|
|
|
|
titleCheck.checked = true;
|
|
|
|
|
|
|
|
toggleTitle();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (attachmentEnabled) {
|
|
|
|
|
|
|
|
attachmentCheck.checked = true;
|
|
|
|
|
|
|
|
toggleAttach();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (clickEnabled) {
|
|
|
|
|
|
|
|
clickCheck.checked = true;
|
|
|
|
|
|
|
|
toggleClick();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Random placeholder
|
|
|
|
// Random placeholder
|
|
|
|
|
|
|
|
|
|
|
|
function getPlaceholder() {
|
|
|
|
function getPlaceholder() {
|
|
|
|
placeholderSelector = Math.floor(Math.random() * 8) + 1;
|
|
|
|
placeholderSelector = Math.floor(Math.random() * 8) + 1;
|
|
|
|
switch (placeholderSelector) {
|
|
|
|
switch (placeholderSelector) {
|
|
|
@ -39,12 +65,10 @@ function getPlaceholder() {
|
|
|
|
ntfyMessage.placeholder = `${msgPFX}the organization is after you.`;
|
|
|
|
ntfyMessage.placeholder = `${msgPFX}the organization is after you.`;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case 7:
|
|
|
|
case 7:
|
|
|
|
ntfyMessage.placeholder =
|
|
|
|
ntfyMessage.placeholder = `${msgPFX}you wouldnt happen to know where an IBN5100 is, would you?`;
|
|
|
|
`${msgPFX}you wouldnt happen to know where an IBN5100 is, would you?`;
|
|
|
|
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case 8:
|
|
|
|
case 8:
|
|
|
|
ntfyMessage.placeholder =
|
|
|
|
ntfyMessage.placeholder = `${msgPFX}if you had to choose, between: bacon, unlimited bacon, but no games. or. games. unlimited games, but no games. which would you pick?`;
|
|
|
|
`${msgPFX}if you had to choose, between: bacon, unlimited bacon, but no games. or. games. unlimited games, but no games. which would you pick?`;
|
|
|
|
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case 9:
|
|
|
|
case 9:
|
|
|
|
ntfyMessage.placeholder = `${msgPFX}time travel?`;
|
|
|
|
ntfyMessage.placeholder = `${msgPFX}time travel?`;
|
|
|
@ -54,10 +78,20 @@ function getPlaceholder() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// send function
|
|
|
|
// send functions
|
|
|
|
function send(message, title, attachment, click) {
|
|
|
|
|
|
|
|
|
|
|
|
// only message
|
|
|
|
|
|
|
|
function sendNone(message) {
|
|
|
|
const r = new XMLHttpRequest();
|
|
|
|
const r = new XMLHttpRequest();
|
|
|
|
r.open("POST", "https://ntfy.ouroboros.group/beep", true);
|
|
|
|
r.open("POST", ntfyEndpoint, true);
|
|
|
|
|
|
|
|
r.setRequestHeader("Content-Type", "text/plain");
|
|
|
|
|
|
|
|
r.send(message);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// send all
|
|
|
|
|
|
|
|
function sendAll(title, message, attachment, click) {
|
|
|
|
|
|
|
|
const r = new XMLHttpRequest();
|
|
|
|
|
|
|
|
r.open("POST", ntfyEndpoint, true);
|
|
|
|
r.setRequestHeader("Content-Type", "text/plain");
|
|
|
|
r.setRequestHeader("Content-Type", "text/plain");
|
|
|
|
r.setRequestHeader("Title", title);
|
|
|
|
r.setRequestHeader("Title", title);
|
|
|
|
r.setRequestHeader("Attach", attachment);
|
|
|
|
r.setRequestHeader("Attach", attachment);
|
|
|
@ -65,12 +99,117 @@ function send(message, title, attachment, click) {
|
|
|
|
r.send(message);
|
|
|
|
r.send(message);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// send title only
|
|
|
|
|
|
|
|
function sendTitle(title, message) {
|
|
|
|
|
|
|
|
const r = new XMLHttpRequest();
|
|
|
|
|
|
|
|
r.open("POST", ntfyEndpoint, true);
|
|
|
|
|
|
|
|
r.setRequestHeader("Content-Type", "text/plain");
|
|
|
|
|
|
|
|
r.setRequestHeader("Title", title);
|
|
|
|
|
|
|
|
r.send(message);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// send attachment only
|
|
|
|
|
|
|
|
function sendAttach(message, attachment) {
|
|
|
|
|
|
|
|
const r = new XMLHttpRequest();
|
|
|
|
|
|
|
|
r.open("POST", ntfyEndpoint, true);
|
|
|
|
|
|
|
|
r.setRequestHeader("Content-Type", "text/plain");
|
|
|
|
|
|
|
|
r.setRequestHeader("Attach", attachment);
|
|
|
|
|
|
|
|
r.send(message);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// send click only
|
|
|
|
|
|
|
|
function sendClick(message, click) {
|
|
|
|
|
|
|
|
const r = new XMLHttpRequest();
|
|
|
|
|
|
|
|
r.open("POST", ntfyEndpoint, true);
|
|
|
|
|
|
|
|
r.setRequestHeader("Content-Type", "text/plain");
|
|
|
|
|
|
|
|
r.setRequestHeader("Click", click);
|
|
|
|
|
|
|
|
r.send(message);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// send Title & Attachment
|
|
|
|
|
|
|
|
function sendTitleAttach(title, message, attachment) {
|
|
|
|
|
|
|
|
const r = new XMLHttpRequest();
|
|
|
|
|
|
|
|
r.open("POST", ntfyEndpoint, true);
|
|
|
|
|
|
|
|
r.setRequestHeader("Content-Type", "text/plain");
|
|
|
|
|
|
|
|
r.setRequestHeader("Title", title);
|
|
|
|
|
|
|
|
r.setRequestHeader("Attach", attachment);
|
|
|
|
|
|
|
|
r.send(message);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// send Title & Click
|
|
|
|
|
|
|
|
function sendTitleClick(title, message, click) {
|
|
|
|
|
|
|
|
const r = new XMLHttpRequest();
|
|
|
|
|
|
|
|
r.open("POST", ntfyEndpoint, true);
|
|
|
|
|
|
|
|
r.setRequestHeader("Content-Type", "text/plain");
|
|
|
|
|
|
|
|
r.setRequestHeader("Title", title);
|
|
|
|
|
|
|
|
r.setRequestHeader("Click", click);
|
|
|
|
|
|
|
|
r.send(message);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// send Attach & Click
|
|
|
|
|
|
|
|
function sendAttachClick(message, attachment, click) {
|
|
|
|
|
|
|
|
const r = new XMLHttpRequest();
|
|
|
|
|
|
|
|
r.open("POST", ntfyEndpoint, true);
|
|
|
|
|
|
|
|
r.setRequestHeader("Content-Type", "text/plain");
|
|
|
|
|
|
|
|
r.setRequestHeader("Attach", attachment);
|
|
|
|
|
|
|
|
r.setRequestHeader("Click", click);
|
|
|
|
|
|
|
|
r.send(message);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// send notification
|
|
|
|
// send notification
|
|
|
|
function sendNotification() {
|
|
|
|
function sendNotification() {
|
|
|
|
send(ntfyTitle.value, ntfyMessage.value, ntfyAttach.value, ntfyClickAction.value);
|
|
|
|
// title only
|
|
|
|
ntfyTitle.value = "";
|
|
|
|
if (titleEnabled && !attachmentEnabled && !clickEnabled) {
|
|
|
|
ntfyAttach.value = "";
|
|
|
|
sendTitle(ntfyTitle.value, ntfyMessage.value);
|
|
|
|
ntfyClickAction.value = "";
|
|
|
|
ntfyTitle.value = "";
|
|
|
|
|
|
|
|
ntfyMessage.value = "";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// attachment only
|
|
|
|
|
|
|
|
if (!titleEnabled && attachmentEnabled && !clickEnabled) {
|
|
|
|
|
|
|
|
sendAttach(ntfyMessage.value, ntfyAttach.value);
|
|
|
|
|
|
|
|
ntfyMessage.value = "";
|
|
|
|
|
|
|
|
ntfyAttach.value = "";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// click only
|
|
|
|
|
|
|
|
if (!titleEnabled && !attachmentEnabled && clickEnabled) {
|
|
|
|
|
|
|
|
sendClick(ntfyMessage.value, ntfyClickAction.value);
|
|
|
|
|
|
|
|
ntfyMessage.value = "";
|
|
|
|
|
|
|
|
ntfyClickAction.value = "";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// title & attachment
|
|
|
|
|
|
|
|
if (titleEnabled && attachmentEnabled && !clickEnabled) {
|
|
|
|
|
|
|
|
sendTitleAttach(ntfyTitle.value, ntfyMessage.value, ntfyAttach.value);
|
|
|
|
|
|
|
|
ntfyTitle.value = "";
|
|
|
|
|
|
|
|
ntfyMessage.value = "";
|
|
|
|
|
|
|
|
ntfyAttach.value = "";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// title & click
|
|
|
|
|
|
|
|
if (titleEnabled && !attachmentEnabled && clickEnabled) {
|
|
|
|
|
|
|
|
sendTitleClick(ntfyTitle.value, ntfyMessage.value, ntfyClickAction.value);
|
|
|
|
|
|
|
|
ntfyTitle.value = "";
|
|
|
|
|
|
|
|
ntfyMessage.value = "";
|
|
|
|
|
|
|
|
ntfyClickAction.value = "";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// attachment & click
|
|
|
|
|
|
|
|
if (!titleEnabled && attachmentEnabled && clickEnabled) {
|
|
|
|
|
|
|
|
sendAttachClick(ntfyMessage.value, ntfyAttach.value, ntfyClickAction.value);
|
|
|
|
|
|
|
|
ntfyAttach.value = "";
|
|
|
|
|
|
|
|
ntfyMessage.value = "";
|
|
|
|
|
|
|
|
ntfyClickAction.value = "";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// all three
|
|
|
|
|
|
|
|
if (titleEnabled && attachmentEnabled && clickEnabled) {
|
|
|
|
|
|
|
|
sendAll(ntfyTitle.value, ntfyMessage.value, ntfyAttach.value, ntfyClickAction.value);
|
|
|
|
|
|
|
|
ntfyTitle.value = "";
|
|
|
|
|
|
|
|
ntfyMessage.value = "";
|
|
|
|
|
|
|
|
ntfyAttach.value = "";
|
|
|
|
|
|
|
|
ntfyClickAction.value = "";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// none
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
sendNone(ntfyMessage.value);
|
|
|
|
|
|
|
|
ntfyMessage.value = "";
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// on send button click
|
|
|
|
// on send button click
|
|
|
@ -92,6 +231,7 @@ async function ntfyClick() {
|
|
|
|
|
|
|
|
|
|
|
|
function toggleOptions() {
|
|
|
|
function toggleOptions() {
|
|
|
|
if (optionsCheck.checked) {
|
|
|
|
if (optionsCheck.checked) {
|
|
|
|
|
|
|
|
sessionStorage.setItem("optionsEnabled", 1);
|
|
|
|
titleBoxLabel.style.display = "initial";
|
|
|
|
titleBoxLabel.style.display = "initial";
|
|
|
|
attachmentBoxLabel.style.display = "initial";
|
|
|
|
attachmentBoxLabel.style.display = "initial";
|
|
|
|
clickBoxLabel.style.display = "initial";
|
|
|
|
clickBoxLabel.style.display = "initial";
|
|
|
@ -100,6 +240,7 @@ function toggleOptions() {
|
|
|
|
clickCheck.style.display = "initial";
|
|
|
|
clickCheck.style.display = "initial";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!optionsCheck.checked) {
|
|
|
|
if (!optionsCheck.checked) {
|
|
|
|
|
|
|
|
sessionStorage.removeItem("optionsEnabled");
|
|
|
|
titleBoxLabel.style.display = "none";
|
|
|
|
titleBoxLabel.style.display = "none";
|
|
|
|
attachmentBoxLabel.style.display = "none";
|
|
|
|
attachmentBoxLabel.style.display = "none";
|
|
|
|
clickBoxLabel.style.display = "none";
|
|
|
|
clickBoxLabel.style.display = "none";
|
|
|
@ -111,27 +252,33 @@ function toggleOptions() {
|
|
|
|
|
|
|
|
|
|
|
|
function toggleTitle() {
|
|
|
|
function toggleTitle() {
|
|
|
|
if (titleCheck.checked) {
|
|
|
|
if (titleCheck.checked) {
|
|
|
|
ntfyTitle.style.display = "initial"
|
|
|
|
sessionStorage.setItem("titleEnabled", 1);
|
|
|
|
|
|
|
|
ntfyTitle.style.display = "initial";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!titleCheck.checked) {
|
|
|
|
if (!titleCheck.checked) {
|
|
|
|
ntfyTitle.style.display = "none"
|
|
|
|
sessionStorage.removeItem("titleEnabled");
|
|
|
|
|
|
|
|
ntfyTitle.style.display = "none";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function toggleAttach() {
|
|
|
|
function toggleAttach() {
|
|
|
|
if (attachmentCheck.checked) {
|
|
|
|
if (attachmentCheck.checked) {
|
|
|
|
ntfyAttach.style.display = "initial"
|
|
|
|
sessionStorage.setItem("attachmentEnabled", 1);
|
|
|
|
|
|
|
|
ntfyAttach.style.display = "initial";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!attachmentCheck.checked) {
|
|
|
|
if (!attachmentCheck.checked) {
|
|
|
|
ntfyAttach.style.display = "none"
|
|
|
|
sessionStorage.removeItem("attachmentEnabled");
|
|
|
|
|
|
|
|
ntfyAttach.style.display = "none";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function toggleClick() {
|
|
|
|
function toggleClick() {
|
|
|
|
if (clickCheck.checked) {
|
|
|
|
if (clickCheck.checked) {
|
|
|
|
ntfyClickAction.style.display = "initial"
|
|
|
|
sessionStorage.setItem("clickEnabled", 1);
|
|
|
|
|
|
|
|
ntfyClickAction.style.display = "initial";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!clickCheck.checked) {
|
|
|
|
if (!clickCheck.checked) {
|
|
|
|
ntfyClickAction.style.display = "none"
|
|
|
|
sessionStorage.removeItem("clickEnabled");
|
|
|
|
|
|
|
|
ntfyClickAction.style.display = "none";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|