Merge branch 'master' into i18n

This commit is contained in:
Elijah R 2024-01-04 11:48:43 -05:00
commit cd1703da1c
3 changed files with 61 additions and 7 deletions

39
dist/index.html vendored
View File

@ -37,6 +37,43 @@
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade" id="welcomeModal" tabindex="-1" data-bs-backdrop="static" data-bs-keyboard="false" aria-labelledby="welcomeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content bg-dark text-light">
<div class="modal-header">
<h1>Welcome to CollabVM</h1>
</div>
<div class="modal-body">
<p>Before continuing, please familiarize yourself with our rules:</p>
<h3>R1. Don't break the law.</h3>
Do not use CollabVM or CollabVM's network to violate United States federal law, New York state law, or international law. If CollabVM becomes aware a crime has been committed through its service, you will be immediately banned, and your activities may be reported to the authorities if necessary.<br><br>CollabVM is required by law to notify law enforcement agencies if it becomes aware of the presence of child pornography on, or being transmitted through its network.<br><br>COPPA is also enforced, please do not use CollabVM if you are under the age of 13 years old.
<h3>R2. No running DoS/DDoS tools.</h3>
Do not use CollabVM to DoS/DDoS an indivdiual, business, company, or anyone else.
<h3>R3. No spam distribution.</h3>
Do not spam any emails using this service or push spam in general.
<h3>R4. Do not abuse any exploits.</h3>
Do not abuse any exploits, additionally if you see someone abusing exploits or you need to report one, please contact me at: computernewbab@gmail.com
<h3>R5. Don't impersonate other users.</h3>
Do not impersonate other members of CollabVM. If caught, you'll be temporarily disconnected, and banned if necessary.
<h3>R6. One vote per person.</h3>
Do not use any methods or tools to bypass the vote restriction. Only one vote per person is allowed, no matter what. Anybody who is caught doing this will be banned.
<h3>R7. No Remote Administration Tools.</h3>
Do not use any remote administration tools (ex: DarkComet, NanoCore, Anydesk, TeamViewer, Orcus, etc.)
<h3>R8. No bypassing CollabNet.</h3>
Do not attempt to bypass the blocking provided by CollabNet, especially if it is being used to break Rule 1, Rule 2, or Rule 7 (or run stupid over-used things).
<h3>R9. No performing destructive actions constantly.</h3>
Any user may not destroy the VM (rendering it unusable constantly), install/reinstall the operating system (except on VM7 or VM8), or run bots that do such. This includes bots that spam massive amounts of keyboard/mouse input ("kitting").
<h3>R10. No Cryptomining</h3>
Attempting to mine cryptocurrency on the VMs will result in a kick, and then a permanent ban if you keep attempting. Besides, it's not like you're gonna make any money off it.
<h3>NSFW Warning</h3>
Please note that NSFW content is allowed on our anarchy VM (VM0b0t), and is viewed regularly. In addition, while we give a good effort to keep NSFW off the main VMs, people will occasionally slip it through.
</div>
<div class="modal-footer">
<button type="button" id="welcomeModalDismiss" class="btn btn-primary" data-bs-dismiss="modal">Understood</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="hcaptchaModal" tabindex="-1" aria-hidden="true"> <div class="modal fade" id="hcaptchaModal" tabindex="-1" aria-hidden="true">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content bg-dark text-light"> <div class="modal-content bg-dark text-light">
@ -150,7 +187,7 @@
</div> </div>
</div> </div>
<script src="https://js.hcaptcha.com/1/api.js" async defer></script> <script src="https://js.hcaptcha.com/1/api.js" async defer></script>
<script src="main.js" type="application/javascript"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js" integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js" integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN" crossorigin="anonymous"></script>
<script src="main.js" type="application/javascript"></script>
</body> </body>
</html> </html>

View File

@ -9,6 +9,8 @@ export const config = {
"wss://computernewb.com/collab-vm/vm6", "wss://computernewb.com/collab-vm/vm6",
"wss://computernewb.com/collab-vm/vm7", "wss://computernewb.com/collab-vm/vm7",
"wss://computernewb.com/collab-vm/vm8", "wss://computernewb.com/collab-vm/vm8",
"wss://computernewb.com/collab-vm/vm9",
"wss://computernewb.com/collab-vm/eventvm",
], ],
chatSound: "https://computernewb.com/collab-vm/notify.ogg", chatSound: "https://computernewb.com/collab-vm/notify.ogg",
// What XSS implementation the server uses // What XSS implementation the server uses

View File

@ -687,13 +687,13 @@ function chatMessage(user, msg) {
} }
else userclass = "text-light"; else userclass = "text-light";
td.innerHTML = `<b class="${userclass}">${user}&gt;</b> ${msg}`; td.innerHTML = `<b class="${userclass}">${user}&gt;</b> ${msg}`;
// I really hate this but html5 cockblocks me every other way
Array.prototype.slice.call(td.children).forEach((curr) => {
if (curr.nodeName === "SCRIPT") {
eval(curr.text)
}
});
} }
// I really hate this but html5 cockblocks me every other way
Array.prototype.slice.call(td.children).forEach((curr) => {
if (curr.nodeName === "SCRIPT") {
eval(curr.text)
}
});
tr.appendChild(td); tr.appendChild(td);
chatList.appendChild(tr); chatList.appendChild(tr);
} }
@ -899,3 +899,18 @@ window.getRank = () => rank;
window.GetAdmin = () => vm.admin; window.GetAdmin = () => vm.admin;
window.cvmEvents = createNanoEvents(); window.cvmEvents = createNanoEvents();
window.VMName = null; window.VMName = null;
// Welcome modal
var noWelcomeModal = window.localStorage.getItem("no-welcome-modal");
if (noWelcomeModal !== "1") {
var welcomeModalDismissBtn = document.getElementById("welcomeModalDismiss");
var welcomeModal = new bootstrap.Modal(document.getElementById("welcomeModal"));
welcomeModalDismissBtn.addEventListener("click", () => {
window.localStorage.setItem("no-welcome-modal", 1);
});
welcomeModalDismissBtn.disabled = true;
welcomeModal.show();
setTimeout(() => {
welcomeModalDismissBtn.disabled = false;
}, 5000);
}