Add Mldsa65Verify
This commit is contained in:
@@ -44,6 +44,7 @@ data class ProfileItem(
|
|||||||
var publicKey: String? = null,
|
var publicKey: String? = null,
|
||||||
var shortId: String? = null,
|
var shortId: String? = null,
|
||||||
var spiderX: String? = null,
|
var spiderX: String? = null,
|
||||||
|
var mldsa65Verify: String? = null,
|
||||||
|
|
||||||
var secretKey: String? = null,
|
var secretKey: String? = null,
|
||||||
var preSharedKey: String? = null,
|
var preSharedKey: String? = null,
|
||||||
|
|||||||
@@ -264,7 +264,8 @@ data class V2rayConfig(
|
|||||||
val show: Boolean = false,
|
val show: Boolean = false,
|
||||||
var publicKey: String? = null,
|
var publicKey: String? = null,
|
||||||
var shortId: String? = null,
|
var shortId: String? = null,
|
||||||
var spiderX: String? = null
|
var spiderX: String? = null,
|
||||||
|
var mldsa65Verify: String? = null
|
||||||
)
|
)
|
||||||
|
|
||||||
data class QuicSettingBean(
|
data class QuicSettingBean(
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ open class FmtBase {
|
|||||||
config.publicKey = queryParam["pbk"]
|
config.publicKey = queryParam["pbk"]
|
||||||
config.shortId = queryParam["sid"]
|
config.shortId = queryParam["sid"]
|
||||||
config.spiderX = queryParam["spx"]
|
config.spiderX = queryParam["spx"]
|
||||||
|
config.mldsa65Verify = queryParam["pqv"]
|
||||||
config.flow = queryParam["flow"]
|
config.flow = queryParam["flow"]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -101,6 +102,7 @@ open class FmtBase {
|
|||||||
config.publicKey.let { if (it.isNotNullEmpty()) dicQuery["pbk"] = it.orEmpty() }
|
config.publicKey.let { if (it.isNotNullEmpty()) dicQuery["pbk"] = it.orEmpty() }
|
||||||
config.shortId.let { if (it.isNotNullEmpty()) dicQuery["sid"] = it.orEmpty() }
|
config.shortId.let { if (it.isNotNullEmpty()) dicQuery["sid"] = it.orEmpty() }
|
||||||
config.spiderX.let { if (it.isNotNullEmpty()) dicQuery["spx"] = it.orEmpty() }
|
config.spiderX.let { if (it.isNotNullEmpty()) dicQuery["spx"] = it.orEmpty() }
|
||||||
|
config.mldsa65Verify.let { if (it.isNotNullEmpty()) dicQuery["pqv"] = it.orEmpty() }
|
||||||
config.flow.let { if (it.isNotNullEmpty()) dicQuery["flow"] = it.orEmpty() }
|
config.flow.let { if (it.isNotNullEmpty()) dicQuery["flow"] = it.orEmpty() }
|
||||||
|
|
||||||
val networkType = NetworkType.fromString(config.network)
|
val networkType = NetworkType.fromString(config.network)
|
||||||
|
|||||||
@@ -1235,6 +1235,7 @@ object V2rayConfigManager {
|
|||||||
val publicKey = profileItem.publicKey
|
val publicKey = profileItem.publicKey
|
||||||
val shortId = profileItem.shortId
|
val shortId = profileItem.shortId
|
||||||
val spiderX = profileItem.spiderX
|
val spiderX = profileItem.spiderX
|
||||||
|
val mldsa65Verify = profileItem.mldsa65Verify
|
||||||
|
|
||||||
streamSettings.security = if (streamSecurity.isEmpty()) null else streamSecurity
|
streamSettings.security = if (streamSecurity.isEmpty()) null else streamSecurity
|
||||||
if (streamSettings.security == null) return
|
if (streamSettings.security == null) return
|
||||||
@@ -1246,6 +1247,7 @@ object V2rayConfigManager {
|
|||||||
publicKey = if (publicKey.isNullOrEmpty()) null else publicKey,
|
publicKey = if (publicKey.isNullOrEmpty()) null else publicKey,
|
||||||
shortId = if (shortId.isNullOrEmpty()) null else shortId,
|
shortId = if (shortId.isNullOrEmpty()) null else shortId,
|
||||||
spiderX = if (spiderX.isNullOrEmpty()) null else spiderX,
|
spiderX = if (spiderX.isNullOrEmpty()) null else spiderX,
|
||||||
|
mldsa65Verify = if (mldsa65Verify.isNullOrEmpty()) null else mldsa65Verify,
|
||||||
)
|
)
|
||||||
if (streamSettings.security == AppConfig.TLS) {
|
if (streamSettings.security == AppConfig.TLS) {
|
||||||
streamSettings.tlsSettings = tlsSetting
|
streamSettings.tlsSettings = tlsSetting
|
||||||
|
|||||||
@@ -117,6 +117,8 @@ class ServerActivity : BaseActivity() {
|
|||||||
private val container_short_id: LinearLayout? by lazy { findViewById(R.id.lay_short_id) }
|
private val container_short_id: LinearLayout? by lazy { findViewById(R.id.lay_short_id) }
|
||||||
private val et_spider_x: EditText? by lazy { findViewById(R.id.et_spider_x) }
|
private val et_spider_x: EditText? by lazy { findViewById(R.id.et_spider_x) }
|
||||||
private val container_spider_x: LinearLayout? by lazy { findViewById(R.id.lay_spider_x) }
|
private val container_spider_x: LinearLayout? by lazy { findViewById(R.id.lay_spider_x) }
|
||||||
|
private val et_mldsa65_verify: EditText? by lazy { findViewById(R.id.et_mldsa65_verify) }
|
||||||
|
private val container_mldsa65_verify: LinearLayout? by lazy { findViewById(R.id.lay_mldsa65_verify) }
|
||||||
private val et_reserved1: EditText? by lazy { findViewById(R.id.et_reserved1) }
|
private val et_reserved1: EditText? by lazy { findViewById(R.id.et_reserved1) }
|
||||||
private val et_local_address: EditText? by lazy { findViewById(R.id.et_local_address) }
|
private val et_local_address: EditText? by lazy { findViewById(R.id.et_local_address) }
|
||||||
private val et_local_mtu: EditText? by lazy { findViewById(R.id.et_local_mtu) }
|
private val et_local_mtu: EditText? by lazy { findViewById(R.id.et_local_mtu) }
|
||||||
@@ -253,9 +255,14 @@ class ServerActivity : BaseActivity() {
|
|||||||
// Case 1: Null or blank
|
// Case 1: Null or blank
|
||||||
isBlank -> {
|
isBlank -> {
|
||||||
listOf(
|
listOf(
|
||||||
container_sni, container_fingerprint, container_alpn,
|
container_sni,
|
||||||
container_allow_insecure, container_public_key,
|
container_fingerprint,
|
||||||
container_short_id, container_spider_x
|
container_alpn,
|
||||||
|
container_allow_insecure,
|
||||||
|
container_public_key,
|
||||||
|
container_short_id,
|
||||||
|
container_spider_x,
|
||||||
|
container_mldsa65_verify
|
||||||
).forEach { it?.visibility = View.GONE }
|
).forEach { it?.visibility = View.GONE }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -270,7 +277,8 @@ class ServerActivity : BaseActivity() {
|
|||||||
listOf(
|
listOf(
|
||||||
container_public_key,
|
container_public_key,
|
||||||
container_short_id,
|
container_short_id,
|
||||||
container_spider_x
|
container_spider_x,
|
||||||
|
container_mldsa65_verify
|
||||||
).forEach { it?.visibility = View.GONE }
|
).forEach { it?.visibility = View.GONE }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -284,7 +292,8 @@ class ServerActivity : BaseActivity() {
|
|||||||
listOf(
|
listOf(
|
||||||
container_public_key,
|
container_public_key,
|
||||||
container_short_id,
|
container_short_id,
|
||||||
container_spider_x
|
container_spider_x,
|
||||||
|
container_mldsa65_verify
|
||||||
).forEach { it?.visibility = View.VISIBLE }
|
).forEach { it?.visibility = View.VISIBLE }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -366,9 +375,12 @@ class ServerActivity : BaseActivity() {
|
|||||||
if (allowinsecure >= 0) {
|
if (allowinsecure >= 0) {
|
||||||
sp_allow_insecure?.setSelection(allowinsecure)
|
sp_allow_insecure?.setSelection(allowinsecure)
|
||||||
}
|
}
|
||||||
container_public_key?.visibility = View.GONE
|
listOf(
|
||||||
container_short_id?.visibility = View.GONE
|
container_public_key,
|
||||||
container_spider_x?.visibility = View.GONE
|
container_short_id,
|
||||||
|
container_spider_x,
|
||||||
|
container_mldsa65_verify
|
||||||
|
).forEach { it?.visibility = View.GONE }
|
||||||
} else if (config.security == REALITY) {
|
} else if (config.security == REALITY) {
|
||||||
container_public_key?.visibility = View.VISIBLE
|
container_public_key?.visibility = View.VISIBLE
|
||||||
et_public_key?.text = Utils.getEditable(config.publicKey.orEmpty())
|
et_public_key?.text = Utils.getEditable(config.publicKey.orEmpty())
|
||||||
@@ -376,18 +388,23 @@ class ServerActivity : BaseActivity() {
|
|||||||
et_short_id?.text = Utils.getEditable(config.shortId.orEmpty())
|
et_short_id?.text = Utils.getEditable(config.shortId.orEmpty())
|
||||||
container_spider_x?.visibility = View.VISIBLE
|
container_spider_x?.visibility = View.VISIBLE
|
||||||
et_spider_x?.text = Utils.getEditable(config.spiderX.orEmpty())
|
et_spider_x?.text = Utils.getEditable(config.spiderX.orEmpty())
|
||||||
|
container_mldsa65_verify?.visibility = View.VISIBLE
|
||||||
|
et_mldsa65_verify?.text = Utils.getEditable(config.mldsa65Verify.orEmpty())
|
||||||
container_allow_insecure?.visibility = View.GONE
|
container_allow_insecure?.visibility = View.GONE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config.security.isNullOrEmpty()) {
|
if (config.security.isNullOrEmpty()) {
|
||||||
container_sni?.visibility = View.GONE
|
listOf(
|
||||||
container_fingerprint?.visibility = View.GONE
|
container_sni,
|
||||||
container_alpn?.visibility = View.GONE
|
container_fingerprint,
|
||||||
container_allow_insecure?.visibility = View.GONE
|
container_alpn,
|
||||||
container_public_key?.visibility = View.GONE
|
container_allow_insecure,
|
||||||
container_short_id?.visibility = View.GONE
|
container_public_key,
|
||||||
container_spider_x?.visibility = View.GONE
|
container_short_id,
|
||||||
|
container_spider_x,
|
||||||
|
container_mldsa65_verify
|
||||||
|
).forEach { it?.visibility = View.GONE }
|
||||||
}
|
}
|
||||||
val network = Utils.arrayFind(networks, config.network.orEmpty())
|
val network = Utils.arrayFind(networks, config.network.orEmpty())
|
||||||
if (network >= 0) {
|
if (network >= 0) {
|
||||||
@@ -550,6 +567,7 @@ class ServerActivity : BaseActivity() {
|
|||||||
val publicKey = et_public_key?.text?.toString()
|
val publicKey = et_public_key?.text?.toString()
|
||||||
val shortId = et_short_id?.text?.toString()
|
val shortId = et_short_id?.text?.toString()
|
||||||
val spiderX = et_spider_x?.text?.toString()
|
val spiderX = et_spider_x?.text?.toString()
|
||||||
|
val mldsa65Verify = et_mldsa65_verify?.text?.toString()
|
||||||
|
|
||||||
val allowInsecure =
|
val allowInsecure =
|
||||||
if (allowInsecureField == null || allowinsecures[allowInsecureField].isBlank()) {
|
if (allowInsecureField == null || allowinsecures[allowInsecureField].isBlank()) {
|
||||||
@@ -566,6 +584,7 @@ class ServerActivity : BaseActivity() {
|
|||||||
config.publicKey = publicKey
|
config.publicKey = publicKey
|
||||||
config.shortId = shortId
|
config.shortId = shortId
|
||||||
config.spiderX = spiderX
|
config.spiderX = spiderX
|
||||||
|
config.mldsa65Verify = mldsa65Verify
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun transportTypes(network: String?): Array<out String> {
|
private fun transportTypes(network: String?): Array<out String> {
|
||||||
|
|||||||
@@ -178,4 +178,25 @@
|
|||||||
android:nextFocusDown="@+id/sp_stream_fingerprint" />
|
android:nextFocusDown="@+id/sp_stream_fingerprint" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/lay_mldsa65_verify"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginBottom="@dimen/padding_spacing_dp16"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/server_lab_mldsa65_verify" />
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/et_mldsa65_verify"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:inputType="text"
|
||||||
|
android:nextFocusDown="@+id/sp_stream_fingerprint" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@@ -80,6 +80,7 @@
|
|||||||
<string name="server_lab_preshared_key">PreSharedKey(optional)</string>
|
<string name="server_lab_preshared_key">PreSharedKey(optional)</string>
|
||||||
<string name="server_lab_short_id" translatable="false">শর্ট আইডি</string>
|
<string name="server_lab_short_id" translatable="false">শর্ট আইডি</string>
|
||||||
<string name="server_lab_spider_x" translatable="false">SpiderX</string>
|
<string name="server_lab_spider_x" translatable="false">SpiderX</string>
|
||||||
|
<string name="server_lab_mldsa65_verify">Mldsa65Verify</string>
|
||||||
<string name="server_lab_secret_key" translatable="false">সিক্রেট কী</string>
|
<string name="server_lab_secret_key" translatable="false">সিক্রেট কী</string>
|
||||||
<string name="server_lab_reserved">সংরক্ষিত (ঐচ্ছিক)</string>
|
<string name="server_lab_reserved">সংরক্ষিত (ঐচ্ছিক)</string>
|
||||||
<string name="server_lab_local_address">স্থানীয় ঠিকানা (ঐচ্ছিক IPv4/IPv6, কমা দ্বারা পৃথক করা)</string>
|
<string name="server_lab_local_address">স্থানীয় ঠিকানা (ঐচ্ছিক IPv4/IPv6, কমা দ্বারা পৃথক করা)</string>
|
||||||
|
|||||||
@@ -80,6 +80,7 @@
|
|||||||
<string name="server_lab_preshared_key">کیلیت رزم ناهاڌن ازاف (اختیاری)</string>
|
<string name="server_lab_preshared_key">کیلیت رزم ناهاڌن ازاف (اختیاری)</string>
|
||||||
<string name="server_lab_short_id">ShortID</string>
|
<string name="server_lab_short_id">ShortID</string>
|
||||||
<string name="server_lab_spider_x">SpiderX</string>
|
<string name="server_lab_spider_x">SpiderX</string>
|
||||||
|
<string name="server_lab_mldsa65_verify">Mldsa65Verify</string>
|
||||||
<string name="server_lab_secret_key">کیلیت سیخومی</string>
|
<string name="server_lab_secret_key">کیلیت سیخومی</string>
|
||||||
<string name="server_lab_reserved">Reserved(اختیاری، وا کاما ز یک جوڌا ابۊن)</string>
|
<string name="server_lab_reserved">Reserved(اختیاری، وا کاما ز یک جوڌا ابۊن)</string>
|
||||||
<string name="server_lab_local_address">نشۊوی مهلی (اختیاری IPv4/IPv6، وا کاما ز یک جوڌا ابۊن)</string>
|
<string name="server_lab_local_address">نشۊوی مهلی (اختیاری IPv4/IPv6، وا کاما ز یک جوڌا ابۊن)</string>
|
||||||
|
|||||||
@@ -80,6 +80,7 @@
|
|||||||
<string name="server_lab_preshared_key">کلید رمزگذاری اضافی (اختیاری)</string>
|
<string name="server_lab_preshared_key">کلید رمزگذاری اضافی (اختیاری)</string>
|
||||||
<string name="server_lab_short_id">ShortID</string>
|
<string name="server_lab_short_id">ShortID</string>
|
||||||
<string name="server_lab_spider_x">SpiderX</string>
|
<string name="server_lab_spider_x">SpiderX</string>
|
||||||
|
<string name="server_lab_mldsa65_verify">Mldsa65Verify</string>
|
||||||
<string name="server_lab_secret_key">کلید خصوصی</string>
|
<string name="server_lab_secret_key">کلید خصوصی</string>
|
||||||
<string name="server_lab_reserved">Reserved (اختیاری، جدا شده با کاما)</string>
|
<string name="server_lab_reserved">Reserved (اختیاری، جدا شده با کاما)</string>
|
||||||
<string name="server_lab_local_address">آدرس محلی (IPv4/IPv6 اختیاری، جدا شده با کاما)</string>
|
<string name="server_lab_local_address">آدرس محلی (IPv4/IPv6 اختیاری، جدا شده با کاما)</string>
|
||||||
|
|||||||
@@ -80,6 +80,7 @@
|
|||||||
<string name="server_lab_preshared_key">Дополнительный ключ шифрования (необязательно)</string>
|
<string name="server_lab_preshared_key">Дополнительный ключ шифрования (необязательно)</string>
|
||||||
<string name="server_lab_short_id">ShortID</string>
|
<string name="server_lab_short_id">ShortID</string>
|
||||||
<string name="server_lab_spider_x">SpiderX</string>
|
<string name="server_lab_spider_x">SpiderX</string>
|
||||||
|
<string name="server_lab_mldsa65_verify">Mldsa65Verify</string>
|
||||||
<string name="server_lab_secret_key">Закрытый ключ</string>
|
<string name="server_lab_secret_key">Закрытый ключ</string>
|
||||||
<string name="server_lab_reserved">Reserved (необязательно, через запятую)</string>
|
<string name="server_lab_reserved">Reserved (необязательно, через запятую)</string>
|
||||||
<string name="server_lab_local_address">Локальный адрес (необязательно, IPv4/IPv6 через запятую)</string>
|
<string name="server_lab_local_address">Локальный адрес (необязательно, IPv4/IPv6 через запятую)</string>
|
||||||
|
|||||||
@@ -80,6 +80,7 @@
|
|||||||
<string name="server_lab_preshared_key">PreSharedKey(optional)</string>
|
<string name="server_lab_preshared_key">PreSharedKey(optional)</string>
|
||||||
<string name="server_lab_short_id">ShortId</string>
|
<string name="server_lab_short_id">ShortId</string>
|
||||||
<string name="server_lab_spider_x">SpiderX</string>
|
<string name="server_lab_spider_x">SpiderX</string>
|
||||||
|
<string name="server_lab_mldsa65_verify">Mldsa65Verify</string>
|
||||||
<string name="server_lab_secret_key">SecretKey</string>
|
<string name="server_lab_secret_key">SecretKey</string>
|
||||||
<string name="server_lab_reserved">Reserved (Không bắt buộc)</string>
|
<string name="server_lab_reserved">Reserved (Không bắt buộc)</string>
|
||||||
<string name="server_lab_local_address">Địa chỉ cục bộ (IPv4 / IPv6, phân cách bằng dấu phẩy)</string>
|
<string name="server_lab_local_address">Địa chỉ cục bộ (IPv4 / IPv6, phân cách bằng dấu phẩy)</string>
|
||||||
|
|||||||
@@ -80,6 +80,7 @@
|
|||||||
<string name="server_lab_preshared_key">PreSharedKey (optional)</string>
|
<string name="server_lab_preshared_key">PreSharedKey (optional)</string>
|
||||||
<string name="server_lab_short_id">ShortId</string>
|
<string name="server_lab_short_id">ShortId</string>
|
||||||
<string name="server_lab_spider_x">SpiderX</string>
|
<string name="server_lab_spider_x">SpiderX</string>
|
||||||
|
<string name="server_lab_mldsa65_verify">Mldsa65Verify</string>
|
||||||
<string name="server_lab_secret_key">SecretKey</string>
|
<string name="server_lab_secret_key">SecretKey</string>
|
||||||
<string name="server_lab_reserved">Reserved (可选,逗号隔开)</string>
|
<string name="server_lab_reserved">Reserved (可选,逗号隔开)</string>
|
||||||
<string name="server_lab_local_address">本地地址 (可选 IPv4/IPv6,逗号隔开)</string>
|
<string name="server_lab_local_address">本地地址 (可选 IPv4/IPv6,逗号隔开)</string>
|
||||||
|
|||||||
@@ -80,6 +80,7 @@
|
|||||||
<string name="server_lab_preshared_key">PreSharedKey (optional)</string>
|
<string name="server_lab_preshared_key">PreSharedKey (optional)</string>
|
||||||
<string name="server_lab_short_id">ShortId</string>
|
<string name="server_lab_short_id">ShortId</string>
|
||||||
<string name="server_lab_spider_x">SpiderX</string>
|
<string name="server_lab_spider_x">SpiderX</string>
|
||||||
|
<string name="server_lab_mldsa65_verify">Mldsa65Verify</string>
|
||||||
<string name="server_lab_secret_key">SecretKey</string>
|
<string name="server_lab_secret_key">SecretKey</string>
|
||||||
<string name="server_lab_reserved">Reserved (可選,逗號隔開)</string>
|
<string name="server_lab_reserved">Reserved (可選,逗號隔開)</string>
|
||||||
<string name="server_lab_local_address">本機位址 (可選 IPv4/IPv6,逗號隔開)</string>
|
<string name="server_lab_local_address">本機位址 (可選 IPv4/IPv6,逗號隔開)</string>
|
||||||
|
|||||||
@@ -81,6 +81,7 @@
|
|||||||
<string name="server_lab_preshared_key">PreSharedKey(optional)</string>
|
<string name="server_lab_preshared_key">PreSharedKey(optional)</string>
|
||||||
<string name="server_lab_short_id">ShortId</string>
|
<string name="server_lab_short_id">ShortId</string>
|
||||||
<string name="server_lab_spider_x">SpiderX</string>
|
<string name="server_lab_spider_x">SpiderX</string>
|
||||||
|
<string name="server_lab_mldsa65_verify">Mldsa65Verify</string>
|
||||||
<string name="server_lab_secret_key">SecretKey</string>
|
<string name="server_lab_secret_key">SecretKey</string>
|
||||||
<string name="server_lab_reserved">Reserved(Optional, separated by commas)</string>
|
<string name="server_lab_reserved">Reserved(Optional, separated by commas)</string>
|
||||||
<string name="server_lab_local_address">Local address (optional IPv4/IPv6, separated by commas)</string>
|
<string name="server_lab_local_address">Local address (optional IPv4/IPv6, separated by commas)</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user