diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/AppConfig.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/AppConfig.kt index 4a4759ee..8966bf60 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/AppConfig.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/AppConfig.kt @@ -43,6 +43,7 @@ object AppConfig { const val PREF_FRAGMENT_PACKETS = "pref_fragment_packets" const val PREF_FRAGMENT_LENGTH = "pref_fragment_length" const val PREF_FRAGMENT_INTERVAL = "pref_fragment_interval" + const val PREF_FRAGMENT_MAXSPLIT = "pref_fragment_maxsplit" const val SUBSCRIPTION_UPDATE_TASK_NAME = "subscription_updater" const val SUBSCRIPTION_MIN_INTERVAL_MINUTES = 15L const val PREF_SPEED_ENABLED = "pref_speed_enabled" diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/core/CoreOutboundBuilder.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/core/CoreOutboundBuilder.kt index f0c1eb28..213a090f 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/core/CoreOutboundBuilder.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/core/CoreOutboundBuilder.kt @@ -624,7 +624,9 @@ object CoreOutboundBuilder { length = MmkvManager.decodeSettingsString(AppConfig.PREF_FRAGMENT_LENGTH) ?: "50-100", delay = MmkvManager.decodeSettingsString(AppConfig.PREF_FRAGMENT_INTERVAL) - ?: "10-20" + ?: "10-20", + maxSplit = MmkvManager.decodeSettingsString(AppConfig.PREF_FRAGMENT_MAXSPLIT) + ?: "10" ) ) val noiseMask = OutboundBean.StreamSettingsBean.FinalMaskBean.MaskBean( diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/dto/V2rayConfig.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/dto/V2rayConfig.kt index 9cc803b5..a76ec2f4 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/dto/V2rayConfig.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/dto/V2rayConfig.kt @@ -301,7 +301,7 @@ data class V2rayConfig( val packets: String? = null, val length: String? = null, val delay: String? = null, - // val maxSplit: String? = null, + val maxSplit: String? = null, // noise val reset: Int? = null, val noise: List? = null diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/handler/SettingsManager.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/handler/SettingsManager.kt index 235337d9..1ab3cbb1 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/handler/SettingsManager.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/handler/SettingsManager.kt @@ -527,6 +527,7 @@ object SettingsManager { ensureDefaultValue(AppConfig.PREF_MUX_XUDP_CONCURRENCY, "8") ensureDefaultValue(AppConfig.PREF_FRAGMENT_LENGTH, "50-100") ensureDefaultValue(AppConfig.PREF_FRAGMENT_INTERVAL, "10-20") + ensureDefaultValue(AppConfig.PREF_FRAGMENT_MAXSPLIT, "10") } private fun ensureDefaultValue(key: String, default: String) { diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/SettingsActivity.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/SettingsActivity.kt index 9c281231..40dba1f7 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/SettingsActivity.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/SettingsActivity.kt @@ -40,6 +40,7 @@ class SettingsActivity : BaseActivity() { private val fragmentPackets by lazy { findPreference(AppConfig.PREF_FRAGMENT_PACKETS) } private val fragmentLength by lazy { findPreference(AppConfig.PREF_FRAGMENT_LENGTH) } private val fragmentInterval by lazy { findPreference(AppConfig.PREF_FRAGMENT_INTERVAL) } + private val fragmentMaxSplit by lazy { findPreference(AppConfig.PREF_FRAGMENT_MAXSPLIT) } private val mode by lazy { findPreference(AppConfig.PREF_MODE) } @@ -243,6 +244,7 @@ class SettingsActivity : BaseActivity() { fragmentPackets?.isEnabled = enabled fragmentLength?.isEnabled = enabled fragmentInterval?.isEnabled = enabled + fragmentMaxSplit?.isEnabled = enabled } private fun updateDynamicSocksPort(enabled: Boolean) { diff --git a/V2rayNG/app/src/main/res/values-ar/strings.xml b/V2rayNG/app/src/main/res/values-ar/strings.xml index 550c3dff..855b51d7 100644 --- a/V2rayNG/app/src/main/res/values-ar/strings.xml +++ b/V2rayNG/app/src/main/res/values-ar/strings.xml @@ -368,6 +368,7 @@ طول الجزء (الحد الأدنى - الحد الأقصى) فاصل الجزء (الحد الأدنى - الحد الأقصى) تفعيل الجزء + ماكس سبليت الجزء Check for update Already on the latest version diff --git a/V2rayNG/app/src/main/res/values-bn/strings.xml b/V2rayNG/app/src/main/res/values-bn/strings.xml index d076b0f8..8bc94b69 100644 --- a/V2rayNG/app/src/main/res/values-bn/strings.xml +++ b/V2rayNG/app/src/main/res/values-bn/strings.xml @@ -367,6 +367,7 @@ ফ্র্যাগমেন্ট দৈর্ঘ্য (ন্যূনতম-সর্বাধিক) ফ্র্যাগমেন্ট ইন্টারভ্যাল (ন্যূনতম-সর্বাধিক) ফ্র্যাগমেন্ট সক্রিয় করুন + ফ্র্যাগমেন্ট ম্যাক্স স্প্লিট Check for update Already on the latest version diff --git a/V2rayNG/app/src/main/res/values-bqi-rIR/strings.xml b/V2rayNG/app/src/main/res/values-bqi-rIR/strings.xml index f442cb5c..4e9c9a5b 100644 --- a/V2rayNG/app/src/main/res/values-bqi-rIR/strings.xml +++ b/V2rayNG/app/src/main/res/values-bqi-rIR/strings.xml @@ -367,6 +367,7 @@ تۊل کتنا فرگمنت (هدقل-هدکسر) فاسله منجا کتنا فرگمنت (هدقل-هدکسر) ره وندن فرگمنت + مکسیمم تقسیم فرگمنت واجۊری سی ورۊ رسۊوی سکو نوسخه دیندایی پۊرنیڌه هڌ diff --git a/V2rayNG/app/src/main/res/values-fa/strings.xml b/V2rayNG/app/src/main/res/values-fa/strings.xml index 53e53791..2cfcd571 100644 --- a/V2rayNG/app/src/main/res/values-fa/strings.xml +++ b/V2rayNG/app/src/main/res/values-fa/strings.xml @@ -364,6 +364,7 @@ طول بسته های فرگمنت (حداقل-حداکثر) فاصله بین بسته های فرگمنت (حداقل-حداکثر) فعال کردن فرگمنت + حداکثر تقسیم فرگمنت بررسی به روز رسانی در حال حاضر آخرین نسخه نصب شده است diff --git a/V2rayNG/app/src/main/res/values-ru/strings.xml b/V2rayNG/app/src/main/res/values-ru/strings.xml index ad488efb..d1eae918 100644 --- a/V2rayNG/app/src/main/res/values-ru/strings.xml +++ b/V2rayNG/app/src/main/res/values-ru/strings.xml @@ -373,6 +373,7 @@ Длина фрагмента (от — до) Интервал фрагментов (от — до) Использовать фрагментирование + Максимальное число фрагментов Проверить обновление Установлена последняя версия diff --git a/V2rayNG/app/src/main/res/values-vi/strings.xml b/V2rayNG/app/src/main/res/values-vi/strings.xml index 789f7bea..97ff5cd5 100644 --- a/V2rayNG/app/src/main/res/values-vi/strings.xml +++ b/V2rayNG/app/src/main/res/values-vi/strings.xml @@ -369,6 +369,7 @@ Fragment Length (min-max) Fragment Interval (min-max) Enable Fragment + Fragment Max Split Check for update Already on the latest version diff --git a/V2rayNG/app/src/main/res/values-zh-rCN/strings.xml b/V2rayNG/app/src/main/res/values-zh-rCN/strings.xml index d914f84c..a6c9c27a 100644 --- a/V2rayNG/app/src/main/res/values-zh-rCN/strings.xml +++ b/V2rayNG/app/src/main/res/values-zh-rCN/strings.xml @@ -371,6 +371,7 @@ 分片包长(最小 - 最大) 分片间隔(最小 - 最大) 启用分片(Fragment) + 分片最大分割数 检查更新 目前已是最新版本 diff --git a/V2rayNG/app/src/main/res/values-zh-rTW/strings.xml b/V2rayNG/app/src/main/res/values-zh-rTW/strings.xml index 0d776372..4c70cef5 100644 --- a/V2rayNG/app/src/main/res/values-zh-rTW/strings.xml +++ b/V2rayNG/app/src/main/res/values-zh-rTW/strings.xml @@ -369,6 +369,7 @@ 分片包長(最小-最大) 分片間隔(最小-最大) 啟用分片(Fragment) + 分片最大分割數 檢查更新 当前已是最新版本 diff --git a/V2rayNG/app/src/main/res/values/strings.xml b/V2rayNG/app/src/main/res/values/strings.xml index 293aac12..4624ffb1 100644 --- a/V2rayNG/app/src/main/res/values/strings.xml +++ b/V2rayNG/app/src/main/res/values/strings.xml @@ -376,6 +376,7 @@ Fragment Length (min-max) Fragment Interval (min-max) Enable Fragment + Fragment Max Split Check for update Already on the latest version diff --git a/V2rayNG/app/src/main/res/xml/pref_settings.xml b/V2rayNG/app/src/main/res/xml/pref_settings.xml index 5d4652b2..729c5755 100644 --- a/V2rayNG/app/src/main/res/xml/pref_settings.xml +++ b/V2rayNG/app/src/main/res/xml/pref_settings.xml @@ -264,6 +264,11 @@ android:summary="10-20" android:title="@string/title_pref_fragment_interval" /> + +