tor-commits
Threads by month
- ----- 2026 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 216116 discussions
[orbot/master] "id" is a long deprecated locale for Indonesian. "in" is canonical
by n8fr8@torproject.org 22 Dec '21
by n8fr8@torproject.org 22 Dec '21
22 Dec '21
commit 95f318ca1bdbdc9870587c90a2a9a934c9f1e52e
Author: Hans-Christoph Steiner <hans(a)eds.org>
Date: Tue May 4 11:52:42 2021 +0200
"id" is a long deprecated locale for Indonesian. "in" is canonical
---
app-mini/src/main/res/values-id/strings.xml | 131 ---------------------
app-mini/src/main/res/values-in-rID/strings.xml | 126 --------------------
.../{values-in-rID => values-in}/poestrings.xml | 0
app-mini/src/main/res/values-in/strings.xml | 125 ++++++++++++++++++--
app/src/main/res/values-id/strings.xml | 124 -------------------
app/src/main/res/values-in-rID/strings.xml | 119 -------------------
.../{values-in-rID => values-in}/poestrings.xml | 0
app/src/main/res/values-in/strings.xml | 120 +++++++++++++++++--
orbotservice/src/main/res/values-id/strings.xml | 26 ----
.../src/main/res/values-in-rID/strings.xml | 26 ----
orbotservice/src/main/res/values-in/strings.xml | 20 +++-
11 files changed, 237 insertions(+), 580 deletions(-)
diff --git a/app-mini/src/main/res/values-id/strings.xml b/app-mini/src/main/res/values-id/strings.xml
deleted file mode 100644
index 80affe87..00000000
--- a/app-mini/src/main/res/values-id/strings.xml
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<resources>
- <string name="app_name">Orbot</string>
- <string name="app_description">Orbot adalah aplikasi proxy gratis yang membuat aplikasi-aplikasi lainnya dapat terkoneksi dengan internet secara aman. Orbot menggunakan Tor untuk mengenkripsi hubungan internet anda dan menyalurkannya melewati berbagai komputer di seluruh dunia. Tor adalah software gratis dan suatu network terbuka, yang membantu anda menghindari pengawasan network yang mengancam kebebasan pribadi dan privasi, aktivitas bisnis rahasia dan relasi, serta keamanan negara yang dikenal dengan analisa traffic.</string>
- <string name="status_starting_up">Orbot sedang dimulai...</string>
- <string name="status_activated">Tersambung ke Jaringan Tor</string>
- <string name="status_disabled">Orbot telah dibatalkan</string>
- <string name="status_shutting_down">TorService dimatikan</string>
- <string name="menu_settings">Pengaturan</string>
- <string name="menu_log">Log</string>
- <string name="menu_start">Mulai</string>
- <string name="menu_stop">Berhenti</string>
- <string name="menu_about">Tentang</string>
- <string name="main_layout_download">Unduh</string>
- <string name="main_layout_upload">Unggah</string>
- <string name="button_about">Tentang</string>
- <string name="menu_exit">Keluar</string>
- <string name="menu_scan">Pindai BridgeQR</string>
- <string name="menu_share_bridge">Bagikan BridgeQR</string>
- <string name="btn_okay">Oke</string>
- <!--Welcome Wizard strings (DJH)-->
- <string name="wizard_details">Beberapa Rincian Orbot</string>
- <!--END Welcome Wizard strings (DJH)-->
- <string name="pref_general_group">Umum</string>
- <string name="pref_start_boot_title">Mulai Orbot saat Boot</string>
- <string name="pref_start_boot_summary">Secara otomatis memulai Orbot dan menghubungkan dengan Tor ketika perangkat Android anda boot</string>
- <!--New Wizard Strings-->
- <!--Title Screen-->
- <!--Warning screen-->
- <!--Permissions screen-->
- <!--TipsAndTricks screen-->
- <!--Transparent Proxy screen-->
- <string name="pref_node_configuration">Konfigurasi Simpul</string>
- <string name="pref_node_configuration_summary">Itu adalah pengaturan lanjutan yang dapat mengurangi anonimitas anda</string>
- <string name="pref_entrance_node">Simpul Masuk</string>
- <string name="pref_entrance_node_summary">Sidik jari, alias, negara dan alamat untuk loncatan pertama</string>
- <string name="pref_entrance_node_dialog">Masukkan Simpul Masuk</string>
- <string name="pref_allow_background_starts_title">Ijinkan Latar Belakang Berjalan</string>
- <string name="pref_allow_background_starts_summary">Biarkan aplikasi apapun memberitahu Orbot untuk memulai Tor dan layanan yang terkait</string>
- <string name="pref_proxy_title">Outbound Proxy Jaringan (Opsional)</string>
- <string name="pref_proxy_type_title">Outbound Jenis Proxy</string>
- <string name="pref_proxy_type_summary">Protokol yang digunakan untuk server proxy: HTTP, HTTPS, Socks4, Socks5</string>
- <string name="pref_proxy_type_dialog">Masukkan Jenis Proxy</string>
- <string name="pref_proxy_host_title">Outbound Host Proxy</string>
- <string name="pref_proxy_host_summary">Nama host Server Proxy</string>
- <string name="pref_proxy_host_dialog">Masukkan Host Proxy</string>
- <string name="pref_proxy_port_title">Outbound Port Proxy</string>
- <string name="pref_proxy_port_summary">Port Server Proxy</string>
- <string name="pref_proxy_port_dialog">Masukkan port Proxy</string>
- <string name="pref_proxy_username_title">Outbound Nama Pengguna Proxy</string>
- <string name="pref_proxy_username_summary">Nama Pengguna Proxy (Opsional)</string>
- <string name="pref_proxy_username_dialog">Masukkan Nama Pengguna Proxy</string>
- <string name="pref_proxy_password_title">Outbound Sandi Proxy</string>
- <string name="pref_proxy_password_summary">Sandi Proxy (Opsional)</string>
- <string name="pref_proxy_password_dialog">Masukkan Sandi Proxy</string>
- <string name="couldn_t_start_tor_process_">Tidak dapat memulai proses Tor:</string>
- <string name="error">Kesalahan</string>
- <string name="your_reachableaddresses_settings_caused_an_exception_">Pengaturan ReachableAddresses anda menyebabkan kesalahan!</string>
- <string name="your_relay_settings_caused_an_exception_">Pengaturan relay anda menyebabkan kesalahan!</string>
- <string name="exit_nodes">Node Keluar</string>
- <string name="fingerprints_nicks_countries_and_addresses_for_the_last_hop">fingerprints, nama, negara dan alamat untuk hop terakhir</string>
- <string name="enter_exit_nodes">Memasuki Node Keluar</string>
- <string name="exclude_nodes">Node pengecualian</string>
- <string name="fingerprints_nicks_countries_and_addresses_to_exclude">Pengecualian fingerprints,nama, negara dan alamat</string>
- <string name="enter_exclude_nodes">Memasuki Node Pengecualian</string>
- <string name="strict_nodes">Node Terlarang</string>
- <string name="use_only_these_specified_nodes">Pakai *hanya* spesifik node</string>
- <string name="bridges">Bridges</string>
- <string name="use_bridges">Pakai Bridges</string>
- <string name="ip_address_and_port_of_bridges">Alamat IP dan port bridges</string>
- <string name="enter_bridge_addresses">Memasuki Alamat Bridge</string>
- <string name="relays">Relays</string>
- <string name="relaying">Sedang me-Relay</string>
- <string name="enable_your_device_to_be_a_non_exit_relay">Nyalakan perangkat anda menjadi non-exit relay</string>
- <string name="relay_port">Port Relay</string>
- <string name="listening_port_for_your_tor_relay">Port mendengarkan untuk TOR relay anda</string>
- <string name="enter_or_port">Memasuki OR port</string>
- <string name="relay_nickname">Nama Relay</string>
- <string name="the_nickname_for_your_tor_relay">sebuah nama untuk Tor Relay anda</string>
- <string name="enter_a_custom_relay_nickname">Masukkan nama relay</string>
- <string name="reachable_addresses">Addresses Terjangkau</string>
- <string name="run_as_a_client_behind_a_firewall_with_restrictive_policies">Jalankan sebagai client dibalik firewall dengan ketentuan ketat</string>
- <string name="reachable_ports">Ports terjangkau</string>
- <string name="ports_reachable_behind_a_restrictive_firewall">Port terjangkau dibalik firewall ketat</string>
- <string name="enter_ports">Memasuki ports</string>
- <string name="enable_debug_log_to_output_must_use_adb_or_alogcat_to_view_">nyalakan debug log untuk output (harus menggunakan adb atau aLogCat untuk menampilkan)</string>
- <string name="project_home">Beranda Projek:</string>
- <string name="project_urls">https://www.torproject.org/docs/android https://guardianproject.info/apps/orbot/</string>
- <string name="third_party_software">Perangkat Lunak Pihak Ke-3:</string>
- <string name="tor_version">Tor: https://www.torproject.org</string>
- <string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">menemukan proses Tor yang ada...</string>
- <string name="something_bad_happened">Sesuatu yang buruk terjadi. Periksa log</string>
- <string name="unable_to_read_hidden_service_name">tidak dapat membaca nama layanan tersembunyi</string>
- <string name="unable_to_start_tor">Tidak dapat memulai Tor:</string>
- <string name="pref_use_persistent_notifications">Selalu pelihara icon dalam toolbar ketika Orbot terhubung</string>
- <string name="pref_use_persistent_notifications_title">Pemberitahuan Selalu-Hidup</string>
- <string name="pref_use_expanded_notifications">Tampilkan notifikasi melebar dengan negara dan IP keluar Tor</string>
- <string name="pref_use_expanded_notifications_title">Notifikasi Melebar</string>
- <string name="set_locale_title">Bahasa</string>
- <string name="pref_disable_network_title">Auto-Tidur Tidak Ada Jaringan</string>
- <string name="pref_disable_network_summary">Menempatkan Tor untuk tidur ketika tidak ada internet yang tersedia</string>
- <string name="newnym">Anda telah beralih ke identitas Tor baru!</string>
- <string name="updating_settings_in_tor_service">memperbarui setting pada layanan Tor</string>
- <string name="pref_socks_title">SOCKS Tor</string>
- <string name="pref_socks_summary">Port tempat proxy SOCKS Tor aktif (standar: 9050 atau 0 untuk mematikan)</string>
- <string name="pref_socks_dialog">Konfigurasi Port SOCKS</string>
- <string name="pref_transport_title">Port TransProxy Tor</string>
- <string name="pref_transport_summary">Port tempat Proxy Transparan Tor aktif (standar: 9040 atau 0 untuk mematikan)</string>
- <string name="pref_transport_dialog">Konfigurasi Port TransProxy</string>
- <string name="pref_dnsport_title">Port DNS Tor</string>
- <string name="pref_dnsport_summary">Port tempat DNS Tor aktif (standar: 5400 atau 0 untuk mematikan)</string>
- <string name="pref_dnsport_dialog">Konfigurasi Port DNS</string>
- <string name="pref_torrc_title">Konfigurasi Torrc</string>
- <string name="pref_torrc_summary">HANYA UNTUK AHLI: masukkan baris konfigurasi direct Torrc</string>
- <string name="pref_torrc_dialog">Torrc Custom</string>
- <string name="kb">KB</string>
- <string name="mb">MB</string>
- <string name="bridges_updated">Bridge Telah Diperbarui</string>
- <string name="restart_orbot_to_use_this_bridge_">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
- <string name="get_bridges_email">Email</string>
- <string name="activate">Aktivasi</string>
- <string name="send_email">Kirim Email</string>
- <string name="save">Simpan</string>
- <string name="name">Nama</string>
- <string name="done">Selesai!</string>
- <string name="please_restart_Orbot_to_enable_the_changes">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
- <string name="disable">Non Aktifkan</string>
- <string name="enable">Aktifkan</string>
-</resources>
diff --git a/app-mini/src/main/res/values-in-rID/strings.xml b/app-mini/src/main/res/values-in-rID/strings.xml
deleted file mode 100644
index 5b65f011..00000000
--- a/app-mini/src/main/res/values-in-rID/strings.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<resources>
- <string name="app_name">Orbot</string>
- <string name="app_description">Orbot adalah aplikasi proxy gratis yang membuat aplikasi-aplikasi lainnya dapat terkoneksi dengan internet secara aman. Orbot menggunakan Tor untuk mengenkripsi hubungan internet Anda dan menyalurkannya melewati berbagai komputer di seluruh dunia. Tor adalah software gratis dan layanan terbuka, yang membantu Anda menghindari pengawasan jaringan yang mengancam kebebasan pribadi dan privasi, aktivitas bisnis rahasia dan relasi, serta keamanan negara yang dikenal dengan analisis traffic.</string>
- <string name="status_starting_up">Orbot sedang memulai...</string>
- <string name="status_activated">Tersambung ke jaringan Tor</string>
- <string name="status_disabled">Orbot telah dibatalkan</string>
- <string name="status_shutting_down">TorService sedang dimatikan</string>
- <string name="menu_settings">Pengaturan</string>
- <string name="menu_log">Log</string>
- <string name="menu_start">Mulai</string>
- <string name="menu_stop">Berhenti</string>
- <string name="menu_about">Tentang</string>
- <string name="main_layout_download">Unduh</string>
- <string name="main_layout_upload">Unggah</string>
- <string name="button_about">Tentang</string>
- <string name="menu_exit">Keluar</string>
- <string name="menu_scan">Pindai BridgeQR</string>
- <string name="menu_share_bridge">Bagikan BridgeQR</string>
- <string name="btn_okay">Oke</string>
- <!--Welcome Wizard strings (DJH)-->
- <string name="wizard_details">Beberapa Rincian Orbot</string>
- <!--END Welcome Wizard strings (DJH)-->
- <string name="pref_general_group">Umum</string>
- <string name="pref_start_boot_title">Mulai Orbot saat Boot</string>
- <string name="pref_start_boot_summary">Secara otomatis memulai Orbot dan menghubungkan dengan Tor ketika perangkat Android anda boot</string>
- <!--New Wizard Strings-->
- <!--Title Screen-->
- <!--Warning screen-->
- <!--Permissions screen-->
- <!--TipsAndTricks screen-->
- <!--Transparent Proxy screen-->
- <string name="pref_node_configuration">Konfigurasi Simpul</string>
- <string name="pref_node_configuration_summary">Itu adalah pengaturan lanjutan yang dapat mengurangi anonimitas anda</string>
- <string name="pref_entrance_node">Simpul Masuk</string>
- <string name="pref_entrance_node_summary">Sidik jari, alias, negara dan alamat untuk loncatan pertama</string>
- <string name="pref_entrance_node_dialog">Masukkan Simpul Masuk</string>
- <string name="pref_allow_background_starts_title">Izinkan Memulai di Latar Belakang</string>
- <string name="pref_allow_background_starts_summary">Biarkan aplikasi lain memberitahu Orbot untuk memulai Tor dan layanan terkait</string>
- <string name="pref_proxy_title">Outbound Proxy Jaringan (Opsional)</string>
- <string name="pref_proxy_type_title">Outbound Jenis Proxy</string>
- <string name="pref_proxy_type_summary">Protokol yang digunakan untuk server proxy: HTTP, HTTPS, Socks4, Socks5</string>
- <string name="pref_proxy_type_dialog">Masukkan Jenis Proxy</string>
- <string name="pref_proxy_host_title">Outbound Host Proxy</string>
- <string name="pref_proxy_host_summary">Nama host Server Proxy</string>
- <string name="pref_proxy_host_dialog">Masukkan Host Proxy</string>
- <string name="pref_proxy_port_title">Outbound Port Proxy</string>
- <string name="pref_proxy_port_summary">Port Server Proxy</string>
- <string name="pref_proxy_port_dialog">Masukkan port Proxy</string>
- <string name="pref_proxy_username_title">Outbound Nama Pengguna Proxy</string>
- <string name="pref_proxy_username_summary">Nama Pengguna Proxy (Opsional)</string>
- <string name="pref_proxy_username_dialog">Masukkan Nama Pengguna Proxy</string>
- <string name="pref_proxy_password_title">Outbound Sandi Proxy</string>
- <string name="pref_proxy_password_summary">Sandi Proxy (Opsional)</string>
- <string name="pref_proxy_password_dialog">Masukkan Sandi Proxy</string>
- <string name="couldn_t_start_tor_process_">Tidak dapat memulai proses Tor:</string>
- <string name="error">Kesalahan</string>
- <string name="your_reachableaddresses_settings_caused_an_exception_">Pengaturan ReachableAddresses anda menyebabkan kesalahan!</string>
- <string name="your_relay_settings_caused_an_exception_">Pengaturan relay anda menyebabkan kesalahan!</string>
- <string name="exit_nodes">Node Keluar</string>
- <string name="fingerprints_nicks_countries_and_addresses_for_the_last_hop">fingerprints, nama, negara dan alamat untuk hop terakhir</string>
- <string name="enter_exit_nodes">Memasuki Node Keluar</string>
- <string name="exclude_nodes">Node pengecualian</string>
- <string name="fingerprints_nicks_countries_and_addresses_to_exclude">Pengecualian fingerprints,nama, negara dan alamat</string>
- <string name="enter_exclude_nodes">Memasuki Node Pengecualian</string>
- <string name="strict_nodes">Node Terlarang</string>
- <string name="use_only_these_specified_nodes">Pakai *hanya* spesifik node</string>
- <string name="bridges">Bridges</string>
- <string name="use_bridges">Pakai Bridges</string>
- <string name="ip_address_and_port_of_bridges">Alamat IP dan port bridges</string>
- <string name="enter_bridge_addresses">Memasuki Alamat Bridge</string>
- <string name="relays">Relays</string>
- <string name="relaying">Sedang me-Relay</string>
- <string name="enable_your_device_to_be_a_non_exit_relay">Nyalakan perangkat anda menjadi non-exit relay</string>
- <string name="relay_port">Port Relay</string>
- <string name="listening_port_for_your_tor_relay">Port mendengarkan untuk TOR relay anda</string>
- <string name="enter_or_port">Memasuki OR port</string>
- <string name="relay_nickname">Nama Relay</string>
- <string name="the_nickname_for_your_tor_relay">sebuah nama untuk Tor Relay anda</string>
- <string name="enter_a_custom_relay_nickname">Masukkan nama relay</string>
- <string name="reachable_addresses">Addresses Terjangkau</string>
- <string name="run_as_a_client_behind_a_firewall_with_restrictive_policies">Jalankan sebagai client dibalik firewall dengan ketentuan ketat</string>
- <string name="reachable_ports">Ports terjangkau</string>
- <string name="ports_reachable_behind_a_restrictive_firewall">Port terjangkau dibalik firewall ketat</string>
- <string name="enter_ports">Memasuki ports</string>
- <string name="enable_debug_log_to_output_must_use_adb_or_alogcat_to_view_">nyalakan debug log untuk output (harus menggunakan adb atau aLogCat untuk menampilkan)</string>
- <string name="project_home">Beranda Projek:</string>
- <string name="project_urls">https://www.torproject.org/docs/android https://guardianproject.info/apps/orbot/</string>
- <string name="third_party_software">Perangkat Lunak Pihak Ke-3:</string>
- <string name="tor_version">Tor: https://www.torproject.org</string>
- <string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="found_existing_tor_process">menemukan proses Tor yang ada...</string>
- <string name="something_bad_happened">Sesuatu yang buruk terjadi. Periksa log</string>
- <string name="unable_to_read_hidden_service_name">tidak dapat membaca nama layanan tersembunyi</string>
- <string name="unable_to_start_tor">Tidak dapat memulai Tor:</string>
- <string name="pref_use_persistent_notifications">Selalu pelihara icon dalam toolbar ketika Orbot terhubung</string>
- <string name="pref_use_persistent_notifications_title">Pemberitahuan Selalu-Hidup</string>
- <string name="pref_use_expanded_notifications">Tampilkan notifikasi melebar dengan negara dan IP keluar Tor</string>
- <string name="pref_use_expanded_notifications_title">Notifikasi Melebar</string>
- <string name="set_locale_title">Bahasa</string>
- <string name="pref_disable_network_title">Auto-Tidur Tidak Ada Jaringan</string>
- <string name="pref_disable_network_summary">Menempatkan Tor untuk tidur ketika tidak ada internet yang tersedia</string>
- <string name="newnym">Anda telah beralih ke identitas Tor baru!</string>
- <string name="updating_settings_in_tor_service">memperbarui setting pada layanan Tor</string>
- <string name="pref_socks_title">SOCKS Tor</string>
- <string name="pref_socks_summary">Port tempat proxy SOCKS Tor aktif (standar: 9050 atau 0 untuk mematikan)</string>
- <string name="pref_socks_dialog">Konfigurasi Port SOCKS</string>
- <string name="pref_transport_title">Port TransProxy Tor</string>
- <string name="pref_transport_summary">Port tempat Proxy Transparan Tor aktif (standar: 9040 atau 0 untuk mematikan)</string>
- <string name="pref_transport_dialog">Konfigurasi Port TransProxy</string>
- <string name="pref_dnsport_title">Port DNS Tor</string>
- <string name="pref_dnsport_summary">Port tempat DNS Tor aktif (standar: 5400 atau 0 untuk mematikan)</string>
- <string name="pref_dnsport_dialog">Konfigurasi Port DNS</string>
- <string name="pref_torrc_title">Konfigurasi Torrc</string>
- <string name="pref_torrc_summary">HANYA UNTUK AHLI: masukkan baris konfigurasi direct Torrc</string>
- <string name="pref_torrc_dialog">Torrc Custom</string>
- <string name="kb">KB</string>
- <string name="mb">MB</string>
- <string name="bridges_updated">Bridge Telah Diperbarui</string>
- <string name="restart_orbot_to_use_this_bridge_">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
- <string name="get_bridges_email">Email</string>
- <string name="activate">Aktivasi</string>
- <string name="send_email">Kirim Email</string>
- <string name="please_restart_Orbot_to_enable_the_changes">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
-</resources>
diff --git a/app-mini/src/main/res/values-in-rID/poestrings.xml b/app-mini/src/main/res/values-in/poestrings.xml
similarity index 100%
rename from app-mini/src/main/res/values-in-rID/poestrings.xml
rename to app-mini/src/main/res/values-in/poestrings.xml
diff --git a/app-mini/src/main/res/values-in/strings.xml b/app-mini/src/main/res/values-in/strings.xml
index 0c86a753..5b65f011 100644
--- a/app-mini/src/main/res/values-in/strings.xml
+++ b/app-mini/src/main/res/values-in/strings.xml
@@ -1,23 +1,126 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="app_name">Orbot</string>
- <string name="status_starting_up">Orbot sedang dimulai…</string>
- <string name="status_activated">Tersambung ke Jaringan Tor</string>
+ <string name="app_description">Orbot adalah aplikasi proxy gratis yang membuat aplikasi-aplikasi lainnya dapat terkoneksi dengan internet secara aman. Orbot menggunakan Tor untuk mengenkripsi hubungan internet Anda dan menyalurkannya melewati berbagai komputer di seluruh dunia. Tor adalah software gratis dan layanan terbuka, yang membantu Anda menghindari pengawasan jaringan yang mengancam kebebasan pribadi dan privasi, aktivitas bisnis rahasia dan relasi, serta keamanan negara yang dikenal dengan analisis traffic.</string>
+ <string name="status_starting_up">Orbot sedang memulai...</string>
+ <string name="status_activated">Tersambung ke jaringan Tor</string>
<string name="status_disabled">Orbot telah dibatalkan</string>
- <string name="status_shutting_down">Orbot sedang dimatikan</string>
- <string name="menu_settings">Pengaturan</string>
+ <string name="status_shutting_down">TorService sedang dimatikan</string>
+ <string name="menu_settings">Pengaturan</string>
<string name="menu_log">Log</string>
- <string name="menu_about">Mengenai</string>
- <string name="button_about">Mengenai</string>
+ <string name="menu_start">Mulai</string>
+ <string name="menu_stop">Berhenti</string>
+ <string name="menu_about">Tentang</string>
+ <string name="main_layout_download">Unduh</string>
+ <string name="main_layout_upload">Unggah</string>
+ <string name="button_about">Tentang</string>
<string name="menu_exit">Keluar</string>
+ <string name="menu_scan">Pindai BridgeQR</string>
+ <string name="menu_share_bridge">Bagikan BridgeQR</string>
+ <string name="btn_okay">Oke</string>
<!--Welcome Wizard strings (DJH)-->
+ <string name="wizard_details">Beberapa Rincian Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
- <string name="pref_general_group">Umum</string>
+ <string name="pref_general_group">Umum</string>
+ <string name="pref_start_boot_title">Mulai Orbot saat Boot</string>
+ <string name="pref_start_boot_summary">Secara otomatis memulai Orbot dan menghubungkan dengan Tor ketika perangkat Android anda boot</string>
<!--New Wizard Strings-->
<!--Title Screen-->
- <!--Warning screen-->
+ <!--Warning screen-->
<!--Permissions screen-->
- <!--TipsAndTricks screen-->
- <!--Transparent Proxy screen-->
+ <!--TipsAndTricks screen-->
+ <!--Transparent Proxy screen-->
+ <string name="pref_node_configuration">Konfigurasi Simpul</string>
+ <string name="pref_node_configuration_summary">Itu adalah pengaturan lanjutan yang dapat mengurangi anonimitas anda</string>
+ <string name="pref_entrance_node">Simpul Masuk</string>
+ <string name="pref_entrance_node_summary">Sidik jari, alias, negara dan alamat untuk loncatan pertama</string>
+ <string name="pref_entrance_node_dialog">Masukkan Simpul Masuk</string>
+ <string name="pref_allow_background_starts_title">Izinkan Memulai di Latar Belakang</string>
+ <string name="pref_allow_background_starts_summary">Biarkan aplikasi lain memberitahu Orbot untuk memulai Tor dan layanan terkait</string>
+ <string name="pref_proxy_title">Outbound Proxy Jaringan (Opsional)</string>
+ <string name="pref_proxy_type_title">Outbound Jenis Proxy</string>
+ <string name="pref_proxy_type_summary">Protokol yang digunakan untuk server proxy: HTTP, HTTPS, Socks4, Socks5</string>
+ <string name="pref_proxy_type_dialog">Masukkan Jenis Proxy</string>
+ <string name="pref_proxy_host_title">Outbound Host Proxy</string>
+ <string name="pref_proxy_host_summary">Nama host Server Proxy</string>
+ <string name="pref_proxy_host_dialog">Masukkan Host Proxy</string>
+ <string name="pref_proxy_port_title">Outbound Port Proxy</string>
+ <string name="pref_proxy_port_summary">Port Server Proxy</string>
+ <string name="pref_proxy_port_dialog">Masukkan port Proxy</string>
+ <string name="pref_proxy_username_title">Outbound Nama Pengguna Proxy</string>
+ <string name="pref_proxy_username_summary">Nama Pengguna Proxy (Opsional)</string>
+ <string name="pref_proxy_username_dialog">Masukkan Nama Pengguna Proxy</string>
+ <string name="pref_proxy_password_title">Outbound Sandi Proxy</string>
+ <string name="pref_proxy_password_summary">Sandi Proxy (Opsional)</string>
+ <string name="pref_proxy_password_dialog">Masukkan Sandi Proxy</string>
+ <string name="couldn_t_start_tor_process_">Tidak dapat memulai proses Tor:</string>
<string name="error">Kesalahan</string>
+ <string name="your_reachableaddresses_settings_caused_an_exception_">Pengaturan ReachableAddresses anda menyebabkan kesalahan!</string>
+ <string name="your_relay_settings_caused_an_exception_">Pengaturan relay anda menyebabkan kesalahan!</string>
+ <string name="exit_nodes">Node Keluar</string>
+ <string name="fingerprints_nicks_countries_and_addresses_for_the_last_hop">fingerprints, nama, negara dan alamat untuk hop terakhir</string>
+ <string name="enter_exit_nodes">Memasuki Node Keluar</string>
+ <string name="exclude_nodes">Node pengecualian</string>
+ <string name="fingerprints_nicks_countries_and_addresses_to_exclude">Pengecualian fingerprints,nama, negara dan alamat</string>
+ <string name="enter_exclude_nodes">Memasuki Node Pengecualian</string>
+ <string name="strict_nodes">Node Terlarang</string>
+ <string name="use_only_these_specified_nodes">Pakai *hanya* spesifik node</string>
+ <string name="bridges">Bridges</string>
+ <string name="use_bridges">Pakai Bridges</string>
+ <string name="ip_address_and_port_of_bridges">Alamat IP dan port bridges</string>
+ <string name="enter_bridge_addresses">Memasuki Alamat Bridge</string>
+ <string name="relays">Relays</string>
+ <string name="relaying">Sedang me-Relay</string>
+ <string name="enable_your_device_to_be_a_non_exit_relay">Nyalakan perangkat anda menjadi non-exit relay</string>
+ <string name="relay_port">Port Relay</string>
+ <string name="listening_port_for_your_tor_relay">Port mendengarkan untuk TOR relay anda</string>
+ <string name="enter_or_port">Memasuki OR port</string>
+ <string name="relay_nickname">Nama Relay</string>
+ <string name="the_nickname_for_your_tor_relay">sebuah nama untuk Tor Relay anda</string>
+ <string name="enter_a_custom_relay_nickname">Masukkan nama relay</string>
+ <string name="reachable_addresses">Addresses Terjangkau</string>
+ <string name="run_as_a_client_behind_a_firewall_with_restrictive_policies">Jalankan sebagai client dibalik firewall dengan ketentuan ketat</string>
+ <string name="reachable_ports">Ports terjangkau</string>
+ <string name="ports_reachable_behind_a_restrictive_firewall">Port terjangkau dibalik firewall ketat</string>
+ <string name="enter_ports">Memasuki ports</string>
+ <string name="enable_debug_log_to_output_must_use_adb_or_alogcat_to_view_">nyalakan debug log untuk output (harus menggunakan adb atau aLogCat untuk menampilkan)</string>
+ <string name="project_home">Beranda Projek:</string>
+ <string name="project_urls">https://www.torproject.org/docs/android https://guardianproject.info/apps/orbot/</string>
+ <string name="third_party_software">Perangkat Lunak Pihak Ke-3:</string>
+ <string name="tor_version">Tor: https://www.torproject.org</string>
+ <string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
+ <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
+ <string name="found_existing_tor_process">menemukan proses Tor yang ada...</string>
+ <string name="something_bad_happened">Sesuatu yang buruk terjadi. Periksa log</string>
+ <string name="unable_to_read_hidden_service_name">tidak dapat membaca nama layanan tersembunyi</string>
+ <string name="unable_to_start_tor">Tidak dapat memulai Tor:</string>
+ <string name="pref_use_persistent_notifications">Selalu pelihara icon dalam toolbar ketika Orbot terhubung</string>
+ <string name="pref_use_persistent_notifications_title">Pemberitahuan Selalu-Hidup</string>
+ <string name="pref_use_expanded_notifications">Tampilkan notifikasi melebar dengan negara dan IP keluar Tor</string>
+ <string name="pref_use_expanded_notifications_title">Notifikasi Melebar</string>
+ <string name="set_locale_title">Bahasa</string>
+ <string name="pref_disable_network_title">Auto-Tidur Tidak Ada Jaringan</string>
+ <string name="pref_disable_network_summary">Menempatkan Tor untuk tidur ketika tidak ada internet yang tersedia</string>
+ <string name="newnym">Anda telah beralih ke identitas Tor baru!</string>
+ <string name="updating_settings_in_tor_service">memperbarui setting pada layanan Tor</string>
+ <string name="pref_socks_title">SOCKS Tor</string>
+ <string name="pref_socks_summary">Port tempat proxy SOCKS Tor aktif (standar: 9050 atau 0 untuk mematikan)</string>
+ <string name="pref_socks_dialog">Konfigurasi Port SOCKS</string>
+ <string name="pref_transport_title">Port TransProxy Tor</string>
+ <string name="pref_transport_summary">Port tempat Proxy Transparan Tor aktif (standar: 9040 atau 0 untuk mematikan)</string>
+ <string name="pref_transport_dialog">Konfigurasi Port TransProxy</string>
+ <string name="pref_dnsport_title">Port DNS Tor</string>
+ <string name="pref_dnsport_summary">Port tempat DNS Tor aktif (standar: 5400 atau 0 untuk mematikan)</string>
+ <string name="pref_dnsport_dialog">Konfigurasi Port DNS</string>
+ <string name="pref_torrc_title">Konfigurasi Torrc</string>
+ <string name="pref_torrc_summary">HANYA UNTUK AHLI: masukkan baris konfigurasi direct Torrc</string>
+ <string name="pref_torrc_dialog">Torrc Custom</string>
+ <string name="kb">KB</string>
+ <string name="mb">MB</string>
+ <string name="bridges_updated">Bridge Telah Diperbarui</string>
+ <string name="restart_orbot_to_use_this_bridge_">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
+ <string name="get_bridges_email">Email</string>
+ <string name="activate">Aktivasi</string>
+ <string name="send_email">Kirim Email</string>
+ <string name="please_restart_Orbot_to_enable_the_changes">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
</resources>
diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml
deleted file mode 100644
index 7feb7ebc..00000000
--- a/app/src/main/res/values-id/strings.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<resources>
- <string name="app_name">Orbot</string>
- <string name="app_description">Orbot adalah aplikasi proxy gratis yang membuat aplikasi-aplikasi lainnya dapat terkoneksi dengan internet secara aman. Orbot menggunakan Tor untuk mengenkripsi hubungan internet anda dan menyalurkannya melewati berbagai komputer di seluruh dunia. Tor adalah software gratis dan suatu network terbuka, yang membantu anda menghindari pengawasan network yang mengancam kebebasan pribadi dan privasi, aktivitas bisnis rahasia dan relasi, serta keamanan negara yang dikenal dengan analisa traffic.</string>
- <string name="status_starting_up">Orbot sedang dimulai…</string>
- <string name="status_activated">Tersambung ke Jaringan Tor</string>
- <string name="status_disabled">Orbot telah dibatalkan</string>
- <string name="status_shutting_down">TorService dimatikan</string>
- <string name="menu_settings">Pengaturan</string>
- <string name="menu_log">Log</string>
- <string name="menu_start">Mulai</string>
- <string name="menu_stop">Berhenti</string>
- <string name="menu_about">Tentang</string>
- <string name="main_layout_download">Unduh</string>
- <string name="main_layout_upload">Unggah</string>
- <string name="button_about">Tentang</string>
- <string name="menu_exit">Keluar</string>
- <string name="menu_scan">Pindai BridgeQR</string>
- <string name="menu_share_bridge">Bagikan BridgeQR</string>
- <!--Welcome Wizard strings (DJH)-->
- <string name="wizard_details">Beberapa Rincian Orbot</string>
- <!--END Welcome Wizard strings (DJH)-->
- <string name="pref_general_group">Umum</string>
- <string name="pref_start_boot_title">Mulai Orbot saat Boot</string>
- <string name="pref_start_boot_summary">Secara otomatis memulai Orbot dan menghubungkan dengan Tor ketika perangkat Android anda boot</string>
- <!--New Wizard Strings-->
- <!--Title Screen-->
- <!--Warning screen-->
- <!--Permissions screen-->
- <!--TipsAndTricks screen-->
- <!--Transparent Proxy screen-->
- <string name="pref_node_configuration">Konfigurasi Simpul</string>
- <string name="pref_node_configuration_summary">Itu adalah pengaturan lanjutan yang dapat mengurangi anonimitas anda</string>
- <string name="pref_entrance_node">Simpul Masuk</string>
- <string name="pref_entrance_node_summary">Sidik jari, alias, negara dan alamat untuk loncatan pertama</string>
- <string name="pref_entrance_node_dialog">Masukkan Simpul Masuk</string>
- <string name="pref_allow_background_starts_title">Ijinkan Latar Belakang Berjalan</string>
- <string name="pref_allow_background_starts_summary">Biarkan aplikasi apapun memberitahu Orbot untuk memulai Tor dan layanan yang terkait</string>
- <string name="pref_proxy_title">Outbound Proxy Jaringan (Opsional)</string>
- <string name="pref_proxy_type_title">Outbound Jenis Proxy</string>
- <string name="pref_proxy_type_summary">Protokol yang digunakan untuk server proxy: HTTP, HTTPS, Socks4, Socks5</string>
- <string name="pref_proxy_type_dialog">Masukkan Jenis Proxy</string>
- <string name="pref_proxy_host_title">Outbound Host Proxy</string>
- <string name="pref_proxy_host_summary">Nama host Server Proxy</string>
- <string name="pref_proxy_host_dialog">Masukkan Host Proxy</string>
- <string name="pref_proxy_port_title">Outbound Port Proxy</string>
- <string name="pref_proxy_port_summary">Port Server Proxy</string>
- <string name="pref_proxy_port_dialog">Masukkan port Proxy</string>
- <string name="pref_proxy_username_title">Outbound Nama Pengguna Proxy</string>
- <string name="pref_proxy_username_summary">Nama Pengguna Proxy (Opsional)</string>
- <string name="pref_proxy_username_dialog">Masukkan Nama Pengguna Proxy</string>
- <string name="pref_proxy_password_title">Outbound Sandi Proxy</string>
- <string name="pref_proxy_password_summary">Sandi Proxy (Opsional)</string>
- <string name="pref_proxy_password_dialog">Masukkan Sandi Proxy</string>
- <string name="couldn_t_start_tor_process_">Tidak dapat memulai proses Tor:</string>
- <string name="error">Kesalahan</string>
- <string name="your_reachableaddresses_settings_caused_an_exception_">Pengaturan ReachableAddresses anda menyebabkan kesalahan!</string>
- <string name="your_relay_settings_caused_an_exception_">Pengaturan relay anda menyebabkan kesalahan!</string>
- <string name="exit_nodes">Node Keluar</string>
- <string name="fingerprints_nicks_countries_and_addresses_for_the_last_hop">fingerprints, nama, negara dan alamat untuk hop terakhir</string>
- <string name="enter_exit_nodes">Memasuki Node Keluar</string>
- <string name="exclude_nodes">Node pengecualian</string>
- <string name="fingerprints_nicks_countries_and_addresses_to_exclude">Pengecualian fingerprints,nama, negara dan alamat</string>
- <string name="enter_exclude_nodes">Memasuki Node Pengecualian</string>
- <string name="strict_nodes">Node Terlarang</string>
- <string name="use_only_these_specified_nodes">Pakai *hanya* spesifik node</string>
- <string name="bridges">Bridges</string>
- <string name="use_bridges">Pakai Bridges</string>
- <string name="relays">Relays</string>
- <string name="relaying">Sedang me-Relay</string>
- <string name="enable_your_device_to_be_a_non_exit_relay">Nyalakan perangkat anda menjadi non-exit relay</string>
- <string name="relay_port">Port Relay</string>
- <string name="listening_port_for_your_tor_relay">Port mendengarkan untuk TOR relay anda</string>
- <string name="enter_or_port">Memasuki OR port</string>
- <string name="relay_nickname">Nama Relay</string>
- <string name="the_nickname_for_your_tor_relay">sebuah nama untuk Tor Relay anda</string>
- <string name="enter_a_custom_relay_nickname">Masukkan nama relay</string>
- <string name="reachable_addresses">Addresses Terjangkau</string>
- <string name="run_as_a_client_behind_a_firewall_with_restrictive_policies">Jalankan sebagai client dibalik firewall dengan ketentuan ketat</string>
- <string name="reachable_ports">Ports terjangkau</string>
- <string name="ports_reachable_behind_a_restrictive_firewall">Port terjangkau dibalik firewall ketat</string>
- <string name="enter_ports">Memasuki ports</string>
- <string name="enable_debug_log_to_output_must_use_adb_or_alogcat_to_view_">nyalakan debug log untuk output (harus menggunakan adb atau aLogCat untuk menampilkan)</string>
- <string name="project_home">Beranda Projek:</string>
- <string name="project_urls">https://www.torproject.org/docs/android https://guardianproject.info/apps/orbot/</string>
- <string name="third_party_software">Perangkat Lunak Pihak Ke-3:</string>
- <string name="tor_version">Tor: https://www.torproject.org</string>
- <string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="found_existing_tor_process">menemukan proses Tor yang ada…</string>
- <string name="something_bad_happened">Sesuatu yang buruk terjadi. Periksa log</string>
- <string name="unable_to_read_hidden_service_name">tidak dapat membaca nama layanan tersembunyi</string>
- <string name="unable_to_start_tor">Tidak dapat memulai Tor:</string>
- <string name="pref_use_persistent_notifications">Selalu pelihara icon dalam toolbar ketika Orbot terhubung</string>
- <string name="pref_use_persistent_notifications_title">Pemberitahuan Selalu-Hidup</string>
- <string name="pref_use_expanded_notifications">Tampilkan notifikasi melebar dengan negara dan IP keluar Tor</string>
- <string name="pref_use_expanded_notifications_title">Notifikasi Melebar</string>
- <string name="set_locale_title">Bahasa</string>
- <string name="pref_disable_network_title">Auto-Tidur Tidak Ada Jaringan</string>
- <string name="pref_disable_network_summary">Menempatkan Tor untuk tidur ketika tidak ada internet yang tersedia</string>
- <string name="newnym">Anda telah beralih ke identitas Tor baru!</string>
- <string name="updating_settings_in_tor_service">memperbarui setting pada layanan Tor</string>
- <string name="pref_socks_title">SOCKS Tor</string>
- <string name="pref_socks_summary">Port tempat proxy SOCKS Tor aktif (standar: 9050 atau 0 untuk mematikan)</string>
- <string name="pref_socks_dialog">Konfigurasi Port SOCKS</string>
- <string name="pref_transport_title">Port TransProxy Tor</string>
- <string name="pref_transport_summary">Port tempat Proxy Transparan Tor aktif (standar: 9040 atau 0 untuk mematikan)</string>
- <string name="pref_transport_dialog">Konfigurasi Port TransProxy</string>
- <string name="pref_dnsport_title">Port DNS Tor</string>
- <string name="pref_dnsport_summary">Port tempat DNS Tor aktif (standar: 5400 atau 0 untuk mematikan)</string>
- <string name="pref_dnsport_dialog">Konfigurasi Port DNS</string>
- <string name="pref_torrc_title">Konfigurasi Torrc</string>
- <string name="pref_torrc_summary">HANYA UNTUK AHLI: masukkan baris konfigurasi direct Torrc</string>
- <string name="pref_torrc_dialog">Torrc Custom</string>
- <string name="bridges_updated">Bridge Telah Diperbarui</string>
- <string name="restart_orbot_to_use_this_bridge_">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
- <string name="get_bridges_email">Email</string>
- <string name="send_email">Kirim Email</string>
- <string name="save">Simpan</string>
- <string name="name">Nama</string>
- <string name="done">Selesai!</string>
- <string name="please_restart_Orbot_to_enable_the_changes">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
- <string name="disable">Non Aktifkan</string>
- <string name="enable">Aktifkan</string>
-</resources>
diff --git a/app/src/main/res/values-in-rID/strings.xml b/app/src/main/res/values-in-rID/strings.xml
deleted file mode 100644
index 3f3b6e40..00000000
--- a/app/src/main/res/values-in-rID/strings.xml
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<resources>
- <string name="app_name">Orbot</string>
- <string name="app_description">Orbot adalah aplikasi proxy gratis yang membuat aplikasi-aplikasi lainnya dapat terkoneksi dengan internet secara aman. Orbot menggunakan Tor untuk mengenkripsi hubungan internet Anda dan menyalurkannya melewati berbagai komputer di seluruh dunia. Tor adalah software gratis dan layanan terbuka, yang membantu Anda menghindari pengawasan jaringan yang mengancam kebebasan pribadi dan privasi, aktivitas bisnis rahasia dan relasi, serta keamanan negara yang dikenal dengan analisis traffic.</string>
- <string name="status_starting_up">Orbot sedang memulai…</string>
- <string name="status_activated">Tersambung ke jaringan Tor</string>
- <string name="status_disabled">Orbot telah dibatalkan</string>
- <string name="status_shutting_down">TorService sedang dimatikan</string>
- <string name="menu_settings">Pengaturan</string>
- <string name="menu_log">Log</string>
- <string name="menu_start">Mulai</string>
- <string name="menu_stop">Berhenti</string>
- <string name="menu_about">Tentang</string>
- <string name="main_layout_download">Unduh</string>
- <string name="main_layout_upload">Unggah</string>
- <string name="button_about">Tentang</string>
- <string name="menu_exit">Keluar</string>
- <string name="menu_scan">Pindai BridgeQR</string>
- <string name="menu_share_bridge">Bagikan BridgeQR</string>
- <!--Welcome Wizard strings (DJH)-->
- <string name="wizard_details">Beberapa Rincian Orbot</string>
- <!--END Welcome Wizard strings (DJH)-->
- <string name="pref_general_group">Umum</string>
- <string name="pref_start_boot_title">Mulai Orbot saat Boot</string>
- <string name="pref_start_boot_summary">Secara otomatis memulai Orbot dan menghubungkan dengan Tor ketika perangkat Android anda boot</string>
- <!--New Wizard Strings-->
- <!--Title Screen-->
- <!--Warning screen-->
- <!--Permissions screen-->
- <!--TipsAndTricks screen-->
- <!--Transparent Proxy screen-->
- <string name="pref_node_configuration">Konfigurasi Simpul</string>
- <string name="pref_node_configuration_summary">Itu adalah pengaturan lanjutan yang dapat mengurangi anonimitas anda</string>
- <string name="pref_entrance_node">Simpul Masuk</string>
- <string name="pref_entrance_node_summary">Sidik jari, alias, negara dan alamat untuk loncatan pertama</string>
- <string name="pref_entrance_node_dialog">Masukkan Simpul Masuk</string>
- <string name="pref_allow_background_starts_title">Izinkan Memulai di Latar Belakang</string>
- <string name="pref_allow_background_starts_summary">Biarkan aplikasi lain memberitahu Orbot untuk memulai Tor dan layanan terkait</string>
- <string name="pref_proxy_title">Outbound Proxy Jaringan (Opsional)</string>
- <string name="pref_proxy_type_title">Outbound Jenis Proxy</string>
- <string name="pref_proxy_type_summary">Protokol yang digunakan untuk server proxy: HTTP, HTTPS, Socks4, Socks5</string>
- <string name="pref_proxy_type_dialog">Masukkan Jenis Proxy</string>
- <string name="pref_proxy_host_title">Outbound Host Proxy</string>
- <string name="pref_proxy_host_summary">Nama host Server Proxy</string>
- <string name="pref_proxy_host_dialog">Masukkan Host Proxy</string>
- <string name="pref_proxy_port_title">Outbound Port Proxy</string>
- <string name="pref_proxy_port_summary">Port Server Proxy</string>
- <string name="pref_proxy_port_dialog">Masukkan port Proxy</string>
- <string name="pref_proxy_username_title">Outbound Nama Pengguna Proxy</string>
- <string name="pref_proxy_username_summary">Nama Pengguna Proxy (Opsional)</string>
- <string name="pref_proxy_username_dialog">Masukkan Nama Pengguna Proxy</string>
- <string name="pref_proxy_password_title">Outbound Sandi Proxy</string>
- <string name="pref_proxy_password_summary">Sandi Proxy (Opsional)</string>
- <string name="pref_proxy_password_dialog">Masukkan Sandi Proxy</string>
- <string name="couldn_t_start_tor_process_">Tidak dapat memulai proses Tor:</string>
- <string name="error">Kesalahan</string>
- <string name="your_reachableaddresses_settings_caused_an_exception_">Pengaturan ReachableAddresses anda menyebabkan kesalahan!</string>
- <string name="your_relay_settings_caused_an_exception_">Pengaturan relay anda menyebabkan kesalahan!</string>
- <string name="exit_nodes">Node Keluar</string>
- <string name="fingerprints_nicks_countries_and_addresses_for_the_last_hop">fingerprints, nama, negara dan alamat untuk hop terakhir</string>
- <string name="enter_exit_nodes">Memasuki Node Keluar</string>
- <string name="exclude_nodes">Node pengecualian</string>
- <string name="fingerprints_nicks_countries_and_addresses_to_exclude">Pengecualian fingerprints,nama, negara dan alamat</string>
- <string name="enter_exclude_nodes">Memasuki Node Pengecualian</string>
- <string name="strict_nodes">Node Terlarang</string>
- <string name="use_only_these_specified_nodes">Pakai *hanya* spesifik node</string>
- <string name="bridges">Bridges</string>
- <string name="use_bridges">Pakai Bridges</string>
- <string name="relays">Relays</string>
- <string name="relaying">Sedang me-Relay</string>
- <string name="enable_your_device_to_be_a_non_exit_relay">Nyalakan perangkat anda menjadi non-exit relay</string>
- <string name="relay_port">Port Relay</string>
- <string name="listening_port_for_your_tor_relay">Port mendengarkan untuk TOR relay anda</string>
- <string name="enter_or_port">Memasuki OR port</string>
- <string name="relay_nickname">Nama Relay</string>
- <string name="the_nickname_for_your_tor_relay">sebuah nama untuk Tor Relay anda</string>
- <string name="enter_a_custom_relay_nickname">Masukkan nama relay</string>
- <string name="reachable_addresses">Addresses Terjangkau</string>
- <string name="run_as_a_client_behind_a_firewall_with_restrictive_policies">Jalankan sebagai client dibalik firewall dengan ketentuan ketat</string>
- <string name="reachable_ports">Ports terjangkau</string>
- <string name="ports_reachable_behind_a_restrictive_firewall">Port terjangkau dibalik firewall ketat</string>
- <string name="enter_ports">Memasuki ports</string>
- <string name="enable_debug_log_to_output_must_use_adb_or_alogcat_to_view_">nyalakan debug log untuk output (harus menggunakan adb atau aLogCat untuk menampilkan)</string>
- <string name="project_home">Beranda Projek:</string>
- <string name="project_urls">https://www.torproject.org/docs/android https://guardianproject.info/apps/orbot/</string>
- <string name="third_party_software">Perangkat Lunak Pihak Ke-3:</string>
- <string name="tor_version">Tor: https://www.torproject.org</string>
- <string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="found_existing_tor_process">menemukan proses Tor yang ada…</string>
- <string name="something_bad_happened">Sesuatu yang buruk terjadi. Periksa log</string>
- <string name="unable_to_read_hidden_service_name">tidak dapat membaca nama layanan tersembunyi</string>
- <string name="unable_to_start_tor">Tidak dapat memulai Tor:</string>
- <string name="pref_use_persistent_notifications">Selalu pelihara icon dalam toolbar ketika Orbot terhubung</string>
- <string name="pref_use_persistent_notifications_title">Pemberitahuan Selalu-Hidup</string>
- <string name="pref_use_expanded_notifications">Tampilkan notifikasi melebar dengan negara dan IP keluar Tor</string>
- <string name="pref_use_expanded_notifications_title">Notifikasi Melebar</string>
- <string name="set_locale_title">Bahasa</string>
- <string name="pref_disable_network_title">Auto-Tidur Tidak Ada Jaringan</string>
- <string name="pref_disable_network_summary">Menempatkan Tor untuk tidur ketika tidak ada internet yang tersedia</string>
- <string name="newnym">Anda telah beralih ke identitas Tor baru!</string>
- <string name="updating_settings_in_tor_service">memperbarui setting pada layanan Tor</string>
- <string name="pref_socks_title">SOCKS Tor</string>
- <string name="pref_socks_summary">Port tempat proxy SOCKS Tor aktif (standar: 9050 atau 0 untuk mematikan)</string>
- <string name="pref_socks_dialog">Konfigurasi Port SOCKS</string>
- <string name="pref_transport_title">Port TransProxy Tor</string>
- <string name="pref_transport_summary">Port tempat Proxy Transparan Tor aktif (standar: 9040 atau 0 untuk mematikan)</string>
- <string name="pref_transport_dialog">Konfigurasi Port TransProxy</string>
- <string name="pref_dnsport_title">Port DNS Tor</string>
- <string name="pref_dnsport_summary">Port tempat DNS Tor aktif (standar: 5400 atau 0 untuk mematikan)</string>
- <string name="pref_dnsport_dialog">Konfigurasi Port DNS</string>
- <string name="pref_torrc_title">Konfigurasi Torrc</string>
- <string name="pref_torrc_summary">HANYA UNTUK AHLI: masukkan baris konfigurasi direct Torrc</string>
- <string name="pref_torrc_dialog">Torrc Custom</string>
- <string name="bridges_updated">Bridge Telah Diperbarui</string>
- <string name="restart_orbot_to_use_this_bridge_">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
- <string name="get_bridges_email">Email</string>
- <string name="send_email">Kirim Email</string>
- <string name="please_restart_Orbot_to_enable_the_changes">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
-</resources>
diff --git a/app/src/main/res/values-in-rID/poestrings.xml b/app/src/main/res/values-in/poestrings.xml
similarity index 100%
rename from app/src/main/res/values-in-rID/poestrings.xml
rename to app/src/main/res/values-in/poestrings.xml
diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml
index 0c86a753..3f3b6e40 100644
--- a/app/src/main/res/values-in/strings.xml
+++ b/app/src/main/res/values-in/strings.xml
@@ -1,23 +1,119 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="app_name">Orbot</string>
- <string name="status_starting_up">Orbot sedang dimulai…</string>
- <string name="status_activated">Tersambung ke Jaringan Tor</string>
+ <string name="app_description">Orbot adalah aplikasi proxy gratis yang membuat aplikasi-aplikasi lainnya dapat terkoneksi dengan internet secara aman. Orbot menggunakan Tor untuk mengenkripsi hubungan internet Anda dan menyalurkannya melewati berbagai komputer di seluruh dunia. Tor adalah software gratis dan layanan terbuka, yang membantu Anda menghindari pengawasan jaringan yang mengancam kebebasan pribadi dan privasi, aktivitas bisnis rahasia dan relasi, serta keamanan negara yang dikenal dengan analisis traffic.</string>
+ <string name="status_starting_up">Orbot sedang memulai…</string>
+ <string name="status_activated">Tersambung ke jaringan Tor</string>
<string name="status_disabled">Orbot telah dibatalkan</string>
- <string name="status_shutting_down">Orbot sedang dimatikan</string>
- <string name="menu_settings">Pengaturan</string>
+ <string name="status_shutting_down">TorService sedang dimatikan</string>
+ <string name="menu_settings">Pengaturan</string>
<string name="menu_log">Log</string>
- <string name="menu_about">Mengenai</string>
- <string name="button_about">Mengenai</string>
+ <string name="menu_start">Mulai</string>
+ <string name="menu_stop">Berhenti</string>
+ <string name="menu_about">Tentang</string>
+ <string name="main_layout_download">Unduh</string>
+ <string name="main_layout_upload">Unggah</string>
+ <string name="button_about">Tentang</string>
<string name="menu_exit">Keluar</string>
- <!--Welcome Wizard strings (DJH)-->
+ <string name="menu_scan">Pindai BridgeQR</string>
+ <string name="menu_share_bridge">Bagikan BridgeQR</string>
+ <!--Welcome Wizard strings (DJH)-->
+ <string name="wizard_details">Beberapa Rincian Orbot</string>
<!--END Welcome Wizard strings (DJH)-->
- <string name="pref_general_group">Umum</string>
+ <string name="pref_general_group">Umum</string>
+ <string name="pref_start_boot_title">Mulai Orbot saat Boot</string>
+ <string name="pref_start_boot_summary">Secara otomatis memulai Orbot dan menghubungkan dengan Tor ketika perangkat Android anda boot</string>
<!--New Wizard Strings-->
<!--Title Screen-->
- <!--Warning screen-->
+ <!--Warning screen-->
<!--Permissions screen-->
- <!--TipsAndTricks screen-->
- <!--Transparent Proxy screen-->
+ <!--TipsAndTricks screen-->
+ <!--Transparent Proxy screen-->
+ <string name="pref_node_configuration">Konfigurasi Simpul</string>
+ <string name="pref_node_configuration_summary">Itu adalah pengaturan lanjutan yang dapat mengurangi anonimitas anda</string>
+ <string name="pref_entrance_node">Simpul Masuk</string>
+ <string name="pref_entrance_node_summary">Sidik jari, alias, negara dan alamat untuk loncatan pertama</string>
+ <string name="pref_entrance_node_dialog">Masukkan Simpul Masuk</string>
+ <string name="pref_allow_background_starts_title">Izinkan Memulai di Latar Belakang</string>
+ <string name="pref_allow_background_starts_summary">Biarkan aplikasi lain memberitahu Orbot untuk memulai Tor dan layanan terkait</string>
+ <string name="pref_proxy_title">Outbound Proxy Jaringan (Opsional)</string>
+ <string name="pref_proxy_type_title">Outbound Jenis Proxy</string>
+ <string name="pref_proxy_type_summary">Protokol yang digunakan untuk server proxy: HTTP, HTTPS, Socks4, Socks5</string>
+ <string name="pref_proxy_type_dialog">Masukkan Jenis Proxy</string>
+ <string name="pref_proxy_host_title">Outbound Host Proxy</string>
+ <string name="pref_proxy_host_summary">Nama host Server Proxy</string>
+ <string name="pref_proxy_host_dialog">Masukkan Host Proxy</string>
+ <string name="pref_proxy_port_title">Outbound Port Proxy</string>
+ <string name="pref_proxy_port_summary">Port Server Proxy</string>
+ <string name="pref_proxy_port_dialog">Masukkan port Proxy</string>
+ <string name="pref_proxy_username_title">Outbound Nama Pengguna Proxy</string>
+ <string name="pref_proxy_username_summary">Nama Pengguna Proxy (Opsional)</string>
+ <string name="pref_proxy_username_dialog">Masukkan Nama Pengguna Proxy</string>
+ <string name="pref_proxy_password_title">Outbound Sandi Proxy</string>
+ <string name="pref_proxy_password_summary">Sandi Proxy (Opsional)</string>
+ <string name="pref_proxy_password_dialog">Masukkan Sandi Proxy</string>
+ <string name="couldn_t_start_tor_process_">Tidak dapat memulai proses Tor:</string>
<string name="error">Kesalahan</string>
+ <string name="your_reachableaddresses_settings_caused_an_exception_">Pengaturan ReachableAddresses anda menyebabkan kesalahan!</string>
+ <string name="your_relay_settings_caused_an_exception_">Pengaturan relay anda menyebabkan kesalahan!</string>
+ <string name="exit_nodes">Node Keluar</string>
+ <string name="fingerprints_nicks_countries_and_addresses_for_the_last_hop">fingerprints, nama, negara dan alamat untuk hop terakhir</string>
+ <string name="enter_exit_nodes">Memasuki Node Keluar</string>
+ <string name="exclude_nodes">Node pengecualian</string>
+ <string name="fingerprints_nicks_countries_and_addresses_to_exclude">Pengecualian fingerprints,nama, negara dan alamat</string>
+ <string name="enter_exclude_nodes">Memasuki Node Pengecualian</string>
+ <string name="strict_nodes">Node Terlarang</string>
+ <string name="use_only_these_specified_nodes">Pakai *hanya* spesifik node</string>
+ <string name="bridges">Bridges</string>
+ <string name="use_bridges">Pakai Bridges</string>
+ <string name="relays">Relays</string>
+ <string name="relaying">Sedang me-Relay</string>
+ <string name="enable_your_device_to_be_a_non_exit_relay">Nyalakan perangkat anda menjadi non-exit relay</string>
+ <string name="relay_port">Port Relay</string>
+ <string name="listening_port_for_your_tor_relay">Port mendengarkan untuk TOR relay anda</string>
+ <string name="enter_or_port">Memasuki OR port</string>
+ <string name="relay_nickname">Nama Relay</string>
+ <string name="the_nickname_for_your_tor_relay">sebuah nama untuk Tor Relay anda</string>
+ <string name="enter_a_custom_relay_nickname">Masukkan nama relay</string>
+ <string name="reachable_addresses">Addresses Terjangkau</string>
+ <string name="run_as_a_client_behind_a_firewall_with_restrictive_policies">Jalankan sebagai client dibalik firewall dengan ketentuan ketat</string>
+ <string name="reachable_ports">Ports terjangkau</string>
+ <string name="ports_reachable_behind_a_restrictive_firewall">Port terjangkau dibalik firewall ketat</string>
+ <string name="enter_ports">Memasuki ports</string>
+ <string name="enable_debug_log_to_output_must_use_adb_or_alogcat_to_view_">nyalakan debug log untuk output (harus menggunakan adb atau aLogCat untuk menampilkan)</string>
+ <string name="project_home">Beranda Projek:</string>
+ <string name="project_urls">https://www.torproject.org/docs/android https://guardianproject.info/apps/orbot/</string>
+ <string name="third_party_software">Perangkat Lunak Pihak Ke-3:</string>
+ <string name="tor_version">Tor: https://www.torproject.org</string>
+ <string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
+ <string name="found_existing_tor_process">menemukan proses Tor yang ada…</string>
+ <string name="something_bad_happened">Sesuatu yang buruk terjadi. Periksa log</string>
+ <string name="unable_to_read_hidden_service_name">tidak dapat membaca nama layanan tersembunyi</string>
+ <string name="unable_to_start_tor">Tidak dapat memulai Tor:</string>
+ <string name="pref_use_persistent_notifications">Selalu pelihara icon dalam toolbar ketika Orbot terhubung</string>
+ <string name="pref_use_persistent_notifications_title">Pemberitahuan Selalu-Hidup</string>
+ <string name="pref_use_expanded_notifications">Tampilkan notifikasi melebar dengan negara dan IP keluar Tor</string>
+ <string name="pref_use_expanded_notifications_title">Notifikasi Melebar</string>
+ <string name="set_locale_title">Bahasa</string>
+ <string name="pref_disable_network_title">Auto-Tidur Tidak Ada Jaringan</string>
+ <string name="pref_disable_network_summary">Menempatkan Tor untuk tidur ketika tidak ada internet yang tersedia</string>
+ <string name="newnym">Anda telah beralih ke identitas Tor baru!</string>
+ <string name="updating_settings_in_tor_service">memperbarui setting pada layanan Tor</string>
+ <string name="pref_socks_title">SOCKS Tor</string>
+ <string name="pref_socks_summary">Port tempat proxy SOCKS Tor aktif (standar: 9050 atau 0 untuk mematikan)</string>
+ <string name="pref_socks_dialog">Konfigurasi Port SOCKS</string>
+ <string name="pref_transport_title">Port TransProxy Tor</string>
+ <string name="pref_transport_summary">Port tempat Proxy Transparan Tor aktif (standar: 9040 atau 0 untuk mematikan)</string>
+ <string name="pref_transport_dialog">Konfigurasi Port TransProxy</string>
+ <string name="pref_dnsport_title">Port DNS Tor</string>
+ <string name="pref_dnsport_summary">Port tempat DNS Tor aktif (standar: 5400 atau 0 untuk mematikan)</string>
+ <string name="pref_dnsport_dialog">Konfigurasi Port DNS</string>
+ <string name="pref_torrc_title">Konfigurasi Torrc</string>
+ <string name="pref_torrc_summary">HANYA UNTUK AHLI: masukkan baris konfigurasi direct Torrc</string>
+ <string name="pref_torrc_dialog">Torrc Custom</string>
+ <string name="bridges_updated">Bridge Telah Diperbarui</string>
+ <string name="restart_orbot_to_use_this_bridge_">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
+ <string name="get_bridges_email">Email</string>
+ <string name="send_email">Kirim Email</string>
+ <string name="please_restart_Orbot_to_enable_the_changes">Silakan start ulang Orbot untuk mengaktifkan perubahan</string>
</resources>
diff --git a/orbotservice/src/main/res/values-id/strings.xml b/orbotservice/src/main/res/values-id/strings.xml
deleted file mode 100644
index 61f38f07..00000000
--- a/orbotservice/src/main/res/values-id/strings.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
- <string name="app_name">Orbot</string>
- <string name="app_description">Orbot adalah aplikasi proxy gratis yang membuat aplikasi-aplikasi lainnya dapat terkoneksi dengan internet secara aman. Orbot menggunakan Tor untuk mengenkripsi hubungan internet anda dan menyalurkannya melewati berbagai komputer di seluruh dunia. Tor adalah software gratis dan suatu network terbuka, yang membantu anda menghindari pengawasan network yang mengancam kebebasan pribadi dan privasi, aktivitas bisnis rahasia dan relasi, serta keamanan negara yang dikenal dengan analisa traffic.</string>
- <string name="status_starting_up">Orbot sedang dimulai...</string>
- <string name="status_activated">Tersambung ke Jaringan Tor</string>
- <string name="status_disabled">Orbot telah dibatalkan</string>
- <string name="status_shutting_down">TorService dimatikan</string>
- <!--Welcome Wizard strings (DJH)-->
- <!--END Welcome Wizard strings (DJH)-->
- <!--New Wizard Strings-->
- <!--Title Screen-->
- <!--Warning screen-->
- <!--Permissions screen-->
- <!--TipsAndTricks screen-->
- <!--Transparent Proxy screen-->
- <string name="couldn_t_start_tor_process_">Tidak dapat memulai proses Tor:</string>
- <string name="your_reachableaddresses_settings_caused_an_exception_">Pengaturan ReachableAddresses anda menyebabkan kesalahan!</string>
- <string name="your_relay_settings_caused_an_exception_">Pengaturan relay anda menyebabkan kesalahan!</string>
- <string name="found_existing_tor_process">menemukan proses Tor yang ada...</string>
- <string name="something_bad_happened">Sesuatu yang buruk terjadi. Periksa log</string>
- <string name="unable_to_read_hidden_service_name">tidak dapat membaca nama layanan tersembunyi</string>
- <string name="unable_to_start_tor">Tidak dapat memulai Tor:</string>
- <string name="newnym">Anda telah beralih ke identitas Tor baru!</string>
- <string name="updating_settings_in_tor_service">memperbarui setting pada layanan Tor</string>
-</resources>
diff --git a/orbotservice/src/main/res/values-in-rID/strings.xml b/orbotservice/src/main/res/values-in-rID/strings.xml
deleted file mode 100644
index 61f38f07..00000000
--- a/orbotservice/src/main/res/values-in-rID/strings.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
- <string name="app_name">Orbot</string>
- <string name="app_description">Orbot adalah aplikasi proxy gratis yang membuat aplikasi-aplikasi lainnya dapat terkoneksi dengan internet secara aman. Orbot menggunakan Tor untuk mengenkripsi hubungan internet anda dan menyalurkannya melewati berbagai komputer di seluruh dunia. Tor adalah software gratis dan suatu network terbuka, yang membantu anda menghindari pengawasan network yang mengancam kebebasan pribadi dan privasi, aktivitas bisnis rahasia dan relasi, serta keamanan negara yang dikenal dengan analisa traffic.</string>
- <string name="status_starting_up">Orbot sedang dimulai...</string>
- <string name="status_activated">Tersambung ke Jaringan Tor</string>
- <string name="status_disabled">Orbot telah dibatalkan</string>
- <string name="status_shutting_down">TorService dimatikan</string>
- <!--Welcome Wizard strings (DJH)-->
- <!--END Welcome Wizard strings (DJH)-->
- <!--New Wizard Strings-->
- <!--Title Screen-->
- <!--Warning screen-->
- <!--Permissions screen-->
- <!--TipsAndTricks screen-->
- <!--Transparent Proxy screen-->
- <string name="couldn_t_start_tor_process_">Tidak dapat memulai proses Tor:</string>
- <string name="your_reachableaddresses_settings_caused_an_exception_">Pengaturan ReachableAddresses anda menyebabkan kesalahan!</string>
- <string name="your_relay_settings_caused_an_exception_">Pengaturan relay anda menyebabkan kesalahan!</string>
- <string name="found_existing_tor_process">menemukan proses Tor yang ada...</string>
- <string name="something_bad_happened">Sesuatu yang buruk terjadi. Periksa log</string>
- <string name="unable_to_read_hidden_service_name">tidak dapat membaca nama layanan tersembunyi</string>
- <string name="unable_to_start_tor">Tidak dapat memulai Tor:</string>
- <string name="newnym">Anda telah beralih ke identitas Tor baru!</string>
- <string name="updating_settings_in_tor_service">memperbarui setting pada layanan Tor</string>
-</resources>
diff --git a/orbotservice/src/main/res/values-in/strings.xml b/orbotservice/src/main/res/values-in/strings.xml
index 6ad2270a..61f38f07 100644
--- a/orbotservice/src/main/res/values-in/strings.xml
+++ b/orbotservice/src/main/res/values-in/strings.xml
@@ -1,16 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Orbot</string>
- <string name="status_starting_up">Orbot sedang dimulai…</string>
+ <string name="app_description">Orbot adalah aplikasi proxy gratis yang membuat aplikasi-aplikasi lainnya dapat terkoneksi dengan internet secara aman. Orbot menggunakan Tor untuk mengenkripsi hubungan internet anda dan menyalurkannya melewati berbagai komputer di seluruh dunia. Tor adalah software gratis dan suatu network terbuka, yang membantu anda menghindari pengawasan network yang mengancam kebebasan pribadi dan privasi, aktivitas bisnis rahasia dan relasi, serta keamanan negara yang dikenal dengan analisa traffic.</string>
+ <string name="status_starting_up">Orbot sedang dimulai...</string>
<string name="status_activated">Tersambung ke Jaringan Tor</string>
<string name="status_disabled">Orbot telah dibatalkan</string>
- <string name="status_shutting_down">Orbot sedang dimatikan</string>
+ <string name="status_shutting_down">TorService dimatikan</string>
<!--Welcome Wizard strings (DJH)-->
<!--END Welcome Wizard strings (DJH)-->
<!--New Wizard Strings-->
<!--Title Screen-->
- <!--Warning screen-->
+ <!--Warning screen-->
<!--Permissions screen-->
- <!--TipsAndTricks screen-->
- <!--Transparent Proxy screen-->
+ <!--TipsAndTricks screen-->
+ <!--Transparent Proxy screen-->
+ <string name="couldn_t_start_tor_process_">Tidak dapat memulai proses Tor:</string>
+ <string name="your_reachableaddresses_settings_caused_an_exception_">Pengaturan ReachableAddresses anda menyebabkan kesalahan!</string>
+ <string name="your_relay_settings_caused_an_exception_">Pengaturan relay anda menyebabkan kesalahan!</string>
+ <string name="found_existing_tor_process">menemukan proses Tor yang ada...</string>
+ <string name="something_bad_happened">Sesuatu yang buruk terjadi. Periksa log</string>
+ <string name="unable_to_read_hidden_service_name">tidak dapat membaca nama layanan tersembunyi</string>
+ <string name="unable_to_start_tor">Tidak dapat memulai Tor:</string>
+ <string name="newnym">Anda telah beralih ke identitas Tor baru!</string>
+ <string name="updating_settings_in_tor_service">memperbarui setting pada layanan Tor</string>
</resources>
1
0
commit cb7a0d56b1f6fee4b998cee054659492bd7f9d1e
Author: Ihor Hordiichuk <igor_ck(a)outlook.com>
Date: Sat May 1 22:52:59 2021 +0200
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (221 of 221 strings)
Co-authored-by: Ihor Hordiichuk <igor_ck(a)outlook.com>
Translate-URL: https://hosted.weblate.org/projects/guardianproject/orbot/uk/
Translation: Guardian Project/Orbot
---
app/src/main/res/values-uk/strings.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index 85560c09..407706c2 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -228,4 +228,5 @@
<string name="v2_hidden_services">Служби Onion v2 (застарілі)</string>
<string name="deny">Заборонити</string>
<string name="allow">Длзволити</string>
+ <string name="backup_port_exist">Помилка: служба Onion вже використовує порт %s</string>
</resources>
\ No newline at end of file
1
0
commit 3cf3f968d197e005bcebe73b64139ec149fc9a46
Author: Hans-Christoph Steiner <hans(a)eds.org>
Date: Wed Dec 18 15:48:55 2019 +0100
fix lint Typo: internett -> Internett
---
app-mini/src/main/res/values-nb/strings.xml | 4 ++--
app/src/main/res/values-nb/strings.xml | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/app-mini/src/main/res/values-nb/strings.xml b/app-mini/src/main/res/values-nb/strings.xml
index d1218888..ea675682 100644
--- a/app-mini/src/main/res/values-nb/strings.xml
+++ b/app-mini/src/main/res/values-nb/strings.xml
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="app_name">Orbot</string>
- <string name="app_description">Orbot er et friprog-mellomtjeningsprogram som gjør det mulig for andre programmer å bruke Internett sikrere. Orbot bruker Tor for å kryptere din internettrafikk, og skjuler da din trafikk ved å sende trafikken gjennom en lang rekke datamaskiner over hele verden. Tor er fri programvare, og et åpent nettverk som hjelper deg å forsvare deg mot en form for nettverksovervåking som truer din personlige frihet og privatliv, konfidensiell bedriftsvirksomhet og relasjoner, og statlig snoking kjent som trafikkanalyse.</string>
+ <string name="app_description">Orbot er et friprog-mellomtjeningsprogram som gjør det mulig for andre programmer å bruke Internett sikrere. Orbot bruker Tor for å kryptere din Internettrafikk, og skjuler da din trafikk ved å sende trafikken gjennom en lang rekke datamaskiner over hele verden. Tor er fri programvare, og et åpent nettverk som hjelper deg å forsvare deg mot en form for nettverksovervåking som truer din personlige frihet og privatliv, konfidensiell bedriftsvirksomhet og relasjoner, og statlig snoking kjent som trafikkanalyse.</string>
<string name="status_starting_up">Orbot starter…</string>
<string name="status_activated">Koblet til Tor-nettverket</string>
<string name="status_disabled">Orbot er deaktivert</string>
@@ -102,7 +102,7 @@
<string name="pref_use_expanded_notifications_title">Utvidede varsler</string>
<string name="set_locale_title">Språk</string>
<string name="pref_disable_network_title">Inget automatisk hvilemodus for nettverk</string>
- <string name="pref_disable_network_summary">Legg Tor i hvilemodus når nettilkobling til internett ikke er tilgjengelig</string>
+ <string name="pref_disable_network_summary">Legg Tor i hvilemodus når nettilkobling til Internett ikke er tilgjengelig</string>
<string name="newnym">Du har byttet til en ny Tor-identitet!</string>
<string name="updating_settings_in_tor_service">Oppdaterer innstillinger i Tor service</string>
<string name="pref_socks_title">Tor-SOCKS</string>
diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml
index a977907e..567d1c13 100644
--- a/app/src/main/res/values-nb/strings.xml
+++ b/app/src/main/res/values-nb/strings.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Orbot</string>
- <string name="app_description">Orbot er et friprog-mellomtjeningsprogram som gjør det mulig for andre programmer å bruke Internett sikrere. Orbot bruker Tor for å kryptere din internettrafikk, og skjuler da din trafikk ved å sende trafikken gjennom en lang rekke datamaskiner over hele verden. Tor er fri programvare, og et åpent nettverk som hjelper deg å forsvare deg mot en form for nettverksovervåking som truer din personlige frihet og privatliv, konfidensiell bedriftsvirksomhet og relasjoner, og statlig snoking kjent som trafikkanalyse.</string>
+ <string name="app_description">Orbot er et friprog-mellomtjeningsprogram som gjør det mulig for andre programmer å bruke Internett sikrere. Orbot bruker Tor for å kryptere din Internettrafikk, og skjuler da din trafikk ved å sende trafikken gjennom en lang rekke datamaskiner over hele verden. Tor er fri programvare, og et åpent nettverk som hjelper deg å forsvare deg mot en form for nettverksovervåking som truer din personlige frihet og privatliv, konfidensiell bedriftsvirksomhet og relasjoner, og statlig snoking kjent som trafikkanalyse.</string>
<string name="status_starting_up">Orbot starter…</string>
<string name="status_activated">Koblet til Tor-nettverket</string>
<string name="status_disabled">Orbot er deaktivert</string>
1
0
22 Dec '21
commit c90508fd43e22f2875cab2a2f3c97df2ad488e7d
Author: Eric <spice2wolf(a)gmail.com>
Date: Sat May 1 22:52:59 2021 +0200
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (221 of 221 strings)
Co-authored-by: Eric <spice2wolf(a)gmail.com>
Translate-URL: https://hosted.weblate.org/projects/guardianproject/orbot/zh_Hans/
Translation: Guardian Project/Orbot
---
app/src/main/res/values-zh-rCN/strings.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index aa5eadc0..27f07983 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -228,4 +228,5 @@
<string name="v2_hidden_services">v2 Onion 服务 (已废弃)</string>
<string name="deny">拒绝</string>
<string name="allow">允许</string>
+ <string name="backup_port_exist">错误:一个 Onion 服务已经在使用端口 %s</string>
</resources>
\ No newline at end of file
1
0
22 Dec '21
commit 3c401120c182feb3122d2932502a514aa30d9e80
Author: Hans-Christoph Steiner <hans(a)eds.org>
Date: Tue May 4 10:50:20 2021 +0200
update gradle wrapper to match gradle version
./gradlew wrapper --gradle-distribution all --gradle-version 6.7.1 \
--gradle-distribution-sha256-sum 22449f5231796abd892c98b2a07c9ceebe4688d192cd2d6763f8e3bf8acbedeb
---
gradle/wrapper/gradle-wrapper.jar | Bin 58910 -> 59203 bytes
gradle/wrapper/gradle-wrapper.properties | 6 +++---
gradlew | 2 +-
gradlew.bat | 21 +++------------------
4 files changed, 7 insertions(+), 22 deletions(-)
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 62d4c053..e708b1c0 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 5cadd771..cdc95ef6 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Wed Apr 28 17:39:30 EDT 2021
distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
distributionPath=wrapper/dists
-zipStorePath=wrapper/dists
+distributionSha256Sum=22449f5231796abd892c98b2a07c9ceebe4688d192cd2d6763f8e3bf8acbedeb
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
index fbd7c515..4f906e0c 100755
--- a/gradlew
+++ b/gradlew
@@ -130,7 +130,7 @@ fi
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
-
+
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
diff --git a/gradlew.bat b/gradlew.bat
index a9f778a7..ac1b06f9 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
+if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
@@ -54,7 +54,7 @@ goto fail
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-if exist "%JAVA_EXE%" goto init
+if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
@@ -64,21 +64,6 @@ echo location of your Java installation.
goto fail
-:init
-@rem Get command-line arguments, handling Windows variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-
:execute
@rem Setup the command line
@@ -86,7 +71,7 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
1
0
[orbot/master] "he" is a long deprecated locale for Hebrew. "iw" is canonical
by n8fr8@torproject.org 22 Dec '21
by n8fr8@torproject.org 22 Dec '21
22 Dec '21
commit 9fe040935f329528c929620e85f2732b126ce404
Author: Hans-Christoph Steiner <hans(a)eds.org>
Date: Tue May 4 11:44:55 2021 +0200
"he" is a long deprecated locale for Hebrew. "iw" is canonical
---
app-mini/src/main/res/values-he/strings.xml | 184 -----------------------
app/src/main/res/values-he/strings.xml | 190 ------------------------
lint.xml | 8 +-
orbotservice/src/main/res/values-he/strings.xml | 23 ---
4 files changed, 1 insertion(+), 404 deletions(-)
diff --git a/app-mini/src/main/res/values-he/strings.xml b/app-mini/src/main/res/values-he/strings.xml
deleted file mode 100644
index 28552309..00000000
--- a/app-mini/src/main/res/values-he/strings.xml
+++ /dev/null
@@ -1,184 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<resources>
- <string name="app_name">Orbot</string>
- <string name="app_description">Orbot הוא יישום חינמי של יפוי־כוח המעצים יישומים אחרים להשתמש באינטרנט יותר בבטחה. Orbot משתמש ב-Tor כדי להצפין את תעבורת האינטרנט שלך ואז מסתיר אותה באמצעות הקפצה דרך סדרת מחשבים ברחבי העולם. Tor הוא תוכנה חינמית ורשת פתוחה העוזרת לך להתגונן מפני צורה של מעקב ברשת המאיים על חירות אישית ופרטיות, פעילויות עסקיות חשאיות, ובטחון מדינה המוכר בשם ניתוח תעבורה.</string>
- <string name="status_starting_up">Orbot מתחיל…</string>
- <string name="status_activated">מחובר לרשת Tor</string>
- <string name="status_disabled">Orbot כבוי</string>
- <string name="status_shutting_down">שירות Tor מתכבה</string>
- <string name="menu_settings">הגדרות</string>
- <string name="menu_log">יומן</string>
- <string name="menu_start">התחל</string>
- <string name="menu_stop">עצור</string>
- <string name="menu_about">אודות</string>
- <string name="main_layout_download">הורדה</string>
- <string name="main_layout_upload">העלאה</string>
- <string name="button_about">אודות</string>
- <string name="menu_exit">יציאה</string>
- <string name="menu_scan">סרוק BridgeQR</string>
- <string name="menu_share_bridge">שתף BridgeQR</string>
- <string name="btn_okay">אישור</string>
- <!--Welcome Wizard strings (DJH)-->
- <string name="wizard_details">פרטים מסוימים של Orbot </string>
- <string name="wizard_details_msg">Orbot הוא יישום מקור־פתוח אשר מכיל את Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent ו-Polipo. הוא מספק יפוי־כוח מקומי של HTTP (פתחה 8118) ויפוי־כוח SOCKS (פתחה 9050) לתוך רשת Tor. ל-Orbot יש גם את היכולת, במכשירים עם הרשאת שורש, לשלוח את כל תעבורת האינטרנט באמצעות Tor.</string>
- <!--END Welcome Wizard strings (DJH)-->
- <string name="pref_general_group">כללי</string>
- <string name="pref_start_boot_title">התחל את Orbot בהדלקת המכשיר</string>
- <string name="pref_start_boot_summary">התחל את Orbot והתחבר לרשת Tor אוטומטית כאשר המכשיר נדלק</string>
- <!--New Wizard Strings-->
- <!--Title Screen-->
- <!--Warning screen-->
- <!--Permissions screen-->
- <!--TipsAndTricks screen-->
- <!--Transparent Proxy screen-->
- <string name="pref_node_configuration">הגדרות Node</string>
- <string name="pref_node_configuration_summary">קיימות הגדרות מתקדמות שיכולות להפחית את האנונימיות שלך</string>
- <string name="pref_entrance_node">Entrance Nodes</string>
- <string name="pref_entrance_node_summary">טביעות אצבע, כינויים, ארצות וכתובות עבור המעבר הראשון</string>
- <string name="pref_entrance_node_dialog">הכנס Entrance Nodes</string>
- <string name="pref_allow_background_starts_title">אפשר הפעלה ברקע</string>
- <string name="pref_allow_background_starts_summary">אפשר לכל אפליקציה להפעיל דרך Orbot את Tor ושאר השירותים הקשורים</string>
- <string name="pref_proxy_title">רשת יפוי־כוח יוצאת (רשותי)</string>
- <string name="pref_proxy_type_title">Outbound Proxy Type</string>
- <string name="pref_proxy_type_summary">פרוטוקול לשימוש עבור שרת יפוי־כוח: HTTP, HTTPS, Socks4, Socks5</string>
- <string name="pref_proxy_type_dialog">הכנס סוג יפוי־כוח</string>
- <string name="pref_proxy_host_title">מארח של Outbound Proxy</string>
- <string name="pref_proxy_host_summary">שם מארח של שרת יפוי־כוח</string>
- <string name="pref_proxy_host_dialog">הכנס מארח יפוי־כוח</string>
- <string name="pref_proxy_port_title">פתחת יפוי־כוח של Outbound</string>
- <string name="pref_proxy_port_summary">פתחת שרת יפוי־כוח</string>
- <string name="pref_proxy_port_dialog">הכנס פתחת יפוי־כוח</string>
- <string name="pref_proxy_username_title">שם משתמש של Outbound Proxy</string>
- <string name="pref_proxy_username_summary">שם משתמש של יפוי־כוח (רשותי)</string>
- <string name="pref_proxy_username_dialog">הכנס שם משתמש של יפוי־כוח</string>
- <string name="pref_proxy_password_title">סיסמא של Outbound Proxy</string>
- <string name="pref_proxy_password_summary">סיסמת יפוי־כוח (רשותי)</string>
- <string name="pref_proxy_password_dialog">הכנס סיסמת יפוי־כוח</string>
- <string name="couldn_t_start_tor_process_">אין אפשרות להתחיל תהליך Tor:</string>
- <string name="error">שגיאה</string>
- <string name="your_reachableaddresses_settings_caused_an_exception_">ההגדרות של הכתובות הנגישות שלך גרמו לחריגה!</string>
- <string name="your_relay_settings_caused_an_exception_">הגדרות הממסר שלך גרמו לחריגה!</string>
- <string name="exit_nodes">צמתי יציאה</string>
- <string name="fingerprints_nicks_countries_and_addresses_for_the_last_hop">טביעות אצבע, כינויים, מדינות וכתובות עבור הניתור האחרון.</string>
- <string name="enter_exit_nodes">הזן צמתי יציאה</string>
- <string name="exclude_nodes">צמתים מוצאים</string>
- <string name="fingerprints_nicks_countries_and_addresses_to_exclude">טביעות אצבע, כינויים, מדינות וכתובות לשלילה</string>
- <string name="enter_exclude_nodes">הזן צמתים מוצאים</string>
- <string name="strict_nodes">צמתים קפדנים</string>
- <string name="use_only_these_specified_nodes">השתמש *רק* בצמתים מצוינים אלו</string>
- <string name="bridges">גשרים</string>
- <string name="use_bridges">השתמש בגשרים</string>
- <string name="enable_alternate_entrance_nodes_into_the_tor_network">אפשר כניסות חלופיות לתוך רשת Tor</string>
- <string name="ip_address_and_port_of_bridges">כתובת IP ופתחה של גשרים</string>
- <string name="enter_bridge_addresses">הכנס כתובות גשר</string>
- <string name="relays">ממסרים</string>
- <string name="relaying">ממסור</string>
- <string name="enable_your_device_to_be_a_non_exit_relay">אפשר למכשיר שלך להיות תחנת ממסר שאיננה יציאה</string>
- <string name="relay_port">פתחת הממסר</string>
- <string name="listening_port_for_your_tor_relay">פתחת האזנה עבור ממסר Tor שלך</string>
- <string name="enter_or_port"> הכנס פתחת OR</string>
- <string name="relay_nickname">כינוי הממסר</string>
- <string name="the_nickname_for_your_tor_relay">הכינוי לממסר Tor שלך</string>
- <string name="enter_a_custom_relay_nickname">הזן כינוי עבור ממסר</string>
- <string name="reachable_addresses">כתובות נגישות</string>
- <string name="run_as_a_client_behind_a_firewall_with_restrictive_policies">הרץ כלקוח תחת חומת אש עם מדינויות מגבילות</string>
- <string name="reachable_ports">פתחות נגישות</string>
- <string name="ports_reachable_behind_a_restrictive_firewall">פתחות נגישות מאוחרי חומת אש מגבילה</string>
- <string name="enter_ports">הכנס פתחות</string>
- <string name="enable_debug_log_to_output_must_use_adb_or_alogcat_to_view_">אפשר יומן ניפוי תקלים אל פלט (חייב להשתמש ב-adb או ב-aLogCat כדי להציג)</string>
- <string name="project_home">אתרי הפרויקט:</string>
- <string name="project_urls">https://www.torproject.org/docs/android\nhttps://guardianproject.info/apps/…</string>
- <string name="third_party_software">תוכנה-צד-ג׳: </string>
- <string name="tor_version">Tor: https://www.torproject.org</string>
- <string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="polipo_version">Polipo v1.1.9: https://github.com/jech/polipo</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
- <string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
- <string name="hidden_service_request">יישום רוצה לפתוח פתחה של שרת נסתר %1$s אל רשת Tor. זה בטוח אם אתה בוטח ביישום.</string>
- <string name="found_existing_tor_process">נמצא תהליך Tor קיים…</string>
- <string name="something_bad_happened">משהו רע התרחש. בדוק את היומן</string>
- <string name="unable_to_read_hidden_service_name">לא היה ניתן לקרוא שם של שירות נסתר</string>
- <string name="unable_to_start_tor">לא מסוגל להתחיל את Tor:</string>
- <string name="pref_use_persistent_notifications">לשמור תמיד את האיקון בסרגל כלים כשאורבוט מחובר</string>
- <string name="pref_use_persistent_notifications_title">התראות תמיד-פועל</string>
- <string name="pref_use_expanded_notifications">הראה התראה מורחבת עם מדינת יציאה ו-IP יציאה של Tor</string>
- <string name="pref_use_expanded_notifications_title">התראות מורחבות</string>
- <string name="set_locale_title">שפה</string>
- <string name="pref_disable_network_title">אין שינה אוטומטית של רשת</string>
- <string name="pref_disable_network_summary">כבה את Tor כאשר אין חיבור לאינטרנט</string>
- <string name="newnym">החלפת אל זהות Tor חדשה!</string>
- <string name="updating_settings_in_tor_service">מעדכן הגדרות Tor במכשיר</string>
- <string name="pref_socks_title">Tor SOCKS</string>
- <string name="pref_socks_summary">פתחה אשר Tor מציע את יפוי־הכוח SOCKS שלו עליה (ברירת מחדל: 9050 או 0 כדי להשבית)</string>
- <string name="pref_socks_dialog">תצורת פתחות SOCKS</string>
- <string name="pref_transport_title">פתחת Tor TransProxy</string>
- <string name="pref_transport_summary">פתחה אשר Tor מציע את יפוי־הכוח השקוף שלו עליה (ברירת מחדל: 9040 או 0 כדי להשבית)</string>
- <string name="pref_transport_dialog">תצורת פתחות TransProxy</string>
- <string name="pref_dnsport_title">פתחת DNS של Tor</string>
- <string name="pref_dnsport_summary">פתחה אשר Tor מציע את ה-DNS שלו עליה (ברירת מחדל: 5400 או 0 כדי להשבית)</string>
- <string name="pref_dnsport_dialog">תצורה של פתחת DNS</string>
- <string name="pref_torrc_title">תצורה מותאמת אישית של Torrc</string>
- <string name="pref_torrc_summary">מומחים בלבד: הכנס שורות תצורת torrc ישיר</string>
- <string name="pref_torrc_dialog">Torrc מותאם אישית</string>
- <string name="kb">ק\"ב</string>
- <string name="mb">מ\"ב</string>
- <string name="bridges_updated">גשרים עודכנו</string>
- <string name="restart_orbot_to_use_this_bridge_">אנא הפעל מחדש את Orbot כדי לאפשר את השינויים</string>
- <string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">אם פעילות הרשת הניידת שלך חוסמת את Tor, אתה יכול להשתמש ב\'שרת גשר\' כדרך חלופית להיכנס. בחר אחת מאפשרויות כדי להגדיר ולבחון...</string>
- <string name="get_bridges_email">דוא\"ל</string>
- <string name="activate">הפעל</string>
- <string name="apps_mode">מצב VPN</string>
- <string name="send_email">שלח דוא\"ל</string>
- <string name="vpn_default_world">עולמי (אוטומטי)</string>
- <string name="hidden_services">שירותים נסתרים</string>
- <string name="title_activity_hidden_services">שירותים נסתרים</string>
- <string name="menu_hidden_services">שירותים נסתרים</string>
- <string name="save">שמור את</string>
- <string name="local_port">פתחה מקומית</string>
- <string name="onion_port">פתחת בצל</string>
- <string name="name">שם</string>
- <string name="done">הסתיים!</string>
- <string name="copy_address_to_clipboard">העתק כתובת ללוח עריכה</string>
- <string name="show_auth_cookie">הראה עוגיית אימות</string>
- <string name="backup_service">גבה שירות</string>
- <string name="delete_service">מחק שירות</string>
- <string name="backup_saved_at_external_storage">גיבוי נשמר באחסון חיצוני</string>
- <string name="backup_restored">גיבוי שוחזר</string>
- <string name="restore_backup">שחזר גיבוי</string>
- <string name="start_tor_again_for_finish_the_process">הפעל את Tor שוב כדי לסיים את התהליך</string>
- <string name="confirm_service_deletion">אשר מחיקת שירות</string>
- <string name="click_again_for_backup">לחץ שוב לגיבוי</string>
- <string name="service_type">סוג שירות</string>
- <string name="auth_cookie">עוגיית אימות</string>
- <string name="copy_cookie_to_clipboard">העתק עוגייה ללוח עריכה</string>
- <string name="auth_cookie_was_not_configured">עוגיית אימות לא הוגדרה</string>
- <string name="please_restart_Orbot_to_enable_the_changes">אנא הפעל מחדש את Orbot כדי לאפשר את השינויים</string>
- <string name="client_cookies">עוגיות לקוח</string>
- <string name="onion">.onion</string>
- <string name="cookie_from_QR">קרא מתוך QR</string>
- <string name="backup_cookie">גבה עוגייה</string>
- <string name="delete_cookie">מחק עוגייה</string>
- <string name="confirm_cookie_deletion">אשר מחיקת עוגייה</string>
- <string name="hosted_services">שירותים מאורחים</string>
- <string name="share_as_qr">שתף בתור QR</string>
- <string name="disable">השבת</string>
- <string name="enable">אפשר</string>
- <string name="consider_disable_battery_optimizations">שקול להשבית מיטובי סוללה</string>
- <string name="consider_enable_battery_optimizations">שקול לאפשר מיטובי סוללה</string>
- <string name="pref_isolate_dest">בודד כתובות יעד</string>
- <string name="pref_isolate_dest_summary">השתמש במעגל שונה לכל כתובת יעד</string>
- <string name="pref_connection_padding">ריפוד חיבור</string>
- <string name="pref_connection_padding_summary">אפשר תמיד ריפוד חיבור כדי להגן מפני צורות מסוימות של ניתוח תעבורה. ברירת מחדל: אוטומטי</string>
- <string name="pref_reduced_connection_padding">הופחת ריפוד חיבור</string>
- <string name="pref_reduced_connection_padding_summary">סוגר חיבורי ממסר מוקדם יותר ושולח פחות חבילות מידע ריפוד כדי להפחית שימוש של נתונים וסוללה.</string>
- <string name="app_shortcuts">יישומים מאופשרי־Tor</string>
- <string name="testing_bridges">בוחן חיבור גשר אל Tor...</string>
- <string name="testing_bridges_success">הצלחה. תצורת הגשר טובה!</string>
- <string name="testing_bridges_fail">נכשל. נסה אפשרות אחרת</string>
- <string name="bridge_direct_connect">התחבר ישירות אל Tor (הכי טוב)</string>
- <string name="bridge_community">התחבר באמצעות שרתי קהילה</string>
- <string name="bridge_cloud">התחבר באמצעות שרתי ענן</string>
- <string name="trouble_connecting">בעית התחברות?</string>
- <string name="full_device_vpn">VPN מכשיר מלא</string>
- <string name="vpn_disabled">VPN מושבת</string>
-</resources>
diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml
deleted file mode 100644
index 14e5794d..00000000
--- a/app/src/main/res/values-he/strings.xml
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
- <string name="app_name">Orbot</string>
- <string name="app_description">Orbot הוא יישום חינמי של יפוי־כוח המעצים יישומים אחרים להשתמש באינטרנט יותר בבטחה. Orbot משתמש ב-Tor כדי להצפין את תעבורת האינטרנט שלך ואז מסתיר אותה באמצעות הקפצה דרך סדרת מחשבים ברחבי העולם. Tor הוא תוכנה חינמית ורשת פתוחה העוזרת לך להתגונן מפני צורה של מעקב ברשת המאיים על חירות אישית ופרטיות, פעילויות עסקיות חשאיות, ובטחון מדינה המוכר בשם ניתוח תעבורה.</string>
- <string name="status_starting_up">Orbot מתחיל…</string>
- <string name="status_activated">מחובר לרשת Tor</string>
- <string name="status_disabled">Orbot כבוי</string>
- <string name="status_shutting_down">שירות Tor מתכבה</string>
- <string name="menu_settings">הגדרות</string>
- <string name="menu_log">יומן</string>
- <string name="menu_start">התחל</string>
- <string name="menu_stop">עצור</string>
- <string name="menu_about">אודות</string>
- <string name="main_layout_download">הורדה</string>
- <string name="main_layout_upload">העלאה</string>
- <string name="button_about">אודות</string>
- <string name="menu_exit">יציאה</string>
- <string name="menu_scan">סרוק BridgeQR</string>
- <string name="menu_share_bridge">שתף BridgeQR</string>
- <!--Welcome Wizard strings (DJH)-->
- <string name="wizard_details">פרטים מסוימים של Orbot </string>
- <string name="wizard_details_msg">Orbot הוא יישום מקור־פתוח אשר מכיל את Tor, Obfs4Proxy, BadVPN Tun2Socks, LibEvent ו-Polipo. הוא מספק יפוי־כוח מקומי של HTTP (פתחה 8118) ויפוי־כוח SOCKS (פתחה 9050) לתוך רשת Tor. ל-Orbot יש גם את היכולת, במכשירים עם הרשאת שורש, לשלוח את כל תעבורת האינטרנט באמצעות Tor.</string>
- <!--END Welcome Wizard strings (DJH)-->
- <string name="pref_general_group">כללי</string>
- <string name="pref_start_boot_title">התחל את Orbot בהדלקת המכשיר</string>
- <string name="pref_start_boot_summary">התחל את Orbot והתחבר לרשת Tor אוטומטית כאשר המכשיר נדלק</string>
- <!--New Wizard Strings-->
- <!--Title Screen-->
- <!--Warning screen-->
- <!--Permissions screen-->
- <!--TipsAndTricks screen-->
- <!--Transparent Proxy screen-->
- <string name="pref_node_configuration">הגדרות Node</string>
- <string name="pref_node_configuration_summary">קיימות הגדרות מתקדמות שיכולות להפחית את האנונימיות שלך</string>
- <string name="pref_entrance_node">נקודות כניסה</string>
- <string name="pref_entrance_node_summary">טביעות אצבע, כינויים, ארצות וכתובות עבור המעבר הראשון</string>
- <string name="pref_entrance_node_dialog">הכנס Entrance Nodes</string>
- <string name="pref_allow_background_starts_title">אפשר הפעלה ברקע</string>
- <string name="pref_allow_background_starts_summary">אפשר לכל אפליקציה להפעיל דרך Orbot את Tor ושאר השירותים הקשורים</string>
- <string name="pref_proxy_title">רשת יפוי־כוח יוצאת (רשותי)</string>
- <string name="pref_proxy_type_title">סוג מתווך יוצא</string>
- <string name="pref_proxy_type_summary">פרוטוקול לשימוש עבור שרת יפוי־כוח: HTTP, HTTPS, Socks4, Socks5</string>
- <string name="pref_proxy_type_dialog">הכנס סוג יפוי־כוח</string>
- <string name="pref_proxy_host_title">מארח של Outbound Proxy</string>
- <string name="pref_proxy_host_summary">שם מארח של שרת יפוי־כוח</string>
- <string name="pref_proxy_host_dialog">הכנס מארח יפוי־כוח</string>
- <string name="pref_proxy_port_title">פתחת יפוי־כוח של Outbound</string>
- <string name="pref_proxy_port_summary">פתחת שרת יפוי־כוח</string>
- <string name="pref_proxy_port_dialog">הכנס פתחת יפוי־כוח</string>
- <string name="pref_proxy_username_title">שם משתמש של Outbound Proxy</string>
- <string name="pref_proxy_username_summary">שם משתמש של יפוי־כוח (רשותי)</string>
- <string name="pref_proxy_username_dialog">הכנס שם משתמש של יפוי־כוח</string>
- <string name="pref_proxy_password_title">סיסמא של Outbound Proxy</string>
- <string name="pref_proxy_password_summary">סיסמת יפוי־כוח (רשותי)</string>
- <string name="pref_proxy_password_dialog">הכנס סיסמת יפוי־כוח</string>
- <string name="couldn_t_start_tor_process_">אין אפשרות להתחיל תהליך Tor:</string>
- <string name="error">שגיאה</string>
- <string name="your_reachableaddresses_settings_caused_an_exception_">ההגדרות של הכתובות הנגישות שלך גרמו לחריגה!</string>
- <string name="your_relay_settings_caused_an_exception_">הגדרות הממסר שלך גרמו לחריגה!</string>
- <string name="exit_nodes">צמתי יציאה</string>
- <string name="fingerprints_nicks_countries_and_addresses_for_the_last_hop">טביעות אצבע, כינויים, מדינות וכתובות עבור נקודת הגישור האחרונה</string>
- <string name="enter_exit_nodes">הזן צמתי יציאה</string>
- <string name="exclude_nodes">צמתים מוצאים</string>
- <string name="fingerprints_nicks_countries_and_addresses_to_exclude">טביעות אצבע, כינויים, מדינות וכתובות לשלילה</string>
- <string name="enter_exclude_nodes">הזן צמתים מוצאים</string>
- <string name="strict_nodes">צמתים קפדנים</string>
- <string name="use_only_these_specified_nodes">השתמש *רק* בצמתים מצוינים אלו</string>
- <string name="bridges">גשרים</string>
- <string name="use_bridges">השתמש בגשרים</string>
- <string name="relays">ממסרים</string>
- <string name="relaying">ממסור</string>
- <string name="enable_your_device_to_be_a_non_exit_relay">אפשר למכשיר שלך להיות תחנת ממסר שאיננה יציאה</string>
- <string name="relay_port">פתחת הממסר</string>
- <string name="listening_port_for_your_tor_relay">פתחת האזנה עבור ממסר Tor שלך</string>
- <string name="enter_or_port"> הכנס פתחת OR</string>
- <string name="relay_nickname">כינוי הממסר</string>
- <string name="the_nickname_for_your_tor_relay">הכינוי לממסר Tor שלך</string>
- <string name="enter_a_custom_relay_nickname">הזן כינוי עבור ממסר</string>
- <string name="reachable_addresses">כתובות נגישות</string>
- <string name="run_as_a_client_behind_a_firewall_with_restrictive_policies">הרץ כלקוח תחת חומת אש עם מדינויות מגבילות</string>
- <string name="reachable_ports">פתחות נגישות</string>
- <string name="ports_reachable_behind_a_restrictive_firewall">פתחות נגישות מאוחרי חומת אש מגבילה</string>
- <string name="enter_ports">הכנס פתחות</string>
- <string name="enable_debug_log_to_output_must_use_adb_or_alogcat_to_view_">אפשר יומן ניפוי תקלים אל פלט (חייב להשתמש ב-adb או ב-aLogCat כדי להציג)</string>
- <string name="project_home">אתרי הפרויקט:</string>
- <string name="project_urls">https://www.torproject.org/docs/android\nhttps://guardianproject.info/apps/…</string>
- <string name="third_party_software">תוכנה-צד-ג׳: </string>
- <string name="tor_version">Tor: https://www.torproject.org</string>
- <string name="libevent_version">LibEvent v2.0.21: http://www.monkey.org/~provos/libevent/</string>
- <string name="obfsproxy_version">Obfs4proxy v0.0.8: https://github.com/Yawning/obfs4</string>
- <string name="openssl_version">OpenSSL v1.0.2j: http://www.openssl.org</string>
- <string name="hidden_service_request">יישום רוצה לפתוח פתחה של שרת נסתר %1$s אל רשת Tor. זה בטוח אם אתה בוטח ביישום.</string>
- <string name="found_existing_tor_process">נמצא תהליך Tor קיים…</string>
- <string name="something_bad_happened">משהו רע התרחש. בדוק את היומן</string>
- <string name="unable_to_read_hidden_service_name">לא היה ניתן לקרוא שם של שירות נסתר</string>
- <string name="unable_to_start_tor">לא מסוגל להתחיל את Tor:</string>
- <string name="pref_use_persistent_notifications">לשמור תמיד את האיקון בסרגל כלים כשאורבוט מחובר</string>
- <string name="pref_use_persistent_notifications_title">התראות תמיד-פועל</string>
- <string name="pref_use_expanded_notifications">הראה התראה מורחבת עם מדינת יציאה ו-IP יציאה של Tor</string>
- <string name="pref_use_expanded_notifications_title">התראות מורחבות</string>
- <string name="set_locale_title">שפה</string>
- <string name="pref_disable_network_title">אין שינה אוטומטית של רשת</string>
- <string name="pref_disable_network_summary">כבה את Tor כאשר אין חיבור לאינטרנט</string>
- <string name="newnym">החלפת אל זהות Tor חדשה!</string>
- <string name="updating_settings_in_tor_service">מעדכן הגדרות Tor במכשיר</string>
- <string name="pref_socks_title">SOCKS עבור Tor</string>
- <string name="pref_socks_summary">פתחה אשר Tor מציע את יפוי־הכוח SOCKS שלו עליה (ברירת מחדל: 9050 או 0 כדי להשבית)</string>
- <string name="pref_socks_dialog">תצורת פתחות SOCKS</string>
- <string name="pref_transport_title">פתחת Tor TransProxy</string>
- <string name="pref_transport_summary">פתחה אשר Tor מציע את יפוי־הכוח השקוף שלו עליה (ברירת מחדל: 9040 או 0 כדי להשבית)</string>
- <string name="pref_transport_dialog">תצורת פתחות TransProxy</string>
- <string name="pref_dnsport_title">פתחת DNS של Tor</string>
- <string name="pref_dnsport_summary">פתחה אשר Tor מציע את ה-DNS שלו עליה (ברירת מחדל: 5400 או 0 כדי להשבית)</string>
- <string name="pref_dnsport_dialog">תצורה של פתחת DNS</string>
- <string name="pref_torrc_title">תצורה מותאמת אישית של Torrc</string>
- <string name="pref_torrc_summary">מומחים בלבד: הכנס שורות תצורת torrc ישיר</string>
- <string name="pref_torrc_dialog">Torrc מותאם אישית</string>
- <string name="bridges_updated">גשרים עודכנו</string>
- <string name="restart_orbot_to_use_this_bridge_">אנא הפעל מחדש את Orbot כדי לאפשר את השינויים</string>
- <string name="if_your_mobile_network_actively_blocks_tor_you_can_use_a_tor_bridge_to_access_the_network_another_way_to_get_bridges_is_to_send_an_email_to_bridges_torproject_org_please_note_that_you_must_send_the_email_using_an_address_from_one_of_the_following_email_providers_riseup_gmail_or_yahoo_">אם פעילות הרשת הניידת שלך חוסמת את Tor, אפשר להשתמש ב‚שרת גישור’ כדרך חלופית להיכנס. יש לבחור באחת האפשרויות כדי להגדיר ולבחון…</string>
- <string name="get_bridges_email">דוא\"ל</string>
- <string name="apps_mode">מצב VPN</string>
- <string name="send_email">שלח דוא\"ל</string>
- <string name="vpn_default_world">עולמי (אוטומטי)</string>
- <string name="hidden_services">שירותים נסתרים</string>
- <string name="title_activity_hidden_services">שירותים נסתרים</string>
- <string name="menu_hidden_services">שירותים נסתרים</string>
- <string name="save">שמור את</string>
- <string name="local_port">פתחה מקומית</string>
- <string name="onion_port">פתחת בצל</string>
- <string name="name">שם</string>
- <string name="done">הסתיים!</string>
- <string name="copy_address_to_clipboard">העתק כתובת ללוח עריכה</string>
- <string name="show_auth_cookie">הראה עוגיית אימות</string>
- <string name="backup_service">גבה שירות</string>
- <string name="delete_service">מחק שירות</string>
- <string name="backup_saved_at_external_storage">גיבוי נשמר באחסון חיצוני</string>
- <string name="backup_restored">גיבוי שוחזר</string>
- <string name="restore_backup">שחזר גיבוי</string>
- <string name="create_a_backup_first">צור גיבוי תחילה</string>
- <string name="start_tor_again_for_finish_the_process">הפעל את Tor שוב כדי לסיים את התהליך</string>
- <string name="confirm_service_deletion">אשר מחיקת שירות</string>
- <string name="service_type">סוג שירות</string>
- <string name="auth_cookie">עוגיית אימות</string>
- <string name="copy_cookie_to_clipboard">העתק עוגייה ללוח עריכה</string>
- <string name="auth_cookie_was_not_configured">עוגיית אימות לא הוגדרה</string>
- <string name="please_restart_Orbot_to_enable_the_changes">אנא הפעל מחדש את Orbot כדי לאפשר את השינויים</string>
- <string name="client_cookies">עוגיות לקוח</string>
- <string name="onion">.onion</string>
- <string name="cookie_from_QR">קרא מתוך QR</string>
- <string name="backup_cookie">גבה עוגייה</string>
- <string name="delete_cookie">מחק עוגייה</string>
- <string name="confirm_cookie_deletion">אשר מחיקת עוגייה</string>
- <string name="hosted_services">שירותים מאורחים</string>
- <string name="share_as_qr">שתף בתור QR</string>
- <string name="disable">השבת</string>
- <string name="enable">אפשר</string>
- <string name="consider_disable_battery_optimizations">שקול להשבית מיטובי סוללה</string>
- <string name="consider_enable_battery_optimizations">שקול לאפשר מיטובי סוללה</string>
- <string name="pref_isolate_dest">בודד כתובות יעד</string>
- <string name="pref_isolate_dest_summary">השתמש במעגל שונה לכל כתובת יעד</string>
- <string name="pref_connection_padding">ריפוד חיבור</string>
- <string name="pref_connection_padding_summary">אפשר תמיד ריפוד חיבור כדי להגן מפני צורות מסוימות של ניתוח תעבורה. ברירת מחדל: אוטומטי</string>
- <string name="pref_reduced_connection_padding">הופחת ריפוד חיבור</string>
- <string name="pref_reduced_connection_padding_summary">סוגר חיבורי ממסר מוקדם יותר ושולח פחות חבילות מידע כריפוד כדי להפחית שימוש בנתונים ובסוללה</string>
- <string name="app_shortcuts">יישומים מאופשרי־Tor</string>
- <string name="testing_bridges">בוחן חיבור גשר אל Tor…</string>
- <string name="testing_bridges_success">הצלחה. תצורת הגשר טובה!</string>
- <string name="testing_bridges_fail">נכשל. נסה אפשרות אחרת</string>
- <string name="bridge_direct_connect">התחבר ישירות אל Tor (הכי טוב)</string>
- <string name="bridge_community">התחבר באמצעות שרתי קהילה</string>
- <string name="bridge_cloud">התחבר באמצעות שרתי ענן</string>
- <string name="trouble_connecting">בעית התחברות?</string>
- <string name="full_device_vpn">VPN מכשיר מלא</string>
- <string name="vpn_disabled">VPN מושבת</string>
- <string name="pref_disable_ipv4">השבתת חיבורי IPv4</string>
- <string name="pref_prefer_ipv6">להעדיף חיבורי IPv6</string>
- <string name="pref_http_dialog">הגדרת פתחות של תור</string>
- <string name="pref_http_summary">פתחה שדרכה תור מגיש את מתווך ה־HTTP שלו (בררת מחדל: 8118 או 0 להשבתה)</string>
- <string name="pref_http_title">תור עם HTTP</string>
- <string name="pref_open_proxy_on_all_interfaces_summary">לאפשר עמיתי רשת אלחוטית, מכשירים קשורים ולכל מי שיכול להתחבר ל־IP שלך לגשת לתור</string>
- <string name="pref_open_proxy_on_all_interfaces_title">פתיחת מתווך על כל המנשקים</string>
- <string name="refresh_apps">רענון יישומונים</string>
- <string name="default_socks_http">SOCKS: - HTTP: -</string>
- <string name="app_services">שירותי יישומון</string>
- <string name="user_services">שירותי משתמש</string>
- <string name="menu_new_identity">זהות חדשה</string>
- <string name="pref_disable_ipv4_summary">מספר ליצירת לא להתחבר לכתובות IPv4</string>
- <string name="pref_prefer_ipv6_summary">מספר ליציאות שכתובות IPv6 עדיפות</string>
-</resources>
\ No newline at end of file
diff --git a/lint.xml b/lint.xml
index 4d732fdb..092d430d 100644
--- a/lint.xml
+++ b/lint.xml
@@ -18,6 +18,7 @@
<issue id="HardwareIds" severity="error"/>
<issue id="ImpliedQuantity" severity="error"/>
<issue id="InvalidPackage" severity="error"/>
+ <issue id="LocaleFolder" severity="error"/>>
<issue id="NestedScrolling" severity="error"/>
<issue id="NewApi" severity="error"/>
<issue id="PackageManagerGetSignatures" severity="error"/>
@@ -30,11 +31,4 @@
<issue id="TrustAllX509TrustManager" severity="error"/>
<issue id="Typos" severity="error"/>
<issue id="UnsafeProtectedBroadcastReceiver" severity="error"/>
-
- <!-- both the correct and deprecated locales need to be present for
- them to be recognized on all devices -->
- <issue id="LocaleFolder" severity="error">
- <ignore path="src/main/res/values-he"/>
- <ignore path="src/main/res/values-id"/>
- </issue>
</lint>
diff --git a/orbotservice/src/main/res/values-he/strings.xml b/orbotservice/src/main/res/values-he/strings.xml
deleted file mode 100644
index aa7e87ea..00000000
--- a/orbotservice/src/main/res/values-he/strings.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
- <string name="app_name">Orbot</string>
- <string name="app_description">Orbot הינה אפליקציית פרוקסי חינמית המאפשרת לאפליקציות אחרות להשתמש באינטרנט בבטחה. Orbot נעזרת ב-Tor כדי להצפין את תעבורת האינטרנט שלך ולהסוותה באמצעותה ניתובה דרך מספר מחשבים ברחבי העולם. Tor היא תוכנה חופשית ורשת פתוחה המסייעת לך להתגונן מפני סוגים מסוימים של אמצעי ניטור ומעקב אחר רשת האינטרנט המאיימים על הפרטיות, החירות האישית, פעילויות עסקיות ומערכות יחסים חשאיות.</string>
- <string name="status_starting_up">Orbot מתחיל…</string>
- <string name="status_activated">מחובר לרשת Tor</string>
- <string name="status_disabled">Orbot כבוי</string>
- <!--Welcome Wizard strings (DJH)-->
- <!--END Welcome Wizard strings (DJH)-->
- <!--New Wizard Strings-->
- <!--Title Screen-->
- <!--Warning screen-->
- <!--Permissions screen-->
- <!--TipsAndTricks screen-->
- <!--Transparent Proxy screen-->
- <string name="couldn_t_start_tor_process_">אין אפשרות להתחיל תהליך Tor:</string>
- <string name="found_existing_tor_process">נמצא תהליך Tor קיים…</string>
- <string name="something_bad_happened">משהו רע התרחש. בדוק את היומן</string>
- <string name="unable_to_read_hidden_service_name">לא מסוגל לקרוא שם שירות נסתר</string>
- <string name="unable_to_start_tor">לא מסוגל להתחיל את Tor:</string>
- <string name="newnym">החלפת אל זהות Tor חדשה!</string>
- <string name="updating_settings_in_tor_service">מעדכן הגדרות Tor במכשיר</string>
-</resources>
1
0
commit c229771b7fbb633842d865f11154ad2884669e44
Author: Hans-Christoph Steiner <hans(a)eds.org>
Date: Fri Oct 25 22:38:06 2019 +0200
switch to native TorService
Signed-off-by: Hans-Christoph Steiner <hans(a)eds.org>
---
app-mini/build.gradle | 2 +-
app/build.gradle | 5 +-
orbotservice/build.gradle | 6 +-
.../torproject/android/service/OrbotService.java | 408 ++++++---------------
.../android/service/TorServiceConstants.java | 10 -
.../service/util/CustomTorResourceInstaller.java | 72 +---
6 files changed, 133 insertions(+), 370 deletions(-)
diff --git a/app-mini/build.gradle b/app-mini/build.gradle
index dd1914d0..5617f1a0 100644
--- a/app-mini/build.gradle
+++ b/app-mini/build.gradle
@@ -100,8 +100,8 @@ android {
exclude 'lib/arm64-v8a/obfs4proxy.so'
exclude 'lib/armeabi-v7a/obfs4proxy.so'
exclude 'lib/armeabi/obfs4proxy.so'
+ exclude 'META-INF/androidx.localbroadcastmanager_localbroadcastmanager.version'
}
-
}
diff --git a/app/build.gradle b/app/build.gradle
index 70349b22..8d5e3ea7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -110,8 +110,11 @@ android {
universalApk true
}
}
-}
+ packagingOptions {
+ exclude 'META-INF/androidx.localbroadcastmanager_localbroadcastmanager.version'
+ }
+}
dependencies {
implementation project(':orbotservice')
diff --git a/orbotservice/build.gradle b/orbotservice/build.gradle
index f5ef1906..0d6b162e 100644
--- a/orbotservice/build.gradle
+++ b/orbotservice/build.gradle
@@ -41,11 +41,13 @@ android {
lintConfig file("../lint.xml")
}
+ packagingOptions {
+ exclude 'META-INF/androidx.localbroadcastmanager_localbroadcastmanager.version'
+ }
}
dependencies {
-
- implementation 'org.torproject:tor-android-binary:0.4.4.6'
+ implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
/**
implementation 'info.pluggabletransports.aptds:apt-dispatch-library:1.0.9'
diff --git a/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java b/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java
index 6808f088..396881d3 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java
@@ -15,12 +15,14 @@ import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.BroadcastReceiver;
+import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.content.ContextWrapper;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.ServiceConnection;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.database.Cursor;
@@ -28,21 +30,16 @@ import android.net.Uri;
import android.net.VpnService;
import android.os.Build;
import android.os.Handler;
+import android.os.HandlerThread;
import android.os.IBinder;
+import android.os.Looper;
import android.provider.BaseColumns;
import android.text.TextUtils;
import android.util.Log;
-import androidx.annotation.RequiresApi;
-import androidx.core.app.NotificationCompat;
-import androidx.localbroadcastmanager.content.LocalBroadcastManager;
-
-import com.jaredrummler.android.shell.CommandResult;
-
import net.freehaven.tor.control.TorControlCommands;
import net.freehaven.tor.control.TorControlConnection;
-import org.torproject.android.service.util.CustomShell;
import org.torproject.android.service.util.CustomTorResourceInstaller;
import org.torproject.android.service.util.DummyActivity;
import org.torproject.android.service.util.Prefs;
@@ -50,21 +47,19 @@ import org.torproject.android.service.util.TorServiceUtils;
import org.torproject.android.service.util.Utils;
import org.torproject.android.service.vpn.OrbotVpnManager;
import org.torproject.android.service.vpn.VpnPrefs;
+import org.torproject.jni.TorService;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
-import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
-import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.io.PrintWriter;
-import java.net.Socket;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -78,12 +73,15 @@ import java.util.concurrent.Executors;
import java.util.concurrent.TimeoutException;
import IPtProxy.IPtProxy;
+import androidx.annotation.RequiresApi;
+import androidx.core.app.NotificationCompat;
+import androidx.localbroadcastmanager.content.LocalBroadcastManager;
public class OrbotService extends VpnService implements TorServiceConstants, OrbotConstants {
- public final static String BINARY_TOR_VERSION = org.torproject.android.binary.TorServiceConstants.BINARY_TOR_VERSION;
+ public final static String BINARY_TOR_VERSION = TorService.VERSION_NAME;
+
static final int NOTIFY_ID = 1;
- private final static int CONTROL_SOCKET_TIMEOUT = 60000;
private static final int ERROR_NOTIFY_ID = 3;
private static final int HS_NOTIFY_ID = 4;
private static final Uri V2_HS_CONTENT_URI = Uri.parse("content://org.torproject.android.ui.hiddenservices.providers/hs");
@@ -121,14 +119,13 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
V3ClientAuth.HASH,
V3ClientAuth.ENABLED
};
+
public static int mPortSOCKS = -1;
public static int mPortHTTP = -1;
public static int mPortDns = TOR_DNS_PORT_DEFAULT;
public static int mPortTrans = TOR_TRANSPROXY_PORT_DEFAULT;
public static File appBinHome;
public static File appCacheHome;
- public static File fileTor;
- public static File fileTorRc;
private final ExecutorService mExecutor = Executors.newCachedThreadPool();
boolean mIsLollipop = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
TorEventHandler mEventHandler;
@@ -139,8 +136,9 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
ActionBroadcastReceiver mActionBroadcastReceiver;
private String mCurrentStatus = STATUS_OFF;
private TorControlConnection conn = null;
- private int mLastProcessId = -1;
- private File fileControlPort, filePid;
+ private ServiceConnection torServiceConnection;
+ private TorService torService;
+ private boolean shouldUnbindTorService;
private NotificationManager mNotificationManager = null;
private NotificationCompat.Builder mNotifyBuilder;
private boolean mNotificationShowing = false;
@@ -187,22 +185,6 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
showToolbarNotification(getString(R.string.status_activated), NOTIFY_ID, R.drawable.ic_stat_tor);
}
- private boolean findExistingTorDaemon() {
- try {
- mLastProcessId = initControlConnection(1, true);
-
- if (mLastProcessId != -1 && conn != null) {
- sendCallbackLogMessage(getString(R.string.found_existing_tor_process));
- sendCallbackStatus(STATUS_ON);
- showConnectedToTorNetworkNotification();
- return true;
- }
- } catch (Exception e) {
- debug("Error finding existing tor daemon: " + e);
- }
- return false;
- }
-
@Override
public void onLowMemory() {
super.onLowMemory();
@@ -283,7 +265,7 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
showToolbarNotification("", NOTIFY_ID, R.drawable.ic_stat_tor);
if (intent != null)
- exec(new IncomingIntentRouter(intent));
+ mExecutor.execute(new IncomingIntentRouter(intent));
else
Log.d(OrbotConstants.TAG, "Got null onStartCommand() intent");
@@ -342,6 +324,13 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
}).start();
}
+ private void stopTorOnError(String message) {
+ stopTorAsync();
+ showToolbarNotification(
+ getString(R.string.unable_to_start_tor) + ": " + message,
+ ERROR_NOTIFY_ID, R.drawable.ic_stat_notifyerr);
+ }
+
private static boolean useIPtObfsMeekProxy() {
String bridgeList = Prefs.getBridgesList();
return bridgeList.contains("obfs") || bridgeList.contains("meek");
@@ -438,6 +427,11 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
Log.d(OrbotConstants.TAG, "error shutting down Tor via connection", e);
}
+ if (shouldUnbindTorService) {
+ unbindService(torServiceConnection);
+ shouldUnbindTorService = false;
+ }
+
conn = null;
break;
}
@@ -491,10 +485,6 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
if (!appCacheHome.exists())
appCacheHome.mkdirs();
- fileTorRc = new File(appBinHome, TORRC_ASSET_KEY);
- fileControlPort = new File(getFilesDir(), TOR_CONTROL_PORT_FILE);
- filePid = new File(getFilesDir(), TOR_PID_FILE);
-
mHSBasePath = new File(getFilesDir().getAbsolutePath(), TorServiceConstants.HIDDEN_SERVICES_DIR);
if (!mHSBasePath.isDirectory())
mHSBasePath.mkdirs();
@@ -525,20 +515,11 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
if (Build.VERSION.SDK_INT >= 26)
createNotificationChannel();
- torUpgradeAndConfig();
+ CustomTorResourceInstaller installer = new CustomTorResourceInstaller(this, appBinHome);
+ installer.installGeoIP();
pluggableTransportInstall();
- new Thread(() -> {
- try {
- findExistingTorDaemon();
- } catch (Exception e) {
- Log.e(OrbotConstants.TAG, "error onBind", e);
- logNotice("error finding exiting process: " + e.toString());
- }
-
- }).start();
-
mVpnManager = new OrbotVpnManager(this);
loadCdnFronts(this);
@@ -568,37 +549,12 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
return false;
}
- private boolean torUpgradeAndConfig() throws IOException, TimeoutException {
-
- SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());
- String version = prefs.getString(PREF_BINARY_TOR_VERSION_INSTALLED, null);
-
- logNotice("checking binary version: " + version);
-
- CustomTorResourceInstaller installer = new CustomTorResourceInstaller(this, appBinHome);
- logNotice("upgrading binaries to latest version: " + BINARY_TOR_VERSION);
-
- fileTor = installer.installResources();
-
- if (fileTor != null && fileTor.canExecute()) {
- prefs.edit().putString(PREF_BINARY_TOR_VERSION_INSTALLED, BINARY_TOR_VERSION).apply();
-
- fileTorRc = new File(appBinHome, "torrc");//installer.getTorrcFile();
- return fileTorRc.exists();
- }
-
- return false;
- }
-
private File updateTorrcCustomFile() throws IOException, TimeoutException {
SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());
StringBuffer extraLines = new StringBuffer();
extraLines.append("\n");
- extraLines.append("ControlPortWriteToFile").append(' ').append(fileControlPort.getCanonicalPath()).append('\n');
-
- extraLines.append("PidFile").append(' ').append(filePid.getCanonicalPath()).append('\n');
extraLines.append("RunAsDaemon 0").append('\n');
extraLines.append("AvoidDiskWrites 0").append('\n');
@@ -692,15 +648,9 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
debug("torrc.custom=" + extraLines.toString());
- File fileTorRcCustom = new File(fileTorRc.getAbsolutePath() + ".custom");
- boolean success = updateTorConfigCustom(fileTorRcCustom, extraLines.toString());
-
- if (success && fileTorRcCustom.exists()) {
- logNotice("success.");
- return fileTorRcCustom;
- } else
- return null;
-
+ File fileTorRcCustom = TorService.getTorrc(this);
+ updateTorConfigCustom(fileTorRcCustom, extraLines.toString());
+ return fileTorRcCustom;
}
private String checkPortOrAuto(String portString) {
@@ -771,36 +721,17 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
// these states should probably be handled better
sendCallbackLogMessage("Ignoring start request, currently " + mCurrentStatus);
return;
- } else if (mCurrentStatus.equals(STATUS_ON) && (mLastProcessId != -1)) {
+ } else if (mCurrentStatus.equals(STATUS_ON)) {
showConnectedToTorNetworkNotification();
sendCallbackLogMessage("Ignoring start request, already started.");
- // setTorNetworkEnabled (true);
-
return;
}
sendCallbackStatus(STATUS_STARTING);
- try {
- if (conn != null) {
- String torProcId = conn.getInfo("process/pid");
- if (!TextUtils.isEmpty(torProcId))
- mLastProcessId = Integer.parseInt(torProcId);
- } else {
- if (fileControlPort != null && fileControlPort.exists())
- findExistingTorDaemon();
-
- }
- } catch (Exception e) {
- }
-
// make sure there are no stray daemons running
stopTorDaemon(false);
- SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());
- String version = prefs.getString(PREF_BINARY_TOR_VERSION_INSTALLED, null);
- logNotice("checking binary version: " + version);
-
showToolbarNotification(getString(R.string.status_starting_up), NOTIFY_ID, R.drawable.ic_stat_tor);
//sendCallbackLogMessage(getString(R.string.status_starting_up));
//logNotice(getString(R.string.status_starting_up));
@@ -812,27 +743,20 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
customEnv.add("TOR_PT_PROXY=socks5://" + OrbotVpnManager.sSocksProxyLocalhost + ":" + OrbotVpnManager.sSocksProxyServerPort);
}
- boolean success = runTorShellCmd();
-
- if (success) {
- try {
- updateLegacyV2OnionNames();
- } catch (SecurityException se) {
- logNotice("unable to upload legacy v2 onion names");
- }
- try {
- updateV3OnionNames();
- } catch (SecurityException se) {
- logNotice("unable to upload v3 onion names");
- }
+ runTorShellCmd();
+ try {
+ updateLegacyV2OnionNames();
+ } catch (SecurityException se) {
+ logNotice("unable to upload legacy v2 onion names");
+ }
+ try {
+ updateV3OnionNames();
+ } catch (SecurityException se) {
+ logNotice("unable to upload v3 onion names");
}
-
} catch (Exception e) {
logException("Unable to start Tor: " + e.toString(), e);
- stopTorAsync();
- showToolbarNotification(
- getString(R.string.unable_to_start_tor) + ": " + e.getMessage(),
- ERROR_NOTIFY_ID, R.drawable.ic_stat_notifyerr);
+ stopTorOnError(e.getLocalizedMessage());
}
}
@@ -913,131 +837,80 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
}
}
- private boolean runTorShellCmd() throws Exception {
- File fileTorrcCustom = updateTorrcCustomFile();
-
- //make sure Tor exists and we can execute it
- if (fileTor == null || (!fileTor.exists()) || (!fileTor.canExecute()))
- return false;
-
- if ((!fileTorRc.exists()) || (!fileTorRc.canRead()))
- return false;
+ private void runTorShellCmd() throws Exception {
+ updateTorConfigCustom(TorService.getDefaultsTorrc(this),
+ "DNSPort 0\n" +
+ "TransPort 0\n" +
+ "DisableNetwork 1\n");
+ File fileTorrcCustom = updateTorrcCustomFile();
if ((!fileTorrcCustom.exists()) || (!fileTorrcCustom.canRead()))
- return false;
+ return;
sendCallbackLogMessage(getString(R.string.status_starting_up));
- String torCmdString = fileTor.getAbsolutePath()
- + " DataDirectory " + appCacheHome.getAbsolutePath()
- + " --defaults-torrc " + fileTorRc.getAbsolutePath()
- + " -f " + fileTorrcCustom.getAbsolutePath();
-
- int exitCode;
-
- try {
- exitCode = exec(torCmdString + " --verify-config", true);
- } catch (Exception e) {
- logNotice("Tor configuration did not verify: " + e.getMessage());
- return false;
- }
-
- if (exitCode == 0) {
- logNotice("Tor configuration VERIFIED.");
- try {
- exitCode = exec(torCmdString, false);
- } catch (Exception e) {
- logNotice("Tor was unable to start: " + e.getMessage());
- throw new Exception("Tor was unable to start: " + e.getMessage());
+ torServiceConnection = new ServiceConnection() {
+ @Override
+ public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
+ torService = ((TorService.LocalBinder) iBinder).getService();
+ conn = torService.getTorControlConnection();
+ addEventHandler();
}
- if (exitCode != 0) {
- logNotice("Tor did not start. Exit:" + exitCode);
- return false;
+ @Override
+ public void onServiceDisconnected(ComponentName componentName) {
+ conn = null;
+ torService = null;
}
- //now try to connect
- mLastProcessId = initControlConnection(10, false);
+ @Override
+ public void onNullBinding(ComponentName componentName) {
+ stopTorOnError("Tor was unable to start: " + "onNullBinding");
+ conn = null;
+ torService = null;
+ }
- if (mLastProcessId == -1) {
- logNotice(getString(R.string.couldn_t_start_tor_process_) + "; exit=" + exitCode);
- throw new Exception(getString(R.string.couldn_t_start_tor_process_) + "; exit=" + exitCode);
- } else {
- logNotice("Tor started; process id=" + mLastProcessId);
+ @Override
+ public void onBindingDied(ComponentName componentName) {
+ stopTorOnError("Tor was unable to start: " + "onBindingDied");
+ conn = null;
+ torService = null;
+ }
+ };
+
+ BroadcastReceiver receiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ if (TorService.ACTION_STATUS.equals(intent.getAction())
+ && TorService.STATUS_ON.equals(intent.getStringExtra(TorService.EXTRA_STATUS))) {
+ initControlConnection();
+ unregisterReceiver(this);
+ }
}
+ };
+ // run the BroadcastReceiver in its own thread
+ HandlerThread handlerThread = new HandlerThread(receiver.getClass().getSimpleName());
+ handlerThread.start();
+ Looper looper = handlerThread.getLooper();
+ Handler handler = new Handler(looper);
+ registerReceiver(receiver, new IntentFilter(TorService.ACTION_STATUS), null, handler);
+
+ Intent serviceIntent = new Intent(this, TorService.class);
+ if (Build.VERSION.SDK_INT < 29) {
+ shouldUnbindTorService = bindService(serviceIntent, torServiceConnection, BIND_AUTO_CREATE);
+ } else {
+ shouldUnbindTorService = bindService(serviceIntent, BIND_AUTO_CREATE, mExecutor, torServiceConnection);
}
-
- return true;
}
protected void exec(Runnable runn) {
mExecutor.execute(runn);
}
- private int exec(String cmd, boolean wait) throws Exception {
- HashMap<String, String> mapEnv = new HashMap<>();
- mapEnv.put("HOME", appBinHome.getAbsolutePath());
-
- CommandResult result = CustomShell.run("sh", wait, mapEnv, cmd);
- debug("executing: " + cmd);
- debug("stdout: " + result.getStdout());
- debug("stderr: " + result.getStderr());
-
- return result.exitCode;
- }
-
- private int initControlConnection(int maxTries, boolean isReconnect) throws Exception {
- int controlPort = -1;
- int attempt = 0;
-
- logNotice(getString(R.string.waiting_for_control_port));
-
- while (conn == null && attempt++ < maxTries && (!mCurrentStatus.equals(STATUS_OFF))) {
- try {
- controlPort = getControlPort();
- if (controlPort != -1) {
- logNotice(getString(R.string.connecting_to_control_port) + controlPort);
- break;
- }
-
- } catch (Exception ce) {
- conn = null;
- // logException( "Error connecting to Tor local control port: " + ce.getMessage(),ce);
- }
-
- try {
- // logNotice("waiting...");
- Thread.sleep(2000);
- } catch (Exception e) {
- }
- }
-
- if (controlPort != -1) {
- Socket torConnSocket = new Socket(IP_LOCALHOST, controlPort);
- torConnSocket.setSoTimeout(CONTROL_SOCKET_TIMEOUT);
- conn = new TorControlConnection(torConnSocket);
- conn.launchThread(true);//is daemon
- }
-
+ private void initControlConnection() {
if (conn != null) {
logNotice("SUCCESS connected to Tor control port.");
-
- File fileCookie = new File(appCacheHome, TOR_CONTROL_COOKIE);
-
- if (fileCookie.exists()) {
- logNotice("adding control port event handler");
-
- conn.setEventHandler(mEventHandler);
-
- logNotice("SUCCESS added control port event handler");
- byte[] cookie = new byte[(int) fileCookie.length()];
- DataInputStream fis = new DataInputStream(new FileInputStream(fileCookie));
- fis.read(cookie);
- fis.close();
- conn.authenticate(cookie);
-
- logNotice("SUCCESS - authenticated to control port.");
-
+ try {
// conn.setEvents(Arrays.asList(new String[]{"DEBUG","STATUS_CLIENT","STATUS_GENERAL","BW"}));
if (Prefs.useDebugLogging())
@@ -1047,8 +920,6 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
// sendCallbackLogMessage(getString(R.string.tor_process_starting) + ' ' + getString(R.string.tor_process_complete));
- String torProcId = conn.getInfo("process/pid");
-
String confSocks = conn.getInfo("net/listeners/socks");
StringTokenizer st = new StringTokenizer(confSocks, " ");
@@ -1081,76 +952,12 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
}
sendCallbackPorts(mPortSOCKS, mPortHTTP, mPortDns, mPortTrans);
- setTorNetworkEnabled(true);
-
- return Integer.parseInt(torProcId);
- } else {
- logNotice("Tor authentication cookie does not exist yet");
+ } catch (IOException e) {
+ e.printStackTrace();
+ stopTorOnError(e.getLocalizedMessage());
conn = null;
-
- }
- }
-
- throw new Exception("Tor control port could not be found");
- }
-
- private int getControlPort() {
- int result = -1;
-
- try {
- if (fileControlPort.exists()) {
- debug("Reading control port config file: " + fileControlPort.getCanonicalPath());
- BufferedReader bufferedReader = new BufferedReader(new FileReader(fileControlPort));
- String line = bufferedReader.readLine();
-
- if (line != null) {
- String[] lineParts = line.split(":");
- result = Integer.parseInt(lineParts[1]);
- }
-
-
- bufferedReader.close();
-
- //store last valid control port
- SharedPreferences prefs = Prefs.getSharedPrefs(getApplicationContext());
- prefs.edit().putInt("controlport", result).apply();
- } else {
- debug("Control Port config file does not yet exist (waiting for tor): " + fileControlPort.getCanonicalPath());
}
- } catch (FileNotFoundException e) {
- debug("unable to get control port; file not found");
- } catch (Exception e) {
- debug("unable to read control port config file");
- }
-
- return result;
- }
-
- public String getInfo(String key) {
- try {
- if (conn != null) {
- return conn.getInfo(key);
- }
- } catch (Exception ioe) {
- // Log.e(TAG,"Unable to get Tor information",ioe);
- logNotice("Unable to get Tor information" + ioe.getMessage());
- }
- return null;
- }
-
- public void setTorNetworkEnabled(final boolean isEnabled) throws IOException {
- if (conn != null) { // it is possible to not have a connection yet, and someone might try to newnym
- new Thread() {
- public void run() {
- try {
- final String newValue = isEnabled ? "0" : "1";
- conn.setConf("DisableNetwork", newValue);
- } catch (Exception ioe) {
- debug("error requesting newnym: " + ioe.getLocalizedMessage());
- }
- }
- }.start();
}
}
@@ -1161,6 +968,19 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
} catch (IOException e) {
debug("error send active: " + e.getLocalizedMessage());
}
+ }
+ }
+
+ public void addEventHandler() {
+ try {
+ logNotice("adding control port event handler");
+ conn.setEventHandler(mEventHandler);
+ conn.setEvents(Arrays.asList("ORCONN", "CIRC", "NOTICE", "WARN", "ERR", "BW"));
+ logNotice("SUCCESS added control port event handler");
+ } catch (IOException e) {
+ e.printStackTrace();
+ stopTorOnError(e.getLocalizedMessage());
+ conn = null;
}
}
diff --git a/orbotservice/src/main/java/org/torproject/android/service/TorServiceConstants.java b/orbotservice/src/main/java/org/torproject/android/service/TorServiceConstants.java
index e69d8ba6..d2dc4877 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/TorServiceConstants.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/TorServiceConstants.java
@@ -9,14 +9,6 @@ public interface TorServiceConstants {
String DIRECTORY_TOR_DATA = "tordata";
- String TOR_CONTROL_PORT_FILE = "control.txt";
- String TOR_PID_FILE = "torpid";
-
- //torrc (tor config file)
- String TORRC_ASSET_KEY = "torrc";
-
- String TOR_CONTROL_COOKIE = "control_auth_cookie";
-
//geoip data file asset key
String GEOIP_ASSET_KEY = "geoip";
String GEOIP6_ASSET_KEY = "geoip6";
@@ -106,8 +98,6 @@ public interface TorServiceConstants {
String CMD_SET_EXIT = "setexit";
String CMD_ACTIVE = "ACTIVE";
- String PREF_BINARY_TOR_VERSION_INSTALLED = "BINARY_TOR_VERSION_INSTALLED";
-
//obfsproxy
String OBFSCLIENT_ASSET_KEY = "obfs4proxy";
diff --git a/orbotservice/src/main/java/org/torproject/android/service/util/CustomTorResourceInstaller.java b/orbotservice/src/main/java/org/torproject/android/service/util/CustomTorResourceInstaller.java
index 8bec9ccc..b39b6ae7 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/util/CustomTorResourceInstaller.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/util/CustomTorResourceInstaller.java
@@ -4,27 +4,27 @@ import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.util.Log;
-import org.torproject.android.binary.TorServiceConstants;
-
import java.io.File;
-import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.util.concurrent.TimeoutException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
-public class CustomTorResourceInstaller implements TorServiceConstants {
+public class CustomTorResourceInstaller {
+
+ private static final String TAG = "CustomTorResourceInstaller";
+ String COMMON_ASSET_KEY = "common/";
+
+ //geoip data file asset key
+ String GEOIP_ASSET_KEY = "geoip";
+ String GEOIP6_ASSET_KEY = "geoip6";
private File installFolder;
private Context context;
- private File fileTorrc;
- private File fileTor;
-
public CustomTorResourceInstaller(Context context, File installFolder) {
this.installFolder = installFolder;
this.context = context;
@@ -40,7 +40,7 @@ public class CustomTorResourceInstaller implements TorServiceConstants {
* Write the inputstream contents to the file
*/
private static boolean streamToFile(InputStream stm, File outFile, boolean append, boolean zip) throws IOException {
- byte[] buffer = new byte[FILE_WRITE_BUFFER_SIZE];
+ byte[] buffer = new byte[1024];
int bytecount;
@@ -101,64 +101,12 @@ public class CustomTorResourceInstaller implements TorServiceConstants {
//
/*
* Extract the Tor resources from the APK file using ZIP
- *
- * @File path to the Tor executable
*/
- public File installResources() throws IOException, TimeoutException {
-
- fileTor = new File(installFolder, TOR_ASSET_KEY);
-
+ public void installGeoIP() throws IOException {
if (!installFolder.exists())
installFolder.mkdirs();
-
- installGeoIP();
- fileTorrc = assetToFile(COMMON_ASSET_KEY + TORRC_ASSET_KEY, TORRC_ASSET_KEY, false, false);
-
- File fileNativeDir = new File(getNativeLibraryDir(context));
- fileTor = new File(fileNativeDir, TOR_ASSET_KEY + ".so");
-
- if (fileTor.exists()) {
- if (fileTor.canExecute())
- return fileTor;
- else {
- setExecutable(fileTor);
-
- if (fileTor.canExecute())
- return fileTor;
- }
- }
-
- File fileTorBin = new File(installFolder, TOR_BINARY_KEY);
-
- //it exists but we can't execute it, so copy it to a new path
- if (fileTor.exists()) {
- InputStream is = new FileInputStream(fileTor);
- streamToFile(is, fileTorBin, false, true);
- setExecutable(fileTorBin);
-
- if (fileTorBin.exists() && fileTorBin.canExecute())
- return fileTorBin;
- }
-
- //let's try another approach
- fileTor = CustomNativeLoader.loadNativeBinary(context, TOR_ASSET_KEY, fileTorBin);
-
- if (fileTor != null && fileTor.exists())
- setExecutable(fileTor);
-
- if (fileTor != null && fileTor.exists() && fileTor.canExecute())
- return fileTor;
-
- return null;
- }
-
- private boolean installGeoIP() throws IOException {
-
assetToFile(COMMON_ASSET_KEY + GEOIP_ASSET_KEY, GEOIP_ASSET_KEY, false, false);
-
assetToFile(COMMON_ASSET_KEY + GEOIP6_ASSET_KEY, GEOIP6_ASSET_KEY, false, false);
-
- return true;
}
/*
1
0
[orbot/master] switch to new jtorctl version to support TorService
by n8fr8@torproject.org 22 Dec '21
by n8fr8@torproject.org 22 Dec '21
22 Dec '21
commit 2c9e02bdb76d3501ae7e632c03b5e679b879f463
Author: Hans-Christoph Steiner <hans(a)eds.org>
Date: Wed Dec 18 11:38:28 2019 +0100
switch to new jtorctl version to support TorService
---
.gitmodules | 4 ----
external/jtorctl | 1 -
orbotservice/build.gradle | 2 +-
3 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/.gitmodules b/.gitmodules
index 691efaad..0ddb14e6 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,7 +1,3 @@
-[submodule "external/jtorctl"]
- path = external/jtorctl
- url = https://github.com/guardianproject/jtorctl
- ignore = dirty
[submodule "external/badvpn"]
path = external/badvpn
url = https://github.com/guardianproject/badvpn.git
diff --git a/external/jtorctl b/external/jtorctl
deleted file mode 160000
index 9f8affff..00000000
--- a/external/jtorctl
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 9f8affffbb03737b5606212c3ade9a1114df755f
diff --git a/orbotservice/build.gradle b/orbotservice/build.gradle
index 58ea078d..f5ef1906 100644
--- a/orbotservice/build.gradle
+++ b/orbotservice/build.gradle
@@ -62,7 +62,7 @@ dependencies {
implementation 'com.offbynull.portmapper:portmapper:2.0.5'
- implementation 'info.guardianproject:jtorctl:0.4'
+ api 'info.guardianproject:jtorctl:0.4'
implementation 'com.github.tladesignz:IPtProxy:0.5.2'
}
1
0
[orbot/master] put all Control Port event registration onServiceConnected()
by n8fr8@torproject.org 22 Dec '21
by n8fr8@torproject.org 22 Dec '21
22 Dec '21
commit 374e093cd66f05bb477f193f3f71ed85cb540c40
Author: Hans-Christoph Steiner <hans(a)eds.org>
Date: Thu Apr 15 15:09:10 2021 +0200
put all Control Port event registration onServiceConnected()
---
.../torproject/android/service/OrbotService.java | 65 +++++++++++-----------
1 file changed, 33 insertions(+), 32 deletions(-)
diff --git a/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java b/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java
index 24594ae9..5077ed6c 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java
@@ -497,8 +497,6 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
if (!mV3AuthBasePath.isDirectory())
mV3AuthBasePath.mkdirs();
- mEventHandler = new TorEventHandler(this);
-
if (mNotificationManager == null) {
mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
}
@@ -853,14 +851,43 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
@Override
public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
torService = ((TorService.LocalBinder) iBinder).getService();
- conn = torService.getTorControlConnection();
- addEventHandler();
+ try {
+ conn = torService.getTorControlConnection();
+ while (conn == null) {
+ Log.v(TAG, "Waiting for Tor Control Connection...");
+ Thread.sleep(500);
+ conn = torService.getTorControlConnection();
+ }
+ mEventHandler = new TorEventHandler(OrbotService.this);
+ logNotice("adding control port event handler");
+ conn.setEventHandler(mEventHandler);
+ ArrayList<String> events = new ArrayList<>(Arrays.asList(
+ TorControlCommands.EVENT_OR_CONN_STATUS,
+ TorControlCommands.EVENT_CIRCUIT_STATUS,
+ TorControlCommands.EVENT_NOTICE_MSG,
+ TorControlCommands.EVENT_WARN_MSG,
+ TorControlCommands.EVENT_ERR_MSG,
+ TorControlCommands.EVENT_BANDWIDTH_USED,
+ TorControlCommands.EVENT_NEW_DESC,
+ TorControlCommands.EVENT_ADDRMAP));
+ if (Prefs.useDebugLogging()) {
+ events.add(TorControlCommands.EVENT_DEBUG_MSG);
+ events.add(TorControlCommands.EVENT_INFO_MSG);
+ }
+ conn.setEvents(events);
+ logNotice("SUCCESS added control port event handler");
+ } catch (IOException | InterruptedException e) {
+ e.printStackTrace();
+ stopTorOnError(e.getLocalizedMessage());
+ conn = null;
+ }
}
@Override
public void onServiceDisconnected(ComponentName componentName) {
conn = null;
torService = null;
+ mEventHandler = null;
}
@Override
@@ -868,6 +895,7 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
stopTorOnError("Tor was unable to start: " + "onNullBinding");
conn = null;
torService = null;
+ mEventHandler = null;
}
@Override
@@ -875,6 +903,7 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
stopTorOnError("Tor was unable to start: " + "onBindingDied");
conn = null;
torService = null;
+ mEventHandler = null;
}
};
@@ -911,15 +940,6 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
if (conn != null) {
logNotice("SUCCESS connected to Tor control port.");
try {
- // conn.setEvents(Arrays.asList(new String[]{"DEBUG","STATUS_CLIENT","STATUS_GENERAL","BW"}));
-
- if (Prefs.useDebugLogging())
- conn.setEvents(Arrays.asList("CIRC", "STREAM", "ORCONN", "BW", "INFO", "NOTICE", "WARN", "DEBUG", "ERR", "NEWDESC", "ADDRMAP"));
- else
- conn.setEvents(Arrays.asList("CIRC", "STREAM", "ORCONN", "BW", "NOTICE", "ERR", "NEWDESC", "ADDRMAP"));
-
- // sendCallbackLogMessage(getString(R.string.tor_process_starting) + ' ' + getString(R.string.tor_process_complete));
-
String confSocks = conn.getInfo("net/listeners/socks");
StringTokenizer st = new StringTokenizer(confSocks, " ");
@@ -968,25 +988,6 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
} catch (IOException e) {
debug("error send active: " + e.getLocalizedMessage());
}
- }
- }
-
- public void addEventHandler() {
- try {
- logNotice("adding control port event handler");
- conn.setEventHandler(mEventHandler);
- conn.setEvents(Arrays.asList(
- TorControlCommands.EVENT_OR_CONN_STATUS,
- TorControlCommands.EVENT_CIRCUIT_STATUS,
- TorControlCommands.EVENT_NOTICE_MSG,
- TorControlCommands.EVENT_WARN_MSG,
- TorControlCommands.EVENT_ERR_MSG,
- TorControlCommands.EVENT_BANDWIDTH_USED));
- logNotice("SUCCESS added control port event handler");
- } catch (IOException e) {
- e.printStackTrace();
- stopTorOnError(e.getLocalizedMessage());
- conn = null;
}
}
1
0
22 Dec '21
commit afb3ae786b37722d5e3c699ad65af08eacdda5d2
Author: Hans-Christoph Steiner <hans(a)eds.org>
Date: Fri Dec 13 22:39:28 2019 +0100
use new jtorctl constants for Tor event names
These include javadoc with links to the documentation.
---
.../main/java/org/torproject/android/service/OrbotService.java | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java b/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java
index 844da292..24594ae9 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java
@@ -975,7 +975,13 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
try {
logNotice("adding control port event handler");
conn.setEventHandler(mEventHandler);
- conn.setEvents(Arrays.asList("ORCONN", "CIRC", "NOTICE", "WARN", "ERR", "BW"));
+ conn.setEvents(Arrays.asList(
+ TorControlCommands.EVENT_OR_CONN_STATUS,
+ TorControlCommands.EVENT_CIRCUIT_STATUS,
+ TorControlCommands.EVENT_NOTICE_MSG,
+ TorControlCommands.EVENT_WARN_MSG,
+ TorControlCommands.EVENT_ERR_MSG,
+ TorControlCommands.EVENT_BANDWIDTH_USED));
logNotice("SUCCESS added control port event handler");
} catch (IOException e) {
e.printStackTrace();
1
0