feat(V2rayConfig): add SOCKS authentication with password-based accounts

This commit is contained in:
zarazaex69
2026-04-07 11:44:36 +03:00
parent b70a743e61
commit a03af4df3a
4 changed files with 33 additions and 6 deletions
@@ -22,8 +22,14 @@
"port": 10808,
"protocol": "socks",
"settings": {
"auth": "noauth",
"udp": true,
"auth": "password",
"accounts": [
{
"user": "v2ray_local",
"pass": "CHANGE_ME_ON_RUNTIME"
}
],
"udp": false,
"userLevel": 8
},
"sniffing": {
@@ -22,8 +22,14 @@
"port": 10808,
"protocol": "socks",
"settings": {
"auth": "noauth",
"udp": true,
"auth": "password",
"accounts": [
{
"user": "v2ray_local",
"pass": "CHANGE_ME_ON_RUNTIME"
}
],
"udp": false,
"userLevel": 8
},
"sniffing": {
@@ -46,8 +46,14 @@ data class V2rayConfig(
var userLevel: Int? = null,
var name: String? = null,
@SerializedName("MTU")
var mtu: Int? = null
)
var mtu: Int? = null,
var accounts: List<AccountBean>? = null
) {
data class AccountBean(
var user: String,
var pass: String
)
}
data class SniffingBean(
var enabled: Boolean,
@@ -379,6 +379,15 @@ object V2rayConfigManager {
inbound1.listen = AppConfig.LOOPBACK
}
inbound1.port = socksPort
if (inbound1.settings?.auth == "password" && inbound1.settings?.accounts != null) {
val randomPass = java.util.UUID.randomUUID().toString()
inbound1.settings?.accounts = listOf(
V2rayConfig.InboundBean.InSettingsBean.AccountBean("v2ray_local", randomPass)
)
inbound1.settings?.udp = false
}
val fakedns = MmkvManager.decodeSettingsBool(AppConfig.PREF_FAKE_DNS_ENABLED) == true
val sniffAllTlsAndHttp =
MmkvManager.decodeSettingsBool(AppConfig.PREF_SNIFFING_ENABLED, true) != false