Fix bugs for server

This commit is contained in:
2dust committed 2026-07-18 16:57:59 +08:00
1 parent 7cbb0febf0
commit 1e3f16b083
5 files changed
+40 -47

No files matched your search

@@ -373,20 +373,24 @@ abstract class BaseServerActivity : BaseComponentActivity() {
protected open fun validateProtocolConfig(config: ProfileItem): Boolean = true
protected open fun validateCommonConfig(config: ProfileItem): Boolean {
if (
config.configType != EConfigType.SOCKS &&
config.configType != EConfigType.HTTP &&
config.password.isNullOrBlank()
if (config.password.isNullOrBlank()) {
if (config.configType == EConfigType.VMESS ||
config.configType == EConfigType.VLESS
) {
val message = when (config.configType) {
EConfigType.TROJAN,
EConfigType.SHADOWSOCKS,
EConfigType.HYSTERIA2 -> R.string.server_lab_id3
else -> R.string.server_lab_id
}
toast(message)
toast(R.string.server_lab_id)
return false
}
if (config.configType == EConfigType.TROJAN ||
config.configType == EConfigType.SHADOWSOCKS ||
config.configType == EConfigType.HYSTERIA2
) {
toast(R.string.server_lab_id3)
return false
}
}
if (
config.configType == EConfigType.TROJAN &&
config.security.isNullOrBlank()
@@ -31,15 +31,7 @@ class ServerHttpActivity : BaseServerActivity() {
) {
item { CommonBasicFields(uiState) }
item { HttpProtocolFields(uiState) }
item { CommonNetworkFields(uiState, options) }
item {
CommonStreamSecurityFields(
state = uiState,
options = options,
scope = scope,
buildProfileItem = { uiState.toProfileItem(initialConfig) }
)
}
}
}
@@ -4,8 +4,10 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.ui.res.stringResource
import com.v2ray.ang.AppConfig
import com.v2ray.ang.R
import com.v2ray.ang.compose.FormTextField
import com.v2ray.ang.compose.SettingsSwitchItem
import com.v2ray.ang.dto.entities.ProfileItem
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.extension.toast
@@ -33,15 +35,7 @@ class ServerHysteria2Activity : BaseServerActivity() {
) {
item { CommonBasicFields(uiState, showPort = false) }
item { Hysteria2ProtocolFields(uiState) }
item { CommonNetworkFields(uiState, options) }
item {
CommonStreamSecurityFields(
state = uiState,
options = options,
scope = scope,
buildProfileItem = { uiState.toProfileItem(initialConfig) }
)
}
}
}
@@ -50,6 +44,9 @@ class ServerHysteria2Activity : BaseServerActivity() {
toast(R.string.server_lab_id3)
return false
}
if (config.security.isNullOrBlank()) {
config.security = AppConfig.TLS
}
return true
}
@@ -85,6 +82,22 @@ class ServerHysteria2Activity : BaseServerActivity() {
state.bandwidthUp,
{ state.bandwidthUp = it }
)
SettingsSwitchItem(
title = stringResource(R.string.server_lab_allow_insecure),
checked = state.allowInsecure,
onCheckedChange = { state.allowInsecure = it }
)
FormTextField(
stringResource(R.string.server_lab_sni),
state.sni,
{ state.sni = it }
)
FormTextField(
stringResource(R.string.server_lab_pinned_ca256),
state.pinnedCA256,
{ state.pinnedCA256 = it }
)
}
}
@@ -31,15 +31,7 @@ class ServerSocksActivity : BaseServerActivity() {
) {
item { CommonBasicFields(uiState) }
item { SocksProtocolFields(uiState) }
item { CommonNetworkFields(uiState, options) }
item {
CommonStreamSecurityFields(
state = uiState,
options = options,
scope = scope,
buildProfileItem = { uiState.toProfileItem(initialConfig) }
)
}
}
}
@@ -32,15 +32,7 @@ class ServerWireguardActivity : BaseServerActivity() {
) {
item { CommonBasicFields(uiState) }
item { WireguardProtocolFields(uiState) }
item { CommonNetworkFields(uiState, options) }
item {
CommonStreamSecurityFields(
state = uiState,
options = options,
scope = scope,
buildProfileItem = { uiState.toProfileItem(initialConfig) }
)
}
}
}