From f5e7dd592e86b323485a37bca07ea480dc99a9c8 Mon Sep 17 00:00:00 2001 From: arm64v8a <48624112+arm64v8a@users.noreply.github.com> Date: Sun, 15 Oct 2023 13:10:17 +0900 Subject: [PATCH] update --- .../nekohasekai/sagernet/database/ProxyEntity.kt | 4 ++-- .../io/nekohasekai/sagernet/fmt/v2ray/V2RayFmt.kt | 14 ++++++++------ .../main/java/io/nekohasekai/sagernet/ktx/Nets.kt | 3 ++- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/io/nekohasekai/sagernet/database/ProxyEntity.kt b/app/src/main/java/io/nekohasekai/sagernet/database/ProxyEntity.kt index df1702c..401b468 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/database/ProxyEntity.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/database/ProxyEntity.kt @@ -173,7 +173,7 @@ data class ProxyEntity( } } - fun displayType() = when (type) { + fun displayType(): String = when (type) { TYPE_SOCKS -> socksBean!!.protocolName() TYPE_HTTP -> if (httpBean!!.isTLS()) "HTTPS" else "HTTP" TYPE_SS -> "Shadowsocks" @@ -181,7 +181,7 @@ data class ProxyEntity( TYPE_TROJAN -> "Trojan" TYPE_TROJAN_GO -> "Trojan-Go" TYPE_NAIVE -> "Naïve" - TYPE_HYSTERIA -> "Hysteria" + TYPE_HYSTERIA -> "Hysteria" + hysteriaBean!!.protocolVersion TYPE_SSH -> "SSH" TYPE_WG -> "WireGuard" TYPE_TUIC -> "TUIC" diff --git a/app/src/main/java/io/nekohasekai/sagernet/fmt/v2ray/V2RayFmt.kt b/app/src/main/java/io/nekohasekai/sagernet/fmt/v2ray/V2RayFmt.kt index 6d69e9c..ff5bb41 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/fmt/v2ray/V2RayFmt.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/fmt/v2ray/V2RayFmt.kt @@ -583,18 +583,20 @@ fun buildSingBoxOutboundTLS(bean: StandardV2RayBean): OutboundTLSOptions? { if (bean.sni.isNotBlank()) server_name = bean.sni if (bean.alpn.isNotBlank()) alpn = bean.alpn.listByLineOrComma() if (bean.certificates.isNotBlank()) certificate = bean.certificates - if (bean.utlsFingerprint.isNotBlank()) { - utls = OutboundUTLSOptions().apply { - enabled = true - fingerprint = bean.utlsFingerprint - } - } + var fp = bean.utlsFingerprint if (bean.realityPubKey.isNotBlank()) { reality = OutboundRealityOptions().apply { enabled = true public_key = bean.realityPubKey short_id = bean.realityShortId } + if (fp.isNullOrBlank()) fp = "chrome" + } + if (fp.isNotBlank()) { + utls = OutboundUTLSOptions().apply { + enabled = true + fingerprint = fp + } } } } diff --git a/app/src/main/java/io/nekohasekai/sagernet/ktx/Nets.kt b/app/src/main/java/io/nekohasekai/sagernet/ktx/Nets.kt index d8ff480..86b7187 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/ktx/Nets.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/ktx/Nets.kt @@ -2,6 +2,7 @@ package io.nekohasekai.sagernet.ktx +import io.nekohasekai.sagernet.BuildConfig import io.nekohasekai.sagernet.fmt.AbstractBean import moe.matsuri.nb4a.utils.NGUtil import okhttp3.HttpUrl @@ -62,4 +63,4 @@ fun mkPort(): Int { return port } -const val USER_AGENT = "NekoBox/Android/1.0 (Prefer ClashMeta Format)" +const val USER_AGENT = "NekoBox/Android/" + BuildConfig.VERSION_NAME + " (Prefer ClashMeta Format)"