From 61d5833970171ef4fd98403b88a33893035f5356 Mon Sep 17 00:00:00 2001 From: zoff99 Date: Sun, 26 Nov 2023 14:08:53 +0100 Subject: [PATCH 1/2] setting to use tor proxy --- .../zoffcc/applications/trifa/MainActivity.kt | 26 +++++++++++++++++-- .../briar/desktop/SettingDetails.kt | 23 ++++++++++++++++ 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/com/zoffcc/applications/trifa/MainActivity.kt b/src/main/kotlin/com/zoffcc/applications/trifa/MainActivity.kt index 280fa15d..22ba193f 100644 --- a/src/main/kotlin/com/zoffcc/applications/trifa/MainActivity.kt +++ b/src/main/kotlin/com/zoffcc/applications/trifa/MainActivity.kt @@ -120,6 +120,8 @@ class MainActivity @JvmStatic var native_ffmpegav_lib_loaded_error = -1 var tox_service_fg: TrifaToxService? = null var tox_savefile_directory = "." + var ORBOT_PROXY_HOST = "127.0.0.1" + var ORBOT_PROXY_PORT: Long = 9050 var PREF__udp_enabled = 1 var PREF__audio_play_volume_percent = 100 var PREF__audio_input_filter = 0 @@ -242,14 +244,34 @@ class MainActivity PREF__ipv6_enabled = ipv6_mode_int Log.i(TAG, "PREF__ipv6_enabled:" + PREF__ipv6_enabled) + var tox_tor_proxy_int = 0 + try + { + if (global_prefs.getBoolean("tox.settings.tor_proxy", false)) + { + tox_tor_proxy_int = 1 + } + } catch (_: Exception) + { + } + PREF__orbot_enabled_to_int = tox_tor_proxy_int + Log.i(TAG, "PREF__orbot_enabled_to_int:" + PREF__orbot_enabled_to_int) + lock_data_dir_input() if (!TrifaToxService.TOX_SERVICE_STARTED) { - var ORBOT_PROXY_HOST = "" - var ORBOT_PROXY_PORT: Long = 0 tox_savefile_directory = PREF__tox_savefile_dir + File.separator + if (PREF__orbot_enabled_to_int == 1) + { + PREF__udp_enabled = 0 + PREF__force_udp_only = 0 + PREF__local_discovery_enabled = 0 + } Log.i(TAG, "init:PREF__udp_enabled=$PREF__udp_enabled") + Log.i(TAG, "init:PREF__force_udp_only=$PREF__force_udp_only") + Log.i(TAG, "init:PREF__local_discovery_enabled=$PREF__local_discovery_enabled") + Log.i(TAG, "init:PREF__orbot_enabled_to_int=$PREF__orbot_enabled_to_int") init(tox_savefile_directory, PREF__udp_enabled, PREF__local_discovery_enabled, PREF__orbot_enabled_to_int, ORBOT_PROXY_HOST, ORBOT_PROXY_PORT, password_hash, PREF__ipv6_enabled, PREF__force_udp_only, PREF__ngc_video_bitrate, PREF__ngc_video_max_quantizer, PREF__ngc_audio_bitrate, PREF__ngc_audio_samplerate, PREF__ngc_audio_channels) } val my_tox_id_temp = get_my_toxid() diff --git a/src/main/kotlin/org/briarproject/briar/desktop/SettingDetails.kt b/src/main/kotlin/org/briarproject/briar/desktop/SettingDetails.kt index 2919ce1e..eeccb847 100644 --- a/src/main/kotlin/org/briarproject/briar/desktop/SettingDetails.kt +++ b/src/main/kotlin/org/briarproject/briar/desktop/SettingDetails.kt @@ -166,6 +166,29 @@ fun SettingDetails() } // ---- IPv6 ---- + // ---- tor proxy ---- + var tox_tor_proxy by remember { mutableStateOf(false) } + try + { + if (global_prefs.getBoolean("tox.settings.tor_proxy", false)) + { + tox_tor_proxy = true + } + } catch (_: Exception) + { + } + DetailItem(label = i18n("use Tor proxy [on localhost port: 9050]"), + description = (if (tox_tor_proxy) i18n("enabled") else i18n("disabled"))) { + Switch( + checked = tox_tor_proxy, + onCheckedChange = { + global_prefs.putBoolean("tox.settings.tor_proxy", it) + tox_tor_proxy = it + }, + ) + } + // ---- tor proxy ---- + // database prefs =================== if (orma != null) { From ade7790c2a7d9d11bbb56cca041beebf628070a7 Mon Sep 17 00:00:00 2001 From: zoff99 Date: Sun, 26 Nov 2023 14:16:25 +0100 Subject: [PATCH 2/2] save tor proxy setting used for tox init and display connection status indicator in magenta/purple is currently using tor proxy --- src/main/kotlin/Main.kt | 10 +++++++++- .../com/zoffcc/applications/trifa/MainActivity.kt | 4 +++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/Main.kt b/src/main/kotlin/Main.kt index ad7384c5..ee92e584 100644 --- a/src/main/kotlin/Main.kt +++ b/src/main/kotlin/Main.kt @@ -1073,6 +1073,7 @@ fun load_groupmessages_for_friend(selectedGroupId: String?) } } +@OptIn(ExperimentalFoundationApi::class) @Composable private fun ToxIDQRCode() { @@ -1180,7 +1181,14 @@ fun set_tox_online_state(new_state: String) online_button_color_wrapper = Color.Green.toArgb() } else if (online_button_text_wrapper == "tcp") { - online_button_color_wrapper = Color.Yellow.toArgb() + if (MainActivity.PREF__orbot_enabled_to_int_used_for_init == 1) + { + online_button_color_wrapper = Color.Magenta.toArgb() + } + else + { + online_button_color_wrapper = Color.Yellow.toArgb() + } } else { online_button_color_wrapper = Color.Red.toArgb() diff --git a/src/main/kotlin/com/zoffcc/applications/trifa/MainActivity.kt b/src/main/kotlin/com/zoffcc/applications/trifa/MainActivity.kt index 22ba193f..08f6157b 100644 --- a/src/main/kotlin/com/zoffcc/applications/trifa/MainActivity.kt +++ b/src/main/kotlin/com/zoffcc/applications/trifa/MainActivity.kt @@ -127,6 +127,7 @@ class MainActivity var PREF__audio_input_filter = 0 var PREF__v4l2_capture_force_mjpeg: Int = 0 // 0 -> auto, 1 -> force MJPEG video capture with v4l2 devices var PREF__orbot_enabled_to_int = 0 + var PREF__orbot_enabled_to_int_used_for_init = -1 var PREF__local_discovery_enabled = 1 var PREF__ipv6_enabled = 1 var PREF__force_udp_only = 0 @@ -272,7 +273,8 @@ class MainActivity Log.i(TAG, "init:PREF__force_udp_only=$PREF__force_udp_only") Log.i(TAG, "init:PREF__local_discovery_enabled=$PREF__local_discovery_enabled") Log.i(TAG, "init:PREF__orbot_enabled_to_int=$PREF__orbot_enabled_to_int") - init(tox_savefile_directory, PREF__udp_enabled, PREF__local_discovery_enabled, PREF__orbot_enabled_to_int, ORBOT_PROXY_HOST, ORBOT_PROXY_PORT, password_hash, PREF__ipv6_enabled, PREF__force_udp_only, PREF__ngc_video_bitrate, PREF__ngc_video_max_quantizer, PREF__ngc_audio_bitrate, PREF__ngc_audio_samplerate, PREF__ngc_audio_channels) + PREF__orbot_enabled_to_int_used_for_init = PREF__orbot_enabled_to_int + init(tox_savefile_directory, PREF__udp_enabled, PREF__local_discovery_enabled, PREF__orbot_enabled_to_int_used_for_init, ORBOT_PROXY_HOST, ORBOT_PROXY_PORT, password_hash, PREF__ipv6_enabled, PREF__force_udp_only, PREF__ngc_video_bitrate, PREF__ngc_video_max_quantizer, PREF__ngc_audio_bitrate, PREF__ngc_audio_samplerate, PREF__ngc_audio_channels) } val my_tox_id_temp = get_my_toxid() Log.i(TAG, "MyToxID:$my_tox_id_temp")