Skip to content

Commit

Permalink
feat: salt
Browse files Browse the repository at this point in the history
  • Loading branch information
cssxsh committed May 23, 2023
1 parent e20d89e commit 7a78d69
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions src/main/kotlin/xyz/cssxsh/arknights/bilibili/VideoDataHolder.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import kotlinx.serialization.*
import kotlinx.serialization.json.*
import xyz.cssxsh.arknights.*
import java.io.*
import java.security.*
import java.util.*
import kotlin.collections.*
import kotlin.properties.*
Expand All @@ -26,6 +27,16 @@ public class VideoDataHolder(override val folder: File, override val ignore: sus

private val AcceptAllCookiesStorage.container: MutableList<Cookie> by reflect()

private val salt: String
get() = kotlin.run {
val file = File("data/xyz.cssxsh.mirai.plugin.bilibili-helper/salt.txt")
if (file.exists()) {
file.readText()
} else {
""
}
}

init {
http.launch {
val cookies = with(File("data/xyz.cssxsh.mirai.plugin.bilibili-helper/cookies.json")) {
Expand All @@ -51,6 +62,16 @@ public class VideoDataHolder(override val folder: File, override val ignore: sus
parameter("order", "pubdate")
parameter("tid", key.tid)
parameter("jsonp", "jsonp")
parameter("wts", System.currentTimeMillis() / 1000)

val digest = MessageDigest.getInstance("MD5")
val parameters = url.parameters.entries()
.flatMap { e -> e.value.map { e.key to it } }
.sortedBy { it.first }.formUrlEncode()

val md5 = digest.digest((parameters + salt).encodeToByteArray())

parameter("w_rid", md5.joinToString("") { "%02x".format(it) })

header(HttpHeaders.Origin, "https://space.bilibili.com")
header(HttpHeaders.Referrer, "https://space.bilibili.com/161775300/video")
Expand Down

0 comments on commit 7a78d69

Please sign in to comment.