mirror of
https://github.com/ViaVersion/VIAaaS.git
synced 2024-09-28 04:37:40 +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 {
|
||||
repositories { mavenCentral() }
|
||||
dependencies { classpath("com.github.hazendaz:htmlcompressor:1.7.2") }
|
||||
dependencies { classpath("com.github.hazendaz:htmlcompressor:1.7.3") }
|
||||
}
|
||||
|
||||
plugins {
|
||||
@ -58,16 +58,16 @@ dependencies {
|
||||
implementation(kotlin("stdlib-jdk8"))
|
||||
implementation(kotlin("reflect"))
|
||||
|
||||
val vvVer = "4.1.2-SNAPSHOT"
|
||||
val vbVer = "4.1.2-SNAPSHOT"
|
||||
val vvVer = "4.2.0-22w03a-SNAPSHOT"
|
||||
val vbVer = "4.2.0-22w03a-SNAPSHOT"
|
||||
val vrVer = "d8bee0a"
|
||||
implementation("com.viaversion:viaversion:$vvVer") { isTransitive = false }
|
||||
implementation("com.viaversion:viabackwards:$vbVer") { 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-tcnative-boringssl-static:2.0.47.Final")
|
||||
implementation("io.netty.incubator:netty-incubator-transport-native-io_uring:0.0.11.Final:linux-x86_64")
|
||||
implementation("io.netty:netty-tcnative-boringssl-static:2.0.48.Final")
|
||||
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.velocitypowered:velocity-native:3.1.0")
|
||||
@ -76,7 +76,7 @@ dependencies {
|
||||
implementation("org.yaml:snakeyaml:1.30")
|
||||
|
||||
val log4jVer = "2.17.1"
|
||||
val slf4jVer = "1.7.33"
|
||||
val slf4jVer = "1.7.35"
|
||||
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||
implementation("org.apache.logging.log4j:log4j-core:$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.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-websockets:$ktorVersion")
|
||||
implementation("io.ktor:ktor-server-websockets:$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-content-negotiation:$ktorVersion")
|
||||
implementation("io.ktor:ktor-client-logging-jvm:$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.MinecraftHandler
|
||||
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.api.Via
|
||||
import com.viaversion.viaversion.api.protocol.packet.State
|
||||
import com.viaversion.viaversion.update.Version
|
||||
import io.ktor.client.*
|
||||
import io.ktor.client.call.*
|
||||
import io.ktor.client.engine.java.*
|
||||
import io.ktor.client.features.*
|
||||
import io.ktor.client.features.json.*
|
||||
import io.ktor.client.plugins.*
|
||||
import io.ktor.client.request.*
|
||||
import io.ktor.network.tls.certificates.*
|
||||
import io.ktor.serialization.gson.*
|
||||
import io.ktor.server.engine.*
|
||||
import io.ktor.server.netty.*
|
||||
import io.netty.bootstrap.ServerBootstrap
|
||||
@ -41,7 +42,7 @@ object AspirinServer {
|
||||
.readText()
|
||||
).asJsonObject["version"].asString
|
||||
val cleanedVer get() = version.substringBefore("+")
|
||||
var viaWebServer = WebDashboardServer()
|
||||
var viaWebServer = WebServer()
|
||||
private var serverFinishing = CompletableFuture<Unit>()
|
||||
private var finishedFuture = CompletableFuture<Unit>()
|
||||
private val initFuture = CompletableFuture<Unit>()
|
||||
@ -74,8 +75,8 @@ object AspirinServer {
|
||||
install(UserAgent) {
|
||||
agent = "VIAaaS/$cleanedVer"
|
||||
}
|
||||
install(JsonFeature) {
|
||||
serializer = GsonSerializer()
|
||||
install(ContentNegotiation) {
|
||||
gson()
|
||||
}
|
||||
}
|
||||
|
||||
@ -146,8 +147,8 @@ object AspirinServer {
|
||||
|
||||
suspend fun updaterCheckMessage(): String {
|
||||
return try {
|
||||
val latestData =
|
||||
httpClient.get<JsonObject>("https://api.github.com/repos/viaversion/viaaas/releases/latest")
|
||||
val latestData = httpClient.get("https://api.github.com/repos/viaversion/viaaas/releases/latest")
|
||||
.body<JsonObject>()
|
||||
val latest = Version(latestData["tag_name"]!!.asString.removePrefix("v"))
|
||||
val current = Version(cleanedVer)
|
||||
when {
|
||||
|
@ -9,6 +9,7 @@ import com.viaversion.aas.config.VIAaaSConfig
|
||||
import com.viaversion.aas.util.StacklessException
|
||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion
|
||||
import com.viaversion.viaversion.api.type.Type
|
||||
import io.ktor.client.call.*
|
||||
import io.ktor.client.request.*
|
||||
import io.ktor.server.netty.*
|
||||
import io.netty.buffer.ByteBuf
|
||||
@ -193,7 +194,7 @@ suspend fun hasJoined(username: String, hash: String): JsonObject {
|
||||
AspirinServer.httpClient.get(
|
||||
"https://sessionserver.mojang.com/session/minecraft/hasJoined?username=" +
|
||||
UrlEscapers.urlFormParameterEscaper().escape(username) + "&serverId=$hash"
|
||||
)
|
||||
).body()
|
||||
} catch (e: Exception) {
|
||||
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.viaversion.api.protocol.version.ProtocolVersion
|
||||
import de.gerrygames.viarewind.api.ViaRewindConfigImpl
|
||||
import io.ktor.application.*
|
||||
import io.ktor.server.application.*
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
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_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_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_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_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
|
||||
|
||||
import com.google.common.net.HostAndPort
|
||||
import com.google.gson.JsonPrimitive
|
||||
import com.viaversion.aas.*
|
||||
import com.viaversion.aas.codec.CryptoCodec
|
||||
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.version.ProtocolVersion
|
||||
import com.viaversion.viaversion.api.type.Type
|
||||
import com.viaversion.viaversion.libs.gson.JsonPrimitive
|
||||
import io.netty.buffer.ByteBufAllocator
|
||||
import io.netty.channel.Channel
|
||||
import io.netty.channel.ChannelHandlerContext
|
||||
|
@ -1,12 +1,13 @@
|
||||
package com.viaversion.aas.web
|
||||
|
||||
import io.ktor.application.*
|
||||
import io.ktor.features.*
|
||||
import io.ktor.http.*
|
||||
import io.ktor.http.cio.websocket.*
|
||||
import io.ktor.http.content.*
|
||||
import io.ktor.response.*
|
||||
import io.ktor.routing.*
|
||||
import io.ktor.server.application.*
|
||||
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.websocket.*
|
||||
import kotlinx.coroutines.channels.consumeEach
|
||||
@ -16,7 +17,7 @@ import java.nio.channels.ClosedChannelException
|
||||
import java.nio.file.Path
|
||||
import java.time.Duration
|
||||
|
||||
class ViaWebApp(val viaWebServer: WebDashboardServer) {
|
||||
class ViaWebApp(val viaWebServer: WebServer) {
|
||||
fun Application.main() {
|
||||
install(DefaultHeaders)
|
||||
install(ConditionalHeaders)
|
||||
|
@ -3,13 +3,13 @@ package com.viaversion.aas.web
|
||||
import com.google.common.collect.Sets
|
||||
import com.google.common.util.concurrent.RateLimiter
|
||||
import com.viaversion.aas.config.VIAaaSConfig
|
||||
import io.ktor.features.*
|
||||
import io.ktor.websocket.*
|
||||
import io.ktor.server.plugins.*
|
||||
import io.ktor.server.websocket.*
|
||||
import java.util.*
|
||||
import java.util.concurrent.atomic.AtomicInteger
|
||||
|
||||
data class WebClient(
|
||||
val server: WebDashboardServer,
|
||||
val server: WebServer,
|
||||
val ws: WebSocketServerSession,
|
||||
val state: WebState,
|
||||
) {
|
||||
|
@ -4,9 +4,10 @@ import com.google.gson.JsonObject
|
||||
import com.google.gson.JsonParser
|
||||
import com.viaversion.aas.*
|
||||
import com.viaversion.aas.util.StacklessException
|
||||
import io.ktor.client.call.*
|
||||
import io.ktor.client.request.forms.*
|
||||
import io.ktor.http.*
|
||||
import io.ktor.http.cio.websocket.*
|
||||
import io.ktor.websocket.*
|
||||
import kotlinx.coroutines.future.await
|
||||
import java.net.URLEncoder
|
||||
import java.time.Duration
|
||||
@ -80,10 +81,10 @@ class WebLogin : WebState {
|
||||
val username = obj["username"].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)}",
|
||||
formParameters = parametersOf("code", code),
|
||||
)
|
||||
).body<JsonObject>()
|
||||
|
||||
if (check.getAsJsonPrimitive("valid").asBoolean) {
|
||||
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.collect.MultimapBuilder
|
||||
import com.google.common.collect.Multimaps
|
||||
import com.google.gson.JsonObject
|
||||
import com.viaversion.aas.AspirinServer
|
||||
import com.viaversion.aas.config.VIAaaSConfig
|
||||
import com.viaversion.aas.parseUndashedId
|
||||
import com.viaversion.aas.reverseLookup
|
||||
import com.viaversion.aas.util.StacklessException
|
||||
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.http.cio.websocket.*
|
||||
import io.ktor.server.netty.*
|
||||
import io.ktor.server.websocket.*
|
||||
import io.ktor.websocket.*
|
||||
import io.netty.handler.codec.dns.DefaultDnsQuestion
|
||||
import io.netty.handler.codec.dns.DnsPtrRecord
|
||||
@ -34,7 +35,7 @@ import java.util.concurrent.ConcurrentHashMap
|
||||
import java.util.concurrent.TimeUnit
|
||||
import kotlin.coroutines.coroutineContext
|
||||
|
||||
class WebDashboardServer {
|
||||
class WebServer {
|
||||
// I don't think i'll need more than 1k/day
|
||||
val clients = ConcurrentHashMap<WebSocketSession, WebClient>()
|
||||
val jwtAlgorithm = Algorithm.HMAC256(VIAaaSConfig.jwtSecret)
|
||||
@ -77,7 +78,7 @@ class WebDashboardServer {
|
||||
.build<String, CompletableFuture<UUID?>>(CacheLoader.from { name ->
|
||||
CoroutineScope(Dispatchers.IO).async {
|
||||
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) }
|
||||
}.asCompletableFuture()
|
||||
})
|
||||
@ -103,7 +104,7 @@ class WebDashboardServer {
|
||||
try {
|
||||
val cleanedIp = address.hostString.substringBefore("%")
|
||||
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
|
||||
.resolveAll(DefaultDnsQuestion(reverseLookup(address.address), DnsRecordType.PTR))
|
Loading…
Reference in New Issue
Block a user