generic privacy info, fix pterodactyl startup detect

This commit is contained in:
creeper123123321 2022-02-04 08:50:46 -03:00
parent 51befef79d
commit 9b4bbde742
3 changed files with 60 additions and 3 deletions

View File

@ -28,10 +28,13 @@ import io.netty.channel.WriteBufferWaterMark
import io.netty.resolver.dns.DnsNameResolverBuilder import io.netty.resolver.dns.DnsNameResolverBuilder
import io.netty.util.concurrent.Future import io.netty.util.concurrent.Future
import java.io.File import java.io.File
import java.lang.management.ManagementFactory
import java.net.InetAddress import java.net.InetAddress
import java.security.KeyPair import java.security.KeyPair
import java.security.KeyPairGenerator import java.security.KeyPairGenerator
import java.util.concurrent.CompletableFuture import java.util.concurrent.CompletableFuture
import kotlin.time.Duration.Companion.milliseconds
import kotlin.time.DurationUnit
object AspirinServer { object AspirinServer {
var ktorServer: NettyApplicationEngine? = null var ktorServer: NettyApplicationEngine? = null
@ -125,6 +128,10 @@ object AspirinServer {
viaaasLogger.info("Using compression: ${Natives.compress.loadedVariant}, crypto: ${Natives.cipher.loadedVariant}") viaaasLogger.info("Using compression: ${Natives.compress.loadedVariant}, crypto: ${Natives.cipher.loadedVariant}")
viaaasLogger.info("Binded minecraft into " + chFuture!!.sync().channel().localAddress()) viaaasLogger.info("Binded minecraft into " + chFuture!!.sync().channel().localAddress())
viaaasLogger.info(
"Application started in " + ManagementFactory.getRuntimeMXBean().uptime
.milliseconds.toDouble(DurationUnit.SECONDS) + "s"
)
} }
fun generateCert() { fun generateCert() {

View File

@ -78,6 +78,8 @@ script-src 'self' https://*.cloudflare.com/ https://alcdn.msauth.net/ https://*.
<ul aria-labelledby="aboutDropdown" class="dropdown-menu dropdown-menu-dark"> <ul aria-labelledby="aboutDropdown" class="dropdown-menu dropdown-menu-dark">
<li><a class="dropdown-item" data-bs-toggle="modal" href="#aboutModal" role="tab">About <li><a class="dropdown-item" data-bs-toggle="modal" href="#aboutModal" role="tab">About
VIAaaS</a></li> VIAaaS</a></li>
<li><a class="dropdown-item" data-bs-toggle="modal" href="#privacyModal" role="tab">Privacy</a>
</li>
</ul> </ul>
</li> </li>
</ul> </ul>
@ -91,7 +93,7 @@ script-src 'self' https://*.cloudflare.com/ https://alcdn.msauth.net/ https://*.
<hr> <hr>
<p>Listening to frontend logins from: <span id="listening"></span></p> <p>Listening to frontend logins from: <span id="listening"></span></p>
<div id="actions"> <div id="actions">
<button id="listen_continue" type="button" class="btn btn-primary">Listen to </button> <button id="listen_continue" type="button" class="btn btn-primary">Listen to</button>
<button id="listen_premium" type="button" class="btn btn-primary">Listen to premium login</button> <button id="listen_premium" type="button" class="btn btn-primary">Listen to premium login</button>
<button id="listen_offline" type="button" class="btn btn-primary">Listen to offline mode login</button> <button id="listen_offline" type="button" class="btn btn-primary">Listen to offline mode login</button>
</div> </div>
@ -164,7 +166,8 @@ script-src 'self' https://*.cloudflare.com/ https://alcdn.msauth.net/ https://*.
<div class="text-center mb-3"> <div class="text-center mb-3">
<p class="mb-1">Copyright © 2020-2022 <a <p class="mb-1">Copyright © 2020-2022 <a
href="https://github.com/creeper123123321">creeper123123321</a></p> href="https://github.com/creeper123123321">creeper123123321</a></p>
<p class="mb-1">Copyright © 2021-2022 <a href="https://github.com/ViaVersion/VIAaaS/graphs/contributors">contributors</a> <p class="mb-1">Copyright © 2021-2022 <a
href="https://github.com/ViaVersion/VIAaaS/graphs/contributors">contributors</a>
</p> </p>
</div> </div>
<div> <div>
@ -186,6 +189,53 @@ script-src 'self' https://*.cloudflare.com/ https://alcdn.msauth.net/ https://*.
</div> </div>
</div> </div>
<div aria-hidden="true" aria-labelledby="privacyModalLabel" class="modal fade" id="privacyModal" tabindex="-1">
<div class="modal-dialog modal-dialog-scrollable">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="privacyModalLabel">Privacy</h5>
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
</div>
<div class="modal-body">
<div>
<p>Data collected by instance:</p>
<ul>
<li>access date and time</li>
<li>backend Minecraft server IP</li>
<li>IP address, port, approximate geolocation, ASN and reverse DNS lookup</li>
<li>query string</li>
<li>usernames</li>
</ul>
<p>Why are these data collected?</p>
<ul>
<li>analytics</li>
<li>troubleshooting</li>
</ul>
<p>When are data collected?</p>
<ul>
<li>accessing web service</li>
<li>connecting to Minecraft proxy service</li>
</ul>
<p>Third parties</p>
<ul>
<li><a href="https://cloudflare.com">Cloudflare</a>: CDN and libraries</li>
<li><a href="https://github.com/creeper123123321/cors-anywhere/">creeper123123321's CORS
Anywhere</a>: proxy for Mojang API
</li>
<li><a href="https://ipinfo.io">IPInfo.io</a>: provides info about IP address</li>
<li><a href="https://microsoft.com">Microsoft</a>: login service</li>
<li><a href="https://mojang.com">Mojang</a>: login service</li>
<li><a href="https://minecraft.id">MinecraftID</a>: authenticates usernames</li>
<li><a href="https://major.io/icanhazip-com-faq/">icanhazip.com</a>: returns IP address and Unix
time
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="toast-container position-absolute top-0 end-0 p-3" id="toasts"></div> <div class="toast-container position-absolute top-0 end-0 p-3" id="toasts"></div>
</body> </body>
</html> </html>

View File

@ -138,7 +138,7 @@ $("#listen_offline").on("click", () => {
workers.forEach(it => it.postMessage({action: "listen_pow", user: user, id: taskId, deltaTime: deltaTime})); workers.forEach(it => it.postMessage({action: "listen_pow", user: user, id: taskId, deltaTime: deltaTime}));
addToast("Offline username", "Please wait a minute..."); addToast("Offline username", "Please wait a minute...");
}); });
$("#listen_continue").append(document.createTextNode(mcIdUsername)).on("click", () => { $("#listen_continue").append(document.createTextNode(" " + mcIdUsername)).on("click", () => {
sendSocket(JSON.stringify({ sendSocket(JSON.stringify({
"action": "minecraft_id_login", "action": "minecraft_id_login",
"username": mcIdUsername, "username": mcIdUsername,