mirror of
https://github.com/ViaVersion/VIAaaS.git
synced 2024-09-30 04:57:50 +02:00
update deps, 22w03a
This commit is contained in:
parent
f786444145
commit
51befef79d
@ -7,7 +7,7 @@ import java.nio.file.Files as JFiles
|
|||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
repositories { mavenCentral() }
|
repositories { mavenCentral() }
|
||||||
dependencies { classpath("com.github.hazendaz:htmlcompressor:1.7.2") }
|
dependencies { classpath("com.github.hazendaz:htmlcompressor:1.7.3") }
|
||||||
}
|
}
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
@ -58,16 +58,16 @@ dependencies {
|
|||||||
implementation(kotlin("stdlib-jdk8"))
|
implementation(kotlin("stdlib-jdk8"))
|
||||||
implementation(kotlin("reflect"))
|
implementation(kotlin("reflect"))
|
||||||
|
|
||||||
val vvVer = "4.1.2-SNAPSHOT"
|
val vvVer = "4.2.0-22w03a-SNAPSHOT"
|
||||||
val vbVer = "4.1.2-SNAPSHOT"
|
val vbVer = "4.2.0-22w03a-SNAPSHOT"
|
||||||
val vrVer = "d8bee0a"
|
val vrVer = "d8bee0a"
|
||||||
implementation("com.viaversion:viaversion:$vvVer") { isTransitive = false }
|
implementation("com.viaversion:viaversion:$vvVer") { isTransitive = false }
|
||||||
implementation("com.viaversion:viabackwards:$vbVer") { isTransitive = false }
|
implementation("com.viaversion:viabackwards:$vbVer") { isTransitive = false }
|
||||||
implementation("com.github.ViaVersion.ViaRewind:viarewind-all:$vrVer") { isTransitive = false }
|
implementation("com.github.ViaVersion.ViaRewind:viarewind-all:$vrVer") { isTransitive = false }
|
||||||
|
|
||||||
implementation("io.netty:netty-all:4.1.73.Final")
|
implementation("io.netty:netty-all:4.1.73.Final")
|
||||||
implementation("io.netty:netty-tcnative-boringssl-static:2.0.47.Final")
|
implementation("io.netty:netty-tcnative-boringssl-static:2.0.48.Final")
|
||||||
implementation("io.netty.incubator:netty-incubator-transport-native-io_uring:0.0.11.Final:linux-x86_64")
|
implementation("io.netty.incubator:netty-incubator-transport-native-io_uring:0.0.12.Final:linux-x86_64")
|
||||||
|
|
||||||
implementation("com.google.guava:guava:31.0.1-jre")
|
implementation("com.google.guava:guava:31.0.1-jre")
|
||||||
implementation("com.velocitypowered:velocity-native:3.1.0")
|
implementation("com.velocitypowered:velocity-native:3.1.0")
|
||||||
@ -76,7 +76,7 @@ dependencies {
|
|||||||
implementation("org.yaml:snakeyaml:1.30")
|
implementation("org.yaml:snakeyaml:1.30")
|
||||||
|
|
||||||
val log4jVer = "2.17.1"
|
val log4jVer = "2.17.1"
|
||||||
val slf4jVer = "1.7.33"
|
val slf4jVer = "1.7.35"
|
||||||
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||||
implementation("org.apache.logging.log4j:log4j-core:$log4jVer")
|
implementation("org.apache.logging.log4j:log4j-core:$log4jVer")
|
||||||
implementation("org.apache.logging.log4j:log4j-iostreams:$log4jVer")
|
implementation("org.apache.logging.log4j:log4j-iostreams:$log4jVer")
|
||||||
@ -85,12 +85,20 @@ dependencies {
|
|||||||
implementation("org.jline:jline-terminal-jansi:3.21.0")
|
implementation("org.jline:jline-terminal-jansi:3.21.0")
|
||||||
implementation("org.slf4j:slf4j-api:$slf4jVer")
|
implementation("org.slf4j:slf4j-api:$slf4jVer")
|
||||||
|
|
||||||
val ktorVersion = "1.6.7"
|
val ktorVersion = "2.0.0-beta-1"
|
||||||
implementation("io.ktor:ktor-network-tls-certificates:$ktorVersion")
|
implementation("io.ktor:ktor-network-tls-certificates:$ktorVersion")
|
||||||
implementation("io.ktor:ktor-websockets:$ktorVersion")
|
implementation("io.ktor:ktor-server-websockets:$ktorVersion")
|
||||||
implementation("io.ktor:ktor-server-netty:$ktorVersion")
|
implementation("io.ktor:ktor-server-netty:$ktorVersion")
|
||||||
implementation("io.ktor:ktor-client-gson:$ktorVersion")
|
implementation("io.ktor:ktor-server-caching-headers:$ktorVersion")
|
||||||
|
implementation("io.ktor:ktor-server-call-logging:$ktorVersion")
|
||||||
|
implementation("io.ktor:ktor-server-compression:$ktorVersion")
|
||||||
|
implementation("io.ktor:ktor-server-content-negotiation:$ktorVersion")
|
||||||
|
implementation("io.ktor:ktor-server-default-headers:$ktorVersion")
|
||||||
|
implementation("io.ktor:ktor-server-forwarded-header:$ktorVersion")
|
||||||
|
implementation("io.ktor:ktor-server-partial-content:$ktorVersion")
|
||||||
|
implementation("io.ktor:ktor-serialization-gson:$ktorVersion")
|
||||||
implementation("io.ktor:ktor-client-java:$ktorVersion")
|
implementation("io.ktor:ktor-client-java:$ktorVersion")
|
||||||
|
implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion")
|
||||||
implementation("io.ktor:ktor-client-logging-jvm:$ktorVersion")
|
implementation("io.ktor:ktor-client-logging-jvm:$ktorVersion")
|
||||||
testImplementation("io.ktor:ktor-server-test-host:$ktorVersion")
|
testImplementation("io.ktor:ktor-server-test-host:$ktorVersion")
|
||||||
|
|
||||||
|
@ -7,17 +7,18 @@ import com.viaversion.aas.config.VIAaaSConfig
|
|||||||
import com.viaversion.aas.handler.FrontEndInit
|
import com.viaversion.aas.handler.FrontEndInit
|
||||||
import com.viaversion.aas.handler.MinecraftHandler
|
import com.viaversion.aas.handler.MinecraftHandler
|
||||||
import com.viaversion.aas.platform.AspirinPlatform
|
import com.viaversion.aas.platform.AspirinPlatform
|
||||||
import com.viaversion.aas.web.WebDashboardServer
|
import com.viaversion.aas.web.WebServer
|
||||||
import com.viaversion.viaversion.ViaManagerImpl
|
import com.viaversion.viaversion.ViaManagerImpl
|
||||||
import com.viaversion.viaversion.api.Via
|
import com.viaversion.viaversion.api.Via
|
||||||
import com.viaversion.viaversion.api.protocol.packet.State
|
import com.viaversion.viaversion.api.protocol.packet.State
|
||||||
import com.viaversion.viaversion.update.Version
|
import com.viaversion.viaversion.update.Version
|
||||||
import io.ktor.client.*
|
import io.ktor.client.*
|
||||||
|
import io.ktor.client.call.*
|
||||||
import io.ktor.client.engine.java.*
|
import io.ktor.client.engine.java.*
|
||||||
import io.ktor.client.features.*
|
import io.ktor.client.plugins.*
|
||||||
import io.ktor.client.features.json.*
|
|
||||||
import io.ktor.client.request.*
|
import io.ktor.client.request.*
|
||||||
import io.ktor.network.tls.certificates.*
|
import io.ktor.network.tls.certificates.*
|
||||||
|
import io.ktor.serialization.gson.*
|
||||||
import io.ktor.server.engine.*
|
import io.ktor.server.engine.*
|
||||||
import io.ktor.server.netty.*
|
import io.ktor.server.netty.*
|
||||||
import io.netty.bootstrap.ServerBootstrap
|
import io.netty.bootstrap.ServerBootstrap
|
||||||
@ -41,7 +42,7 @@ object AspirinServer {
|
|||||||
.readText()
|
.readText()
|
||||||
).asJsonObject["version"].asString
|
).asJsonObject["version"].asString
|
||||||
val cleanedVer get() = version.substringBefore("+")
|
val cleanedVer get() = version.substringBefore("+")
|
||||||
var viaWebServer = WebDashboardServer()
|
var viaWebServer = WebServer()
|
||||||
private var serverFinishing = CompletableFuture<Unit>()
|
private var serverFinishing = CompletableFuture<Unit>()
|
||||||
private var finishedFuture = CompletableFuture<Unit>()
|
private var finishedFuture = CompletableFuture<Unit>()
|
||||||
private val initFuture = CompletableFuture<Unit>()
|
private val initFuture = CompletableFuture<Unit>()
|
||||||
@ -74,8 +75,8 @@ object AspirinServer {
|
|||||||
install(UserAgent) {
|
install(UserAgent) {
|
||||||
agent = "VIAaaS/$cleanedVer"
|
agent = "VIAaaS/$cleanedVer"
|
||||||
}
|
}
|
||||||
install(JsonFeature) {
|
install(ContentNegotiation) {
|
||||||
serializer = GsonSerializer()
|
gson()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -146,8 +147,8 @@ object AspirinServer {
|
|||||||
|
|
||||||
suspend fun updaterCheckMessage(): String {
|
suspend fun updaterCheckMessage(): String {
|
||||||
return try {
|
return try {
|
||||||
val latestData =
|
val latestData = httpClient.get("https://api.github.com/repos/viaversion/viaaas/releases/latest")
|
||||||
httpClient.get<JsonObject>("https://api.github.com/repos/viaversion/viaaas/releases/latest")
|
.body<JsonObject>()
|
||||||
val latest = Version(latestData["tag_name"]!!.asString.removePrefix("v"))
|
val latest = Version(latestData["tag_name"]!!.asString.removePrefix("v"))
|
||||||
val current = Version(cleanedVer)
|
val current = Version(cleanedVer)
|
||||||
when {
|
when {
|
||||||
|
@ -9,6 +9,7 @@ import com.viaversion.aas.config.VIAaaSConfig
|
|||||||
import com.viaversion.aas.util.StacklessException
|
import com.viaversion.aas.util.StacklessException
|
||||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion
|
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion
|
||||||
import com.viaversion.viaversion.api.type.Type
|
import com.viaversion.viaversion.api.type.Type
|
||||||
|
import io.ktor.client.call.*
|
||||||
import io.ktor.client.request.*
|
import io.ktor.client.request.*
|
||||||
import io.ktor.server.netty.*
|
import io.ktor.server.netty.*
|
||||||
import io.netty.buffer.ByteBuf
|
import io.netty.buffer.ByteBuf
|
||||||
@ -193,7 +194,7 @@ suspend fun hasJoined(username: String, hash: String): JsonObject {
|
|||||||
AspirinServer.httpClient.get(
|
AspirinServer.httpClient.get(
|
||||||
"https://sessionserver.mojang.com/session/minecraft/hasJoined?username=" +
|
"https://sessionserver.mojang.com/session/minecraft/hasJoined?username=" +
|
||||||
UrlEscapers.urlFormParameterEscaper().escape(username) + "&serverId=$hash"
|
UrlEscapers.urlFormParameterEscaper().escape(username) + "&serverId=$hash"
|
||||||
)
|
).body()
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
throw StacklessException("Couldn't authenticate with session servers", e)
|
throw StacklessException("Couldn't authenticate with session servers", e)
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ import com.viaversion.aas.protocol.registerAspirinProtocols
|
|||||||
import com.viaversion.aas.web.ViaWebApp
|
import com.viaversion.aas.web.ViaWebApp
|
||||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion
|
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion
|
||||||
import de.gerrygames.viarewind.api.ViaRewindConfigImpl
|
import de.gerrygames.viarewind.api.ViaRewindConfigImpl
|
||||||
import io.ktor.application.*
|
import io.ktor.server.application.*
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
@ -61,7 +61,7 @@ object PacketRegistry {
|
|||||||
ProtocolVersion.v1_16..ProtocolVersion.v1_16_1 to ClientboundPackets1_16.DISCONNECT.id,
|
ProtocolVersion.v1_16..ProtocolVersion.v1_16_1 to ClientboundPackets1_16.DISCONNECT.id,
|
||||||
ProtocolVersion.v1_16_2..ProtocolVersion.v1_16_4 to ClientboundPackets1_16_2.DISCONNECT.id,
|
ProtocolVersion.v1_16_2..ProtocolVersion.v1_16_4 to ClientboundPackets1_16_2.DISCONNECT.id,
|
||||||
ProtocolVersion.v1_17..ProtocolVersion.v1_17_1 to ClientboundPackets1_17.DISCONNECT.id,
|
ProtocolVersion.v1_17..ProtocolVersion.v1_17_1 to ClientboundPackets1_17.DISCONNECT.id,
|
||||||
ProtocolVersion.v1_18.singleton to ClientboundPackets1_18.DISCONNECT.id
|
ProtocolVersion.v1_18..ProtocolVersion.v1_18_2 to ClientboundPackets1_18.DISCONNECT.id
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -75,7 +75,7 @@ object PacketRegistry {
|
|||||||
ProtocolVersion.v1_16..ProtocolVersion.v1_16_1 to ClientboundPackets1_16.PLUGIN_MESSAGE.id,
|
ProtocolVersion.v1_16..ProtocolVersion.v1_16_1 to ClientboundPackets1_16.PLUGIN_MESSAGE.id,
|
||||||
ProtocolVersion.v1_16_2..ProtocolVersion.v1_16_4 to ClientboundPackets1_16_2.PLUGIN_MESSAGE.id,
|
ProtocolVersion.v1_16_2..ProtocolVersion.v1_16_4 to ClientboundPackets1_16_2.PLUGIN_MESSAGE.id,
|
||||||
ProtocolVersion.v1_17..ProtocolVersion.v1_17_1 to ClientboundPackets1_17.PLUGIN_MESSAGE.id,
|
ProtocolVersion.v1_17..ProtocolVersion.v1_17_1 to ClientboundPackets1_17.PLUGIN_MESSAGE.id,
|
||||||
ProtocolVersion.v1_18.singleton to ClientboundPackets1_18.PLUGIN_MESSAGE.id
|
ProtocolVersion.v1_18..ProtocolVersion.v1_18_2 to ClientboundPackets1_18.PLUGIN_MESSAGE.id
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.viaversion.aas.handler.state
|
package com.viaversion.aas.handler.state
|
||||||
|
|
||||||
import com.google.common.net.HostAndPort
|
import com.google.common.net.HostAndPort
|
||||||
|
import com.google.gson.JsonPrimitive
|
||||||
import com.viaversion.aas.*
|
import com.viaversion.aas.*
|
||||||
import com.viaversion.aas.codec.CryptoCodec
|
import com.viaversion.aas.codec.CryptoCodec
|
||||||
import com.viaversion.aas.codec.packet.Packet
|
import com.viaversion.aas.codec.packet.Packet
|
||||||
@ -13,7 +14,6 @@ import com.viaversion.aas.util.StacklessException
|
|||||||
import com.viaversion.viaversion.api.protocol.packet.State
|
import com.viaversion.viaversion.api.protocol.packet.State
|
||||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion
|
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion
|
||||||
import com.viaversion.viaversion.api.type.Type
|
import com.viaversion.viaversion.api.type.Type
|
||||||
import com.viaversion.viaversion.libs.gson.JsonPrimitive
|
|
||||||
import io.netty.buffer.ByteBufAllocator
|
import io.netty.buffer.ByteBufAllocator
|
||||||
import io.netty.channel.Channel
|
import io.netty.channel.Channel
|
||||||
import io.netty.channel.ChannelHandlerContext
|
import io.netty.channel.ChannelHandlerContext
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
package com.viaversion.aas.web
|
package com.viaversion.aas.web
|
||||||
|
|
||||||
import io.ktor.application.*
|
|
||||||
import io.ktor.features.*
|
|
||||||
import io.ktor.http.*
|
import io.ktor.http.*
|
||||||
import io.ktor.http.cio.websocket.*
|
|
||||||
import io.ktor.http.content.*
|
import io.ktor.http.content.*
|
||||||
import io.ktor.response.*
|
import io.ktor.server.application.*
|
||||||
import io.ktor.routing.*
|
import io.ktor.server.http.content.*
|
||||||
|
import io.ktor.server.plugins.*
|
||||||
|
import io.ktor.server.response.*
|
||||||
|
import io.ktor.server.routing.*
|
||||||
|
import io.ktor.server.websocket.*
|
||||||
import io.ktor.util.*
|
import io.ktor.util.*
|
||||||
import io.ktor.websocket.*
|
import io.ktor.websocket.*
|
||||||
import kotlinx.coroutines.channels.consumeEach
|
import kotlinx.coroutines.channels.consumeEach
|
||||||
@ -16,7 +17,7 @@ import java.nio.channels.ClosedChannelException
|
|||||||
import java.nio.file.Path
|
import java.nio.file.Path
|
||||||
import java.time.Duration
|
import java.time.Duration
|
||||||
|
|
||||||
class ViaWebApp(val viaWebServer: WebDashboardServer) {
|
class ViaWebApp(val viaWebServer: WebServer) {
|
||||||
fun Application.main() {
|
fun Application.main() {
|
||||||
install(DefaultHeaders)
|
install(DefaultHeaders)
|
||||||
install(ConditionalHeaders)
|
install(ConditionalHeaders)
|
||||||
|
@ -3,13 +3,13 @@ package com.viaversion.aas.web
|
|||||||
import com.google.common.collect.Sets
|
import com.google.common.collect.Sets
|
||||||
import com.google.common.util.concurrent.RateLimiter
|
import com.google.common.util.concurrent.RateLimiter
|
||||||
import com.viaversion.aas.config.VIAaaSConfig
|
import com.viaversion.aas.config.VIAaaSConfig
|
||||||
import io.ktor.features.*
|
import io.ktor.server.plugins.*
|
||||||
import io.ktor.websocket.*
|
import io.ktor.server.websocket.*
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import java.util.concurrent.atomic.AtomicInteger
|
import java.util.concurrent.atomic.AtomicInteger
|
||||||
|
|
||||||
data class WebClient(
|
data class WebClient(
|
||||||
val server: WebDashboardServer,
|
val server: WebServer,
|
||||||
val ws: WebSocketServerSession,
|
val ws: WebSocketServerSession,
|
||||||
val state: WebState,
|
val state: WebState,
|
||||||
) {
|
) {
|
||||||
|
@ -4,9 +4,10 @@ import com.google.gson.JsonObject
|
|||||||
import com.google.gson.JsonParser
|
import com.google.gson.JsonParser
|
||||||
import com.viaversion.aas.*
|
import com.viaversion.aas.*
|
||||||
import com.viaversion.aas.util.StacklessException
|
import com.viaversion.aas.util.StacklessException
|
||||||
|
import io.ktor.client.call.*
|
||||||
import io.ktor.client.request.forms.*
|
import io.ktor.client.request.forms.*
|
||||||
import io.ktor.http.*
|
import io.ktor.http.*
|
||||||
import io.ktor.http.cio.websocket.*
|
import io.ktor.websocket.*
|
||||||
import kotlinx.coroutines.future.await
|
import kotlinx.coroutines.future.await
|
||||||
import java.net.URLEncoder
|
import java.net.URLEncoder
|
||||||
import java.time.Duration
|
import java.time.Duration
|
||||||
@ -80,10 +81,10 @@ class WebLogin : WebState {
|
|||||||
val username = obj["username"].asString
|
val username = obj["username"].asString
|
||||||
val code = obj["code"].asString
|
val code = obj["code"].asString
|
||||||
|
|
||||||
val check = AspirinServer.httpClient.submitForm<JsonObject>(
|
val check = AspirinServer.httpClient.submitForm(
|
||||||
"https://api.minecraft.id/gateway/verify/${URLEncoder.encode(username, Charsets.UTF_8)}",
|
"https://api.minecraft.id/gateway/verify/${URLEncoder.encode(username, Charsets.UTF_8)}",
|
||||||
formParameters = parametersOf("code", code),
|
formParameters = parametersOf("code", code),
|
||||||
)
|
).body<JsonObject>()
|
||||||
|
|
||||||
if (check.getAsJsonPrimitive("valid").asBoolean) {
|
if (check.getAsJsonPrimitive("valid").asBoolean) {
|
||||||
val mcIdUser = check["username"].asString
|
val mcIdUser = check["username"].asString
|
||||||
|
@ -7,16 +7,17 @@ import com.google.common.cache.CacheBuilder
|
|||||||
import com.google.common.cache.CacheLoader
|
import com.google.common.cache.CacheLoader
|
||||||
import com.google.common.collect.MultimapBuilder
|
import com.google.common.collect.MultimapBuilder
|
||||||
import com.google.common.collect.Multimaps
|
import com.google.common.collect.Multimaps
|
||||||
|
import com.google.gson.JsonObject
|
||||||
import com.viaversion.aas.AspirinServer
|
import com.viaversion.aas.AspirinServer
|
||||||
import com.viaversion.aas.config.VIAaaSConfig
|
import com.viaversion.aas.config.VIAaaSConfig
|
||||||
import com.viaversion.aas.parseUndashedId
|
import com.viaversion.aas.parseUndashedId
|
||||||
import com.viaversion.aas.reverseLookup
|
import com.viaversion.aas.reverseLookup
|
||||||
import com.viaversion.aas.util.StacklessException
|
import com.viaversion.aas.util.StacklessException
|
||||||
import com.viaversion.aas.webLogger
|
import com.viaversion.aas.webLogger
|
||||||
import com.viaversion.viaversion.libs.gson.JsonObject
|
import io.ktor.client.call.*
|
||||||
import io.ktor.client.request.*
|
import io.ktor.client.request.*
|
||||||
import io.ktor.http.cio.websocket.*
|
|
||||||
import io.ktor.server.netty.*
|
import io.ktor.server.netty.*
|
||||||
|
import io.ktor.server.websocket.*
|
||||||
import io.ktor.websocket.*
|
import io.ktor.websocket.*
|
||||||
import io.netty.handler.codec.dns.DefaultDnsQuestion
|
import io.netty.handler.codec.dns.DefaultDnsQuestion
|
||||||
import io.netty.handler.codec.dns.DnsPtrRecord
|
import io.netty.handler.codec.dns.DnsPtrRecord
|
||||||
@ -34,7 +35,7 @@ import java.util.concurrent.ConcurrentHashMap
|
|||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
import kotlin.coroutines.coroutineContext
|
import kotlin.coroutines.coroutineContext
|
||||||
|
|
||||||
class WebDashboardServer {
|
class WebServer {
|
||||||
// I don't think i'll need more than 1k/day
|
// I don't think i'll need more than 1k/day
|
||||||
val clients = ConcurrentHashMap<WebSocketSession, WebClient>()
|
val clients = ConcurrentHashMap<WebSocketSession, WebClient>()
|
||||||
val jwtAlgorithm = Algorithm.HMAC256(VIAaaSConfig.jwtSecret)
|
val jwtAlgorithm = Algorithm.HMAC256(VIAaaSConfig.jwtSecret)
|
||||||
@ -77,7 +78,7 @@ class WebDashboardServer {
|
|||||||
.build<String, CompletableFuture<UUID?>>(CacheLoader.from { name ->
|
.build<String, CompletableFuture<UUID?>>(CacheLoader.from { name ->
|
||||||
CoroutineScope(Dispatchers.IO).async {
|
CoroutineScope(Dispatchers.IO).async {
|
||||||
AspirinServer.httpClient
|
AspirinServer.httpClient
|
||||||
.get<JsonObject?>("https://api.mojang.com/users/profiles/minecraft/$name")
|
.get("https://api.mojang.com/users/profiles/minecraft/$name").body<JsonObject?>()
|
||||||
?.get("id")?.asString?.let { parseUndashedId(it) }
|
?.get("id")?.asString?.let { parseUndashedId(it) }
|
||||||
}.asCompletableFuture()
|
}.asCompletableFuture()
|
||||||
})
|
})
|
||||||
@ -103,7 +104,7 @@ class WebDashboardServer {
|
|||||||
try {
|
try {
|
||||||
val cleanedIp = address.hostString.substringBefore("%")
|
val cleanedIp = address.hostString.substringBefore("%")
|
||||||
val ipLookup = async(Dispatchers.IO) {
|
val ipLookup = async(Dispatchers.IO) {
|
||||||
AspirinServer.httpClient.get<JsonObject>("https://ipinfo.io/$cleanedIp")
|
AspirinServer.httpClient.get("https://ipinfo.io/$cleanedIp").body<JsonObject>()
|
||||||
}
|
}
|
||||||
val dnsQuery = AspirinServer.dnsResolver
|
val dnsQuery = AspirinServer.dnsResolver
|
||||||
.resolveAll(DefaultDnsQuestion(reverseLookup(address.address), DnsRecordType.PTR))
|
.resolveAll(DefaultDnsQuestion(reverseLookup(address.address), DnsRecordType.PTR))
|
Loading…
Reference in New Issue
Block a user