Compare commits

...

11 Commits

Author SHA1 Message Date
2dust
09d854dc78 up 1.7.33 2023-01-08 08:57:01 +08:00
2dust
a92e8dde59 Merge pull request #1898 from solokot/master
Small fixes for Russian translation
2023-01-07 17:43:43 +08:00
solokot
0f807b3497 Small fixes for Russian translation 2023-01-07 12:31:49 +03:00
2dust
b967cda340 up 1.7.32 2023-01-07 16:53:20 +08:00
2dust
f610e1d20a Merge pull request #1879 from MUedsa/idn_to_accii
only domain idn to ascii
2022-12-30 18:16:37 +08:00
MUEDSA
9f4127a588 only domain idn to ascii 2022-12-30 17:08:36 +08:00
2dust
a211bc24cb up 1.7.31 2022-12-30 12:47:09 +08:00
2dust
6f47aa33e8 Convert idn domain 2022-12-30 12:46:51 +08:00
2dust
90636bb294 Merge pull request #1800 from zjudongze/master
restart tun2socks process if exited abnormally
2022-12-30 10:35:00 +08:00
2dust
ff98ff02c5 up 1.7.30 2022-12-13 19:49:59 +08:00
derek.dong
3a1daf1888 restart tun2socks process if exited abnormally 2022-11-23 16:25:38 +08:00
5 changed files with 26 additions and 7 deletions

View File

@@ -18,8 +18,8 @@ android {
minSdkVersion 21
targetSdkVersion Integer.parseInt("$targetSdkVer")
multiDexEnabled true
versionCode 488
versionName "1.7.28"
versionCode 495
versionName "1.7.33"
}
if (props["sign"]) {

View File

@@ -36,6 +36,7 @@ class V2RayVpnService : VpnService(), ServiceControl {
private val settingsStorage by lazy { MMKV.mmkvWithID(MmkvManager.ID_SETTING, MMKV.MULTI_PROCESS_MODE) }
private lateinit var mInterface: ParcelFileDescriptor
private var isRunning = false
//val fd: Int get() = mInterface.fd
private lateinit var process: Process
@@ -183,6 +184,7 @@ class V2RayVpnService : VpnService(), ServiceControl {
// Create a new interface using the builder and save the parameters.
try {
mInterface = builder.establish()!!
isRunning = true
runTun2socks()
} catch (e: Exception) {
// non-nullable lateinit var
@@ -219,6 +221,15 @@ class V2RayVpnService : VpnService(), ServiceControl {
process = proBuilder
.directory(applicationContext.filesDir)
.start()
Thread(Runnable {
Log.d(packageName,"$TUN2SOCKS check")
process.waitFor()
Log.d(packageName,"$TUN2SOCKS exited")
if (isRunning) {
Log.d(packageName,"$TUN2SOCKS restart")
runTun2socks()
}
}).start()
Log.d(packageName, process.toString())
sendFd()
@@ -262,6 +273,7 @@ class V2RayVpnService : VpnService(), ServiceControl {
// val emptyInfo = VpnNetworkInfo()
// val info = loadVpnNetworkInfo(configName, emptyInfo)!! + (lastNetworkInfo ?: emptyInfo)
// saveVpnNetworkInfo(configName, info)
isRunning = false;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
try {
connectivity.unregisterNetworkCallback(defaultNetworkCallback)

View File

@@ -488,7 +488,7 @@ class MainActivity : BaseActivity(), NavigationView.OnNavigationItemSelectedList
if (!it.second.enabled) {
return@forEach
}
val url = it.second.url
val url = Utils.idnToASCII(it.second.url)
if (!Utils.isValidUrl(url)) {
return@forEach
}

View File

@@ -429,5 +429,11 @@ object Utils {
fun removeWhiteSpace(str: String?): String? {
return str?.replace(" ", "")
}
fun idnToASCII(str: String): String {
val url = URL(str)
return URL(url.protocol, IDN.toASCII(url.host, IDN.ALLOW_UNASSIGNED), url.port, url.file)
.toExternalForm()
}
}

View File

@@ -50,6 +50,7 @@
<string name="server_lab_path">Путь (WS/H2) / Ключ QUIC / Сид KCP / Сервис gRPC</string>
<string name="server_lab_stream_security">TLS</string>
<string name="server_lab_stream_fingerprint">uTLS</string>
<string name="server_lab_stream_alpn" translatable="false">alpn</string>
<string name="server_lab_allow_insecure">Разрешать небезопасные</string>
<string name="server_lab_sni">SNI</string>
<string name="server_lab_address3">Адрес</string>
@@ -102,7 +103,7 @@
<string name="summary_pref_mux_enabled">Включение может ускорить работу и переключение сети</string>
<string name="title_pref_speed_enabled">Отображение скорости</string>
<string name="summary_pref_speed_enabled">Показывать текущую скорость в уведомлении.\n\nЗначок будет меняться в зависимости от использования.</string>
<string name="summary_pref_speed_enabled">Показывать текущую скорость в уведомлении.\nЗначок будет меняться в зависимости от использования.</string>
<string name="title_pref_sniffing_enabled">Анализ пакетов</string>
<string name="summary_pref_sniffing_enabled">Использовать анализ пакетов (по умолчанию включено)</string>
@@ -166,9 +167,9 @@
<string name="logcat_clear">Очистить</string>
<string name="title_service_restart">Перезапуск службы</string>
<string name="title_del_all_config">Удалить все профили</string>
<string name="title_del_invalid_config">Удалить сбойный профиль (после проверки)</string>
<string name="title_del_invalid_config">Удалить сбойные профили (после проверки)</string>
<string name="title_export_all">Экспорт всех профилей в буфер обмена</string>
<string name="title_sub_setting">Подписки</string>
<string name="title_sub_setting">Группы</string>
<string name="sub_setting_remarks">примечания</string>
<string name="sub_setting_url">URL (необязательно)</string>
<string name="sub_setting_enable">использовать обновление</string>
@@ -178,7 +179,7 @@
<string name="title_user_asset_setting">Файлы георесурсов</string>
<string name="title_sort_by_test_results">Сортировка по результатам теста</string>
<string name="title_filter_config">Фильтр профилей</string>
<string name="filter_config_all">Все профили</string>
<string name="filter_config_all">Все группы</string>
<string name="tasker_start_service">Запуск службы</string>
<string name="tasker_setting_confirm">Подтвердить</string>