From 85ad999975f601311b4b466044ba3d84ad6c7600 Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Mon, 2 Dec 2024 14:05:41 +0800 Subject: [PATCH] Export complete configuration for hysteria2 https://github.com/2dust/v2rayNG/issues/4080 --- .../main/java/com/v2ray/ang/handler/AngConfigManager.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/handler/AngConfigManager.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/handler/AngConfigManager.kt index 49adbcef..d7ee241e 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/handler/AngConfigManager.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/handler/AngConfigManager.kt @@ -170,6 +170,13 @@ object AngConfigManager { if (guid == null) return -1 val result = V2rayConfigManager.getV2rayConfig(context, guid) if (result.status) { + val config = MmkvManager.decodeServerConfig(guid) + if (config?.configType == EConfigType.HYSTERIA2) { + val socksPort = Utils.findFreePort(listOf(100 + SettingsManager.getSocksPort(), 0)) + val hy2Config = Hysteria2Fmt.toNativeConfig(config, socksPort) + Utils.setClipboard(context, JsonUtil.toJsonPretty(hy2Config) + "\n" + result.content) + return 0 + } Utils.setClipboard(context, result.content) } else { return -1 @@ -280,7 +287,7 @@ object AngConfigManager { val config = CustomFmt.parse(JsonUtil.toJson(srv)) ?: continue config.subscriptionId = subid val key = MmkvManager.encodeServerConfig("", config) - MmkvManager.encodeServerRaw(key, JsonUtil.toJsonPretty(srv)?:"") + MmkvManager.encodeServerRaw(key, JsonUtil.toJsonPretty(srv) ?: "") count += 1 } return count