fix: generate correct keys for shadowsocks

This commit is contained in:
Shishkevich D. 2025-06-20 12:18:08 +00:00
parent f88b7b07f0
commit c503adaef7
4 changed files with 12 additions and 6 deletions

View file

@ -2150,7 +2150,7 @@ Inbound.TrojanSettings.Fallback = class extends XrayCommonClass {
Inbound.ShadowsocksSettings = class extends Inbound.Settings {
constructor(protocol,
method = SSMethods.BLAKE3_AES_256_GCM,
password = RandomUtil.randomShadowsocksPassword(),
password = '',
network = 'tcp,udp',
shadowsockses = [new Inbound.ShadowsocksSettings.Shadowsocks()],
ivCheck = false,
@ -2188,7 +2188,7 @@ Inbound.ShadowsocksSettings = class extends Inbound.Settings {
Inbound.ShadowsocksSettings.Shadowsocks = class extends XrayCommonClass {
constructor(
method = '',
password = RandomUtil.randomShadowsocksPassword(),
password = '',
email = RandomUtil.randomLowerAndNum(8),
limitIp = 0,
totalGB = 0,

View file

@ -138,8 +138,14 @@ class RandomUtil {
}
}
static randomShadowsocksPassword() {
const array = new Uint8Array(32);
static randomShadowsocksPassword(method = "2022-blake3-aes-256-gcm") {
let length = 32;
if (method === "2022-blake3-aes-128-gcm") {
length = 16;
}
const array = new Uint8Array(length);
window.crypto.getRandomValues(array);

View file

@ -22,7 +22,7 @@
<span>{{ i18n "reset" }}</span>
</template>
{{ i18n "password" }}
<a-icon v-if="inbound.protocol === Protocols.SHADOWSOCKS"@click="client.password = RandomUtil.randomShadowsocksPassword()" type="sync"></a-icon>
<a-icon v-if="inbound.protocol === Protocols.SHADOWSOCKS" @click="client.password = RandomUtil.randomShadowsocksPassword(inbound.settings.method)" type="sync"></a-icon>
<a-icon v-if="inbound.protocol === Protocols.TROJAN" @click="client.password = RandomUtil.randomSeq(10)"type="sync"> </a-icon>
</a-tooltip>
</template>

View file

@ -31,7 +31,7 @@
<a-tooltip>
<template slot="title">
<span>{{ i18n "reset" }}</span>
</template> Password <a-icon @click="inbound.settings.password = RandomUtil.randomShadowsocksPassword()" type="sync"></a-icon>
</template> Password <a-icon @click="inbound.settings.password = RandomUtil.randomShadowsocksPassword(inbound.settings.method)" type="sync"></a-icon>
</a-tooltip>
</template>
<a-input v-model.trim="inbound.settings.password"></a-input>