diff --git a/frontend/src/components/protocols/Shadowsocks.vue b/frontend/src/components/protocols/Shadowsocks.vue
index 8d795d8..cfac78a 100644
--- a/frontend/src/components/protocols/Shadowsocks.vue
+++ b/frontend/src/components/protocols/Shadowsocks.vue
@@ -6,12 +6,10 @@
hide-details
:label="$t('in.ssMethod')"
:items="ssMethods"
+ @update:model-value="changeMethod($event)"
v-model="data.method">
-
-
-
@@ -19,12 +17,24 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/src/plugins/link.ts b/frontend/src/plugins/link.ts
index 185b88a..94b5b1b 100644
--- a/frontend/src/plugins/link.ts
+++ b/frontend/src/plugins/link.ts
@@ -38,7 +38,7 @@ export namespace LinkUtil {
}
function shadowsocksLink(user: Client, inbound: Shadowsocks, addrs: any[]): string[] {
- const userPass = user.config.shadowsocks?.password
+ const userPass = inbound.method == "2022-blake3-aes-128-gcm" ? user.config.shadowsocks16?.password : user.config.shadowsocks?.password
const password = [userPass]
if (inbound.method.startsWith('2022')) password.push(inbound.password)
const params = {
diff --git a/frontend/src/types/clients.ts b/frontend/src/types/clients.ts
index 6479eba..76a3d65 100644
--- a/frontend/src/types/clients.ts
+++ b/frontend/src/types/clients.ts
@@ -121,5 +121,9 @@ export function randomConfigs(user: string): Config {
export function createClient(json?: Partial): Client {
defaultClient.name = RandomUtil.randomSeq(8)
const defaultObject: Client = { ...defaultClient, ...(json || {}) }
+
+ // Add missing config
+ defaultObject.config = { ...randomConfigs(defaultObject.name), ...defaultObject.config }
+
return defaultObject
}