Merge pull request #265 from cmachsocket/pr

compatibility fix of rumtime and legacy node
This commit is contained in:
7N21
2026-10-02 23:44:50 +08:00
committed by GitHub
2 changed files with 12 additions and 3 deletions
+7 -2
View File
@@ -152,7 +152,12 @@ const decrypt = (cipher) => {
}
const aesEcbEncrypt = (key, plaintext) => {
const cipher = crypto.createCipheriv(`aes-${key.length * 8}-ecb`, key, null)
// 某些运行时不允许使用 null 作为 IV,因此使用 Buffer.alloc(0) ,同时与上下文deriveX25519AesKey等函数保持一致
const cipher = crypto.createCipheriv(
`aes-${key.length * 8}-ecb`,
key,
Buffer.alloc(0),
)
return Buffer.concat([cipher.update(Buffer.from(plaintext)), cipher.final()])
}
@@ -160,7 +165,7 @@ const aesEcbDecrypt = (key, ciphertext) => {
const decipher = crypto.createDecipheriv(
`aes-${key.length * 8}-ecb`,
key,
null,
Buffer.alloc(0),
)
return Buffer.concat([decipher.update(ciphertext), decipher.final()])
}
+5 -1
View File
@@ -503,7 +503,11 @@ const createRequest = async (uri, data, options) => {
!cookie.NMTID
) {
NMTID_RETRIES_LEFT--
answer.cookie = setCookies.map((x) => {
answer.cookie = (
typeof res.headers['set-cookie'] === 'string'
? [res.headers['set-cookie']]
: res.headers['set-cookie'] || []
).map((x) => {
const cleaned = cleanCookie(x)
const match = x.match(/(?:^|;\s*)NMTID=([^;]+)/)
if (match) {