diff --git a/apk/controller/LICENSE b/apk/controller/THIRD-PARTY-NOTICES.txt
similarity index 100%
rename from apk/controller/LICENSE
rename to apk/controller/THIRD-PARTY-NOTICES.txt
diff --git a/apk/controller/app/build.gradle b/apk/controller/app/build.gradle
index 0f47488..4adfac3 100644
--- a/apk/controller/app/build.gradle
+++ b/apk/controller/app/build.gradle
@@ -9,8 +9,8 @@ android {
applicationId "org.iiab.controller"
minSdkVersion 24
targetSdkVersion 34
- versionCode 31
- versionName "v0.2.1beta"
+ versionCode 32
+ versionName "v0.2.2beta"
setProperty("archivesBaseName", "$applicationId-$versionName")
ndk {
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
diff --git a/apk/controller/app/src/main/java/org/iiab/controller/DashboardFragment.java b/apk/controller/app/src/main/java/org/iiab/controller/DashboardFragment.java
index b7a10d9..f7c11b7 100644
--- a/apk/controller/app/src/main/java/org/iiab/controller/DashboardFragment.java
+++ b/apk/controller/app/src/main/java/org/iiab/controller/DashboardFragment.java
@@ -45,6 +45,7 @@ public class DashboardFragment extends Fragment {
private TextView txtDeviceName;
private TextView txtWifiIp, txtHotspotIp, txtUptime, txtBattery, badgeStatus, txtStorage, txtRam, txtSwap, txtTermuxState;
+ private TextView modulesTitle;
private ProgressBar progStorage, progRam, progSwap;
private View ledTermuxState;
private LinearLayout modulesContainer;
@@ -55,6 +56,7 @@ public class DashboardFragment extends Fragment {
// List of modules to scan (Endpoint, Display Name)
private final Object[][] TARGET_MODULES = {
{"books", R.string.dash_books},
+ {"code", R.string.dash_code},
{"kiwix", R.string.dash_kiwix},
{"kolibri", R.string.dash_kolibri},
{"maps", R.string.dash_maps},
@@ -96,6 +98,17 @@ public class DashboardFragment extends Fragment {
ledTermuxState = view.findViewById(R.id.led_termux_state);
txtTermuxState = view.findViewById(R.id.text_termux_state);
modulesContainer = view.findViewById(R.id.modules_container);
+ modulesTitle = view.findViewById(R.id.dash_modules_title);
+
+ modulesContainer.setVisibility(View.GONE);
+ modulesTitle.setText(String.format(getString(R.string.label_separator_up), getString(R.string.dash_installed_modules)));
+
+ // Listener to colapse/expande
+ modulesTitle.setOnClickListener(v -> {
+ boolean isGone = modulesContainer.getVisibility() == View.GONE;
+ modulesContainer.setVisibility(isGone ? View.VISIBLE : View.GONE);
+ modulesTitle.setText(String.format(getString(isGone ? R.string.label_separator_down : R.string.label_separator_up), getString(R.string.dash_installed_modules)));
+ });
// Generate module views dynamically
createModuleViews();
@@ -200,34 +213,26 @@ public class DashboardFragment extends Fragment {
private void createModuleViews() {
modulesContainer.removeAllViews();
- // Set 3 lines
- for (int row = 0; row < 2; row++) {
+ int numCols = 3;
+ int numRows = (int) Math.ceil((double) TARGET_MODULES.length / numCols);
+
+ for (int row = 0; row < numRows; row++) {
LinearLayout rowLayout = new LinearLayout(requireContext());
rowLayout.setOrientation(LinearLayout.HORIZONTAL);
rowLayout.setLayoutParams(new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
rowLayout.setBaselineAligned(false);
- rowLayout.setWeightSum(3f);
+ rowLayout.setWeightSum(numCols);
rowLayout.setPadding(0, 0, 0, 16);
- // Create 3 columns per row
- for (int col = 0; col < 3; col++) {
- int index = (row * 3) + col;
- if (index >= TARGET_MODULES.length) break;
+ for (int col = 0; col < numCols; col++) {
+ int index = (row * numCols) + col;
- // Grid
LinearLayout cell = new LinearLayout(requireContext());
- cell.setOrientation(LinearLayout.HORIZONTAL);
- cell.setBackgroundResource(R.drawable.rounded_button);
- cell.setBackgroundTintList(android.content.res.ColorStateList.valueOf(
- androidx.core.content.ContextCompat.getColor(requireContext(), R.color.dash_module_bg)));
- cell.setPadding(16, 24, 16, 24);
- cell.setGravity(android.view.Gravity.CENTER);
-
LinearLayout.LayoutParams cellParams = new LinearLayout.LayoutParams(
0, ViewGroup.LayoutParams.WRAP_CONTENT, 1f);
- // Leave small margins between the cards so they don't stick together.
+ // Margins to prevent them from sticking together
int margin = 8;
if (col == 0) cellParams.setMargins(0, 0, margin, 0); // Left
else if (col == 1) cellParams.setMargins(margin/2, 0, margin/2, 0); // Center
@@ -235,26 +240,35 @@ public class DashboardFragment extends Fragment {
cell.setLayoutParams(cellParams);
- // Small LED
- View led = new View(requireContext());
- led.setLayoutParams(new LinearLayout.LayoutParams(20, 20));
- led.setBackgroundResource(R.drawable.led_off);
- led.setId(View.generateViewId());
+ if (index < TARGET_MODULES.length) {
+ cell.setOrientation(LinearLayout.HORIZONTAL);
+ cell.setBackgroundResource(R.drawable.rounded_button);
+ cell.setBackgroundTintList(android.content.res.ColorStateList.valueOf(
+ androidx.core.content.ContextCompat.getColor(requireContext(), R.color.dash_module_bg)));
+ cell.setPadding(16, 24, 16, 24);
+ cell.setGravity(android.view.Gravity.CENTER);
- // Module name
- TextView name = new TextView(requireContext());
- LinearLayout.LayoutParams textParams = new LinearLayout.LayoutParams(
- ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
- textParams.setMargins(12, 0, 0, 0);
- name.setLayoutParams(textParams);
- name.setText(getString((Integer) TARGET_MODULES[index][1]));
- name.setTextColor(androidx.core.content.ContextCompat.getColor(requireContext(), R.color.dash_module_text));
- name.setTextSize(11f);
- name.setSingleLine(true);
+ View led = new View(requireContext());
+ led.setLayoutParams(new LinearLayout.LayoutParams(20, 20));
+ led.setBackgroundResource(R.drawable.led_off);
+ led.setId(View.generateViewId());
- cell.addView(led);
- cell.addView(name);
- cell.setTag(TARGET_MODULES[index][0]);
+ TextView name = new TextView(requireContext());
+ LinearLayout.LayoutParams textParams = new LinearLayout.LayoutParams(
+ ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+ textParams.setMargins(12, 0, 0, 0);
+ name.setLayoutParams(textParams);
+ name.setText(getString((Integer) TARGET_MODULES[index][1]));
+ name.setTextColor(androidx.core.content.ContextCompat.getColor(requireContext(), R.color.dash_module_text));
+ name.setTextSize(11f);
+ name.setSingleLine(true);
+
+ cell.addView(led);
+ cell.addView(name);
+ cell.setTag(TARGET_MODULES[index][0]);
+ } else {
+ cell.setVisibility(View.INVISIBLE);
+ }
rowLayout.addView(cell);
}
@@ -267,12 +281,26 @@ public class DashboardFragment extends Fragment {
// 1. Ping the network once
boolean isMainServerAlive = pingUrl("http://localhost:8085/home");
+ if (!isAdded() || getActivity() == null) return;
+
// 2. Ask the State Machine for the definitive truth
currentSystemState = evaluateSystemState(isMainServerAlive);
- // 3. Update the UI on the main thread
- requireActivity().runOnUiThread(() -> {
+ // 3. Push the state to MainActivity
+ if (getActivity() instanceof MainActivity) {
+ ((MainActivity) getActivity()).currentSystemState = currentSystemState;
+ getActivity().runOnUiThread(() -> {
+ if (getActivity() instanceof MainActivity) {
+ ((MainActivity) getActivity()).updateUIColorsAndVisibility();
+ }
+ });
+ }
+ // --- CHECKPOINT 2 ---
+ if (!isAdded() || getActivity() == null) return;
+
+ // 4. Update the UI on the main thread
+ getActivity().runOnUiThread(() -> {
// Configure the Top Traffic Light (Server Status)
if (currentSystemState == SystemState.ONLINE) {
badgeStatus.setText(R.string.dash_online);
@@ -319,7 +347,7 @@ public class DashboardFragment extends Fragment {
}
});
- // 4. Scan individual modules (Only if the system is ONLINE)
+ // 5. Scan individual modules (Only if the system is ONLINE)
for (int r = 0; r < modulesContainer.getChildCount(); r++) {
LinearLayout row = (LinearLayout) modulesContainer.getChildAt(r);
@@ -333,7 +361,9 @@ public class DashboardFragment extends Fragment {
// Module ON = (System is ONLINE) AND (URL responds)
boolean isModuleAlive = (currentSystemState == SystemState.ONLINE) && pingUrl("http://localhost:8085/" + endpoint);
- requireActivity().runOnUiThread(() -> {
+ if (!isAdded() || getActivity() == null) return;
+
+ getActivity().runOnUiThread(() -> {
led.setBackgroundResource(isModuleAlive ? R.drawable.led_on_green : R.drawable.led_off);
});
}
diff --git a/apk/controller/app/src/main/java/org/iiab/controller/MainActivity.java b/apk/controller/app/src/main/java/org/iiab/controller/MainActivity.java
index 533a366..3357eed 100644
--- a/apk/controller/app/src/main/java/org/iiab/controller/MainActivity.java
+++ b/apk/controller/app/src/main/java/org/iiab/controller/MainActivity.java
@@ -94,6 +94,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
private TextView versionFooter;
public boolean isServerAlive = false;
public boolean isNegotiating = false;
+ public DashboardFragment.SystemState currentSystemState = DashboardFragment.SystemState.NONE;
public boolean isProxyDegraded = false;
public Boolean targetServerState = null;
public String serverTransitionText = "";
@@ -191,7 +192,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
}).attach();
versionFooter = findViewById(R.id.version_text);
setVersionFooter();
- viewPager.setCurrentItem(1, false);
+ viewPager.setCurrentItem(0, false);
// 1. Initialize Result Launchers
vpnPermissionLauncher = registerForActivityResult(
@@ -329,7 +330,6 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
private void runNegotiationSequence() {
isNegotiating = true;
runOnUiThread(() -> {
- if (usageFragment != null) usageFragment.startExplorePulse(); // The orange button starts to beat.
updateUIColorsAndVisibility(); // We forced an immediate visual update
});
diff --git a/apk/controller/app/src/main/java/org/iiab/controller/UsageFragment.java b/apk/controller/app/src/main/java/org/iiab/controller/UsageFragment.java
index 69d9220..fb3a314 100644
--- a/apk/controller/app/src/main/java/org/iiab/controller/UsageFragment.java
+++ b/apk/controller/app/src/main/java/org/iiab/controller/UsageFragment.java
@@ -55,7 +55,6 @@ public class UsageFragment extends Fragment implements View.OnClickListener {
private ProgressButton btnServerControl;
private ObjectAnimator fusionAnimator;
- private ObjectAnimator exploreAnimator;
private DashboardManager dashboardManager;
@Override
@@ -119,7 +118,13 @@ public class UsageFragment extends Fragment implements View.OnClickListener {
});
// Listeners
- watchdogControl.setOnClickListener(v -> mainActivity.handleWatchdogClick());
+ watchdogControl.setOnClickListener(v -> {
+ if (mainActivity.currentSystemState == DashboardFragment.SystemState.NONE) {
+ Snackbar.make(v, R.string.termux_not_installed_error, Snackbar.LENGTH_LONG).show();
+ return;
+ }
+ mainActivity.handleWatchdogClick();
+ });
button_control.setOnClickListener(v -> mainActivity.handleControlClick());
button_browse_content.setOnClickListener(v -> mainActivity.handleBrowseContentClick(v));
btnClearLog.setOnClickListener(this);
@@ -135,6 +140,16 @@ public class UsageFragment extends Fragment implements View.OnClickListener {
button_save.setOnClickListener(this);
btnServerControl.setOnClickListener(v -> {
+ // --- Intercept based on State Machine ---
+ DashboardFragment.SystemState state = mainActivity.currentSystemState;
+ boolean isFullyInstalled = (state == DashboardFragment.SystemState.ONLINE || state == DashboardFragment.SystemState.OFFLINE);
+
+ if (!isFullyInstalled) {
+ Snackbar.make(v, R.string.server_not_installed_warning, 6000).show();
+ return; // Stop execution here
+ }
+ // --------------------------------------------------
+
if (mainActivity.targetServerState != null) return;
mainActivity.serverTransitionText = !mainActivity.isServerAlive ? getString(R.string.server_booting) : getString(R.string.server_shutting_down);
@@ -262,7 +277,6 @@ public class UsageFragment extends Fragment implements View.OnClickListener {
// Explore Button
button_browse_content.setVisibility(View.VISIBLE);
if (!mainActivity.isServerAlive) {
- stopExplorePulse();
button_browse_content.setEnabled(true);
button_browse_content.setBackgroundTintList(ContextCompat.getColorStateList(requireContext(), R.color.btn_explore_disabled));
button_browse_content.setAlpha(1.0f);
@@ -271,25 +285,38 @@ public class UsageFragment extends Fragment implements View.OnClickListener {
button_browse_content.setEnabled(true);
button_browse_content.setTextColor(Color.WHITE);
} else {
- stopExplorePulse();
button_browse_content.setEnabled(true);
button_browse_content.setTextColor(Color.WHITE);
button_browse_content.setBackgroundTintList(ContextCompat.getColorStateList(requireContext(), R.color.btn_explore_ready));
if (isVpnActive && !mainActivity.isProxyDegraded) {
button_browse_content.setAlpha(1.0f);
- startExplorePulse();
} else {
button_browse_content.setAlpha(0.6f);
}
}
- // Server Control Logic
- if (mainActivity.targetServerState != null) {
+// Server Control Logic
+ DashboardFragment.SystemState state = mainActivity.currentSystemState;
+ boolean isFullyInstalled = (state == DashboardFragment.SystemState.ONLINE || state == DashboardFragment.SystemState.OFFLINE);
+
+ if (!isFullyInstalled) {
+ // SYSTEM NOT READY: Gray out the button
+ btnServerControl.setAlpha(0.6f);
+ btnServerControl.setText(R.string.launch_server);
+ btnServerControl.setBackgroundTintList(ContextCompat.getColorStateList(requireContext(), R.color.btn_explore_disabled));
+
+ // Also gray out the watchdog since the server isn't installed
+ deckContainer.setBackgroundColor(Color.TRANSPARENT);
+ watchdogControl.setBackgroundTintList(ContextCompat.getColorStateList(requireContext(), R.color.btn_watchdog_off));
+
+ } else if (mainActivity.targetServerState != null) {
+ // TRANSITIONING STATE
btnServerControl.setAlpha(0.6f);
btnServerControl.setText(mainActivity.serverTransitionText);
btnServerControl.setBackgroundTintList(ContextCompat.getColorStateList(requireContext(), R.color.btn_explore_disabled));
} else {
+ // SYSTEM READY: Normal behavior
btnServerControl.setAlpha(1.0f);
if (mainActivity.isServerAlive) {
btnServerControl.setText(R.string.stop_server);
@@ -334,28 +361,6 @@ public class UsageFragment extends Fragment implements View.OnClickListener {
fusionAnimator.start();
}
- public void startExplorePulse() {
- button_browse_content.setAlpha(1.0f);
- button_browse_content.setBackgroundTintList(ContextCompat.getColorStateList(requireContext(), R.color.btn_explore_ready));
- if (exploreAnimator == null) {
- PropertyValuesHolder scaleX = PropertyValuesHolder.ofFloat(View.SCALE_X, 1.0f, 1.03f);
- PropertyValuesHolder scaleY = PropertyValuesHolder.ofFloat(View.SCALE_Y, 1.0f, 1.03f);
- exploreAnimator = ObjectAnimator.ofPropertyValuesHolder(button_browse_content, scaleX, scaleY);
- exploreAnimator.setDuration(800);
- exploreAnimator.setRepeatCount(ObjectAnimator.INFINITE);
- exploreAnimator.setRepeatMode(ObjectAnimator.REVERSE);
- }
- if (!exploreAnimator.isRunning()) exploreAnimator.start();
- }
-
- public void stopExplorePulse() {
- if (exploreAnimator != null && exploreAnimator.isRunning()) exploreAnimator.cancel();
- button_browse_content.setScaleX(1.0f);
- button_browse_content.setScaleY(1.0f);
- button_browse_content.setBackgroundTintList(ContextCompat.getColorStateList(requireContext(), R.color.btn_explore_ready));
- button_browse_content.setAlpha(0.6f);
- }
-
public void finalizeEntryPulse() {
if (fusionAnimator != null) fusionAnimator.cancel();
deckContainer.setAlpha(1f);
diff --git a/apk/controller/app/src/main/res/drawable/ic_auto_towing.xml b/apk/controller/app/src/main/res/drawable/ic_auto_towing.xml
new file mode 100644
index 0000000..eb828ad
--- /dev/null
+++ b/apk/controller/app/src/main/res/drawable/ic_auto_towing.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/apk/controller/app/src/main/res/layout/activity_setup.xml b/apk/controller/app/src/main/res/layout/activity_setup.xml
index 9296bae..bf6dc60 100644
--- a/apk/controller/app/src/main/res/layout/activity_setup.xml
+++ b/apk/controller/app/src/main/res/layout/activity_setup.xml
@@ -107,7 +107,7 @@
android:id="@+id/btn_manage_all"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:text="Manage All Permissions"
+ android:text="@string/setup_manage_all_permissions"
android:textAllCaps="false"
android:gravity="start|center_vertical"
android:textColor="?android:attr/textColorPrimary"
@@ -122,7 +122,7 @@
+ android:layout_marginBottom="0dp">
+ android:layout_marginBottom="0dp">
+ android:textSize="18sp"
+ android:textColor="?android:attr/textColorPrimary"
+ android:layout_marginTop="24dp"
+ android:layout_marginBottom="8dp"
+ android:paddingVertical="8dp"
+ android:paddingHorizontal="0dp"
+ android:background="?attr/selectableItemBackground"
+ android:clickable="true"
+ android:focusable="true"/>
+ android:src="@drawable/ic_auto_towing"
+ app:tint="?android:attr/textColorPrimary" />
@@ -41,8 +40,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/wifi"
- android:textColor="#FFFFFF"
- android:textStyle="bold" />
+ android:textColor="@color/dash_text_primary" android:textStyle="bold" />
+ android:textColor="@color/dash_text_primary" android:textStyle="bold" />
+ android:textColor="@color/dash_text_primary" android:textStyle="bold" />
@@ -97,6 +93,7 @@
android:id="@+id/control"
android:layout_width="match_parent"
android:layout_height="90dp"
+ android:layout_marginHorizontal="12dp"
android:text="@string/control_enable"
android:textSize="20sp"
android:textStyle="bold"
@@ -109,6 +106,7 @@
android:id="@+id/control_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_marginHorizontal="12dp"
android:text="@string/vpn_description"
android:textSize="13sp"
android:gravity="center"
@@ -120,7 +118,7 @@
android:id="@+id/btnBrowseContent"
android:layout_width="match_parent"
android:layout_height="90dp"
- android:layout_marginTop="8dp"
+ android:layout_marginHorizontal="12dp" android:layout_marginTop="8dp"
android:layout_marginBottom="12dp"
android:text="@string/browse_content"
android:textSize="21sp"
@@ -138,12 +136,15 @@
android:layout_height="wrap_content"
android:text="@string/advanced_settings_label"
android:textStyle="bold"
- android:padding="12dp"
- android:background="?attr/sectionHeaderBackground"
- android:textColor="#FFFFFF"
+ android:textSize="18sp"
+ android:textColor="?android:attr/textColorPrimary"
+ android:layout_marginTop="24dp"
+ android:layout_marginBottom="8dp"
+ android:paddingVertical="8dp"
+ android:paddingHorizontal="0dp"
+ android:background="?attr/selectableItemBackground"
android:clickable="true"
- android:focusable="true"
- android:layout_marginTop="20dp" />
+ android:focusable="true" />
+ android:padding="16dp"
+ android:background="@drawable/rounded_button"
+ android:backgroundTint="@color/dash_bg_card">
+ android:layout_marginBottom="0dp"/>
-
+
diff --git a/apk/controller/app/src/main/res/layout/main.xml b/apk/controller/app/src/main/res/layout/main.xml
index d292b65..d5fe609 100644
--- a/apk/controller/app/src/main/res/layout/main.xml
+++ b/apk/controller/app/src/main/res/layout/main.xml
@@ -37,7 +37,7 @@
android:background="?android:attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_center_focus_strong"
android:contentDescription="Share via QR"
- android:padding="10dp"
+ android:padding="12dp"
android:scaleType="fitCenter"
android:tint="#FFFFFF" />
@@ -48,7 +48,7 @@
android:background="?android:attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_menu_preferences"
android:contentDescription="Settings"
- android:padding="10dp"
+ android:padding="12dp"
android:scaleType="fitCenter"
android:tint="#FFFFFF" />
@@ -59,7 +59,7 @@
android:background="?android:attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_theme_system"
android:contentDescription="Toggle Theme"
- android:padding="10dp"
+ android:padding="12dp"
android:scaleType="fitCenter"
android:tint="#FFFFFF" />
@@ -82,14 +82,14 @@
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
+
\ No newline at end of file
diff --git a/apk/controller/app/src/main/res/values-es/strings.xml b/apk/controller/app/src/main/res/values-es/strings.xml
index 412a00d..bb8c66d 100644
--- a/apk/controller/app/src/main/res/values-es/strings.xml
+++ b/apk/controller/app/src/main/res/values-es/strings.xml
@@ -1,220 +1,233 @@
-
IIAB-oA Controllerv0.1.x
- Guardar
+
Cancelar
- Guardado
- Ajustes Guardados
- CORREGIR
- Configuración
- Ajustes del Túnel
- Log de Conexión
- AJUSTES
-
-
- Configuración Inicial
- Bienvenido al asistente de configuración de %1$s.\n\nPara funcionar correctamente, necesitamos los siguientes permisos:
- Notificaciones Push
- Ejecución de Termux
- Safe Pocket Web (VPN)
- Desactivar Optimización de Batería
- Continuar
- Para revocar permisos, debe hacerlo desde los ajustes del sistema.
- Termux no está instalado o el dispositivo no es compatible.
- Termux no está instalado.
-
-
- Activar Safe Pocket Web
- Desactivar Safe Pocket Web
- Habilite URLs amigables. Bloquee las amenazas.
- Dirección Socks:
- Dirección UDP Socks:
- Puerto Socks:
- Usuario Socks:
- Contraseña Socks:
- DNS IPv4:
- DNS IPv6:
- Relé UDP sobre TCP
- DNS Remoto
- IPv4
- IPv6
- Global
- Aplicaciones
- Deteniendo VPN...
- Iniciando VPN...
- Conexión iniciada por el usuario
- Permiso de VPN concedido. Conectando...
- socks5
-
-
- Activar\nWatchdog Maestro
- Desactivar\nWatchdog Maestro
- Protege Termux del modo Doze y mantiene el Wi-Fi activo.
- Watchdog Detenido
- Watchdog Iniciado
- Servicio IIAB Watchdog
- Asegura que los servicios permanezcan activos cuando la pantalla está apagada.
- IIAB Watchdog Activo
- Protegiendo el entorno Termux...
- Sincronizando estado del Watchdog. Activado: %b
- Watchdog Thread: Bucle iniciado
- Watchdog Thread: Interrumpido, deteniéndose...
- Watchdog Thread: Error en el bucle
- Watchdog Thread: Bucle finalizado
- CPU WakeLock adquirido bajo protección VPN
- Wi-Fi Lock adquirido bajo protección VPN
- Error al adquirir bloqueos
- CPU WakeLock liberado
- Wi-Fi Lock liberado
-
-
- Pulso: Estimulando Termux...
- CRÍTICO: El SO bloqueó el estímulo a Termux (SecurityException).
- PING 8085: OK
- PING 8085: FALLO (%s)
- SESIÓN DE LATIDO INICIADA
- SESIÓN DE LATIDO DETENIDA
- Permiso denegado: Asegúrese de que el manifiesto tiene RUN_COMMAND y la app no está restringida.
- Error inesperado enviando intent a Termux
- Error de Pulso: %s
- Fallo en la escritura de mantenimiento
- Fallo al escribir en BlackBox
- Pulso de recuperación recibido del sistema. Forzando VPN...
-
-
- [Termux] Estímulo OK (exit 0)
- [Termux] Error de pulso (exit %1$d): %2$s
- Advertencia: Tiempo de espera agotado en la transición de estado del servidor.
- Iniciando...
- Apagando...
- CRÍTICO: Fallo en el Intent de Termux: %s
- Enviado a Termux: %s
- Modo de mantenimiento activado: Termux tiene acceso directo a Internet
- 🛑 Detener Servidor
- 🚀 Iniciar Servidor
- Permiso de Termux concedido
- Permiso de Termux denegado
- Permiso de notificaciones concedido
- Permiso de notificaciones denegado
- Forzar a Termux a pasar a primer plano...
- ¿Termux no abre? Habilite Watchdog Maestro para forzar que obtenga el foco.
-
-
- ¿Reiniciar historial de log?
- Esto borrará permanentemente todos los logs de conexión guardados. Esta acción no se puede deshacer.
- El archivo de log está creciendo demasiado rápido, verifique si algo está fallando
- Reiniciar LogCopiar Todo
- Log reiniciado
- Log reiniciado por el usuario
- Log copiado al portapapeles
- Log borrado
- Fallo al reiniciar el log: %s
- Tamaño: %1$s / 10MB
- %d B
- %.1f KB
- %.2f MB
- --- No se encontró el archivo BlackBox ---
- --- Cargando Historial ---
- Error al leer el historial: %s
- --- Fin del Historial ---
+ CORREGIR
+ Guardar
-
- Optimización de Batería
- Para que el Watchdog funcione de manera confiable, desactive las optimizaciones de batería para esta aplicación.
- Ir a Ajustes
- \n\nOPPO/Realme detectado: Asegúrese de activar \'Permitir actividad en segundo plano\' en los ajustes de esta aplicación.
- \n\nXiaomi detectado: Establezca el ahorro de batería a \'Sin restricciones\' en los ajustes.
- Para que la app funcione al 100%, desactive la optimización de batería.
-
-
- 🚀 Explorar Contenido
- Sistema listo...\n
- Aplicación Iniciada
+ Ajustes del Túnel
+ Configuración
+ Log de Conexión▼ %s▶ %s
- Inicie el servidor para compartir contenido a través de la red.
- Active Wi-Fi o Hotspot para compartir contenido a través de la red.
- Red Wi-Fi
- Red Hotspot
- Cambiar Red
+ AJUSTES
-
- Desbloquear Watchdog Maestro
- Se requiere autenticación para detener la protección de Termux
- Autenticación exitosa. Desconectando...
- Autenticación requerida
- Autentíquese para desactivar el entorno seguro
- Seguridad Requerida
- Debe configurar un PIN, Patrón o Huella digital en su dispositivo antes de activar el entorno seguro.
-
-
- Recuperación VPN
- Safe Pocket Web Interrumpido
- Toque para restaurar el entorno seguro inmediatamente.
-
-
+ InstalaciónEstadoUso
- Instalación
- Tiempo de funcionamiento: %1$s
- IP: %1$s
-
+ Configuración Inicial
+ Bienvenido al asistente de configuración de %1$s.\n\nPara funcionar correctamente, necesitamos los siguientes permisos:
+ Continuar
+
+ Desactivar Optimización de Batería
+ Notificaciones Push
+ Acceso al almacenamiento local
+ Ejecución de Termux
+ Safe Pocket Web (VPN)
+ Administrar todos los permisos
+ Mostrar sobre otras aplicaciones
+ Administrar permisos de Termux
+
+ Archivos y medios (Almacenamiento)
+ Termux no está instalado.
+ Termux no está instalado o el dispositivo no es compatible.
+
+ Permiso de notificaciones denegado
+ Permiso de notificaciones concedido
+ Para revocar permisos, debe hacerlo desde los ajustes del sistema.
+ Permiso de Termux denegado
+ Permiso de Termux concedido
+
+
IIAB-oA Controllerlocalhost
- En línea
- Desconectado
- Cargando el dispositivo...
- Sistema IIAB-oA
- Estado del Servidor:
- Buscando instalación...
- Almacenamiento Principal
+ Cargando el dispositivo...
+ IP: %1$s
+ Activo: %1$s
+ Batería: %1$d%%
+ Batería: --%%
+ Hotspot: %1$s
+ Activo: %1$s
+ Wi-Fi: %1$s
+ Almacenamiento principalMemoria RAMSwap (Virtual)
+ Estado del Servidor:
+ Desconectado
+ En líneaEstado del Sistema
- Instalación detectada
- Termux Raw (Instalación requerida)
+ Sistema IIAB-oA
+
+ OS base instalado. Proceda a instalar IIAB.
+ Instalador encontrado, abra la pestaña de instalación para más información.
+ No se identificó ningún componente, ni siquiera Termux.
+ IIAB-oA parece estar desconectado, intente lanzarlo.
+ IIAB-oA esta en línea.
+ Termux encontrado, vaya a la pestaña de Instalación para operarlo.
+ Buscando instalación...Módulos Instalados
-
- WIP - En construcción
-
- El módulo Termux y el instalador de entorno estarán disponibles aquí pronto.
-
-
- Wi-Fi
- Hotspot
- Túnel
- Modo Mantenimiento
- Desactive Safe Pocket Web para poder modificar
-
-
- IIAB_Internal
- setup_complete
- IIAB-oA · 2026 · Controller %1$s
- IIAB-oA · 2026 · Controller v0.1.xbeta
- Error al invocar Termux: %1$s
- Tiempo de actividad: --
- Hotspot: --
- Wi-Fi: --
- "Battery: "
- Battery: --%
-
- Wi-Fi: %1$s
- Hotspot: %1$s
- Tiempo de actividad: %1$s
- Bateria: %1$d%%
- Bateria: --%%LibrosKiwixKolibriMapasMatomoSistema
+
+
+ Aplicaciones
+ 🚀 Explorar Contenido
+ 🚀 Iniciar Servidor
+ 🛑 Detener Servidor
+
+ El sistema IIAB-oA no parece estar (completamente) instalado. Por favor, verifique la pestaña de Estado o Instalación para más información.
+ Iniciando...
+ Apagando...
+ Advertencia: Tiempo de espera agotado en la transición de estado del servidor.
+ Sistema listo...\n
+
+ Hotspot
+ Túnel
+ Wi-Fi
+
+ Active Wi-Fi o Hotspot para compartir contenido a través de la red.
+ Inicie el servidor para compartir contenido a través de la red.
+ Cambiar Red
+ Red Hotspot
+ Red Wi-Fi
+
+
+ Desactivar Safe Pocket Web
+ Activar Safe Pocket Web
+
+ DNS IPv4:
+ DNS IPv6:
+ Global
+ IPv4
+ IPv6
+ Modo Mantenimiento
+ Desactive Safe Pocket Web para poder modificar
+ DNS Remoto
+ Dirección Socks:
+ Contraseña Socks:
+ Puerto Socks:
+ Dirección UDP Socks:
+ Usuario Socks:
+ Relé UDP sobre TCP
+
+ Recuperación VPN
+ Toque para restaurar el entorno seguro inmediatamente.
+ Safe Pocket Web Interrumpido
+ socks5
+ Conexión iniciada por el usuario
+ Habilite URLs amigables. Bloquee las amenazas.
+ Permiso de VPN concedido. Conectando...
+ Iniciando VPN...
+ Deteniendo VPN...
+
+
+ Desactivar\nWatchdog Maestro
+ Activar\nWatchdog Maestro
+ Protege Termux del Doze y mantiene el Wi-Fi activo.
+
+ Asegura que los servicios permanezcan activos cuando la pantalla está apagada.
+ Servicio IIAB Watchdog
+ Protegiendo el entorno Termux...
+ IIAB Watchdog Activo
+
+ CPU WakeLock adquirido bajo protección VPN
+ CPU WakeLock liberado
+ Error al adquirir bloqueos
+ Sincronizando estado del Watchdog. Activado: %b
+ Watchdog Iniciado
+ Watchdog Detenido
+ Watchdog Thread: Bucle finalizado
+ Watchdog Thread: Error en el bucle
+ Watchdog Thread: Interrumpido, deteniéndose...
+ Watchdog Thread: Bucle iniciado
+ Wi-Fi Lock adquirido bajo protección VPN
+ Wi-Fi Lock liberado
+
+ CRÍTICO: El SO bloqueó el estímulo a Termux (SecurityException).
+ CRÍTICO: Fallo en el Intent de Termux: %s
+ Forzar a Termux a pasar a primer plano...
+ Modo de mantenimiento activado: Termux tiene acceso directo a Internet
+ Fallo en la escritura de mantenimiento
+ Permiso denegado: Asegúrese de que el manifiesto tiene RUN_COMMAND y la app no está restringida.
+ PING 8085: FALLO (%s)
+ PING 8085: OK
+ Error de Pulso: %s
+ Pulso: Estimulando Termux...
+ Pulso de recuperación recibido del sistema. Forzando VPN...
+ Enviado a Termux: %s
+ SESIÓN DE LATIDO INICIADA
+ SESIÓN DE LATIDO DETENIDA
+ Error al invocar Termux: %1$s
+ [Termux] Error de pulso (exit %1$d): %2$s
+ [Termux] Estímulo OK (exit 0)
+ ¿Termux no abre? Habilite Watchdog Maestro para forzar que obtenga el foco.
+ Error inesperado enviando intent a Termux
+
+
+ --- Fin del Historial ---
+ Error al leer el historial: %s
+ Fallo al escribir en BlackBox
+ --- Cargando Historial ---
+ Log borrado
+ Log copiado al portapapeles
+ Esto borrará permanentemente todos los logs de conexión guardados. Esta acción no se puede deshacer.
+ ¿Reiniciar historial de log?
+ Fallo al reiniciar el log: %s
+ Log reiniciado
+ Log reiniciado por el usuario
+ %d B
+ Tamaño: %1$s / 10MB
+ %.1f KB
+ %.2f MB
+ El archivo de log está creciendo demasiado rápido, verifique si algo está fallando
+ --- No se encontró el archivo BlackBox ---
+
+
+ Autentíquese para desactivar el entorno seguro
+ Autenticación requerida
+ Autenticación exitosa. Desconectando...
+ Debe configurar un PIN, Patrón o Huella digital en su dispositivo antes de activar el entorno seguro.
+ Seguridad Requerida
+ Se requiere autenticación para detener la protección de Termux
+ Desbloquear Watchdog Maestro
+
+
+ Para que la app funcione al 100%, desactive la optimización de batería.
+ Para que el Watchdog funcione de manera confiable, desactive las optimizaciones de batería para esta aplicación.
+ \n\nOPPO/Realme detectado: Asegúrese de activar \'Permitir actividad en segundo plano\' en los ajustes de esta aplicación.
+ Optimización de Batería
+ \n\nXiaomi detectado: Establezca el ahorro de batería a \'Sin restricciones\' en los ajustes.
+ Ir a Ajustes
+
+
+ Aplicación Iniciada
+ El módulo Termux y el instalador de entorno estarán disponibles aquí pronto.
+ WIP - En construcción
+
+ "Batería: "
+ Batería: --%
+ Hotspot: --
+ IIAB_Internal
+ setup_complete
+ Guardado
+ Ajustes Guardados
+ Tiempo de actividad: --
+ IIAB-oA · 2026 · Controller v0.1.xbeta
+ IIAB-oA · 2026 · Controller %1$s
+ Wi-Fi: --
+ Ajuste de permisos Termux
+
+
diff --git a/apk/controller/app/src/main/res/values-fr/strings.xml b/apk/controller/app/src/main/res/values-fr/strings.xml
index cef6f4b..1982430 100644
--- a/apk/controller/app/src/main/res/values-fr/strings.xml
+++ b/apk/controller/app/src/main/res/values-fr/strings.xml
@@ -1,220 +1,231 @@
-
IIAB-oA Controllerv0.1.x
- Enregistrer
+
Annuler
- Enregistré
- Paramètres enregistrés
- CORRIGER
- Configuration
- Paramètres du tunnel
- Journal de connexion
- PARAMÈTRES
-
-
- Configuration initiale
- Bienvenue dans l\'assistant de configuration de %1$s.\n\nPour fonctionner correctement, nous avons besoin des autorisations suivantes :
- Notifications Push
- Exécution de Termux
- Safe Pocket Web (VPN)
- Désactiver l\'optimisation de la batterie
- Continuer
- Pour révoquer des autorisations, vous devez le faire depuis les paramètres système.
- Termux n\'est pas installé ou l\'appareil n\'est pas pris en charge.
- Termux n\'est pas installé.
-
-
- Activer Safe Pocket Web
- Désactiver Safe Pocket Web
- Activez des URL conviviales. Bloquez les menaces.
- Adresse Socks :
- Adresse UDP Socks :
- Port Socks :
- Nom d\'utilisateur Socks :
- Mot de passe Socks :
- DNS IPv4 :
- DNS IPv6 :
- Relais UDP sur TCP
- DNS distant
- IPv4
- IPv6
- Global
- Applications
- VPN en cours d\'arrêt...
- VPN en cours de démarrage...
- Connexion initiée par l\'utilisateur
- Autorisation VPN accordée. Connexion...
- socks5
-
-
- Activer\nle Watchdog maître
- Désactiver\nle Watchdog maître
- Protège Termux du mode Doze et maintient le Wi-Fi actif.
- Watchdog arrêté
- Watchdog démarré
- Service IIAB Watchdog
- Garantit que les services restent actifs lorsque l\'écran est éteint.
- IIAB Watchdog actif
- Protection de l\'environnement Termux...
- Synchronisation de l\'état du Watchdog. Activé : %b
- Watchdog Thread : Boucle démarrée
- Watchdog Thread : Interrompu, arrêt en cours...
- Watchdog Thread : Erreur dans la boucle
- Watchdog Thread : Boucle terminée
- CPU WakeLock acquis sous protection VPN
- Wi-Fi Lock acquis sous protection VPN
- Erreur lors de l\'acquisition des verrous
- CPU WakeLock libéré
- Wi-Fi Lock libéré
-
-
- Pulse : Stimulation de Termux...
- CRITIQUE : Le système d\'exploitation a bloqué la stimulation de Termux (SecurityException).
- PING 8085 : OK
- PING 8085 : ÉCHEC (%s)
- SESSION DE HEARTBEAT DÉMARRÉE
- SESSION DE HEARTBEAT ARRÊTÉE
- Autorisation refusée : Assurez-vous que le manifeste contient RUN_COMMAND et que l\'application n\'est pas restreinte.
- Erreur inattendue lors de l\'envoi de l\'intention vers Termux
- Erreur de Pulse : %s
- Échec de l\'écriture de maintenance
- Échec de l\'écriture dans BlackBox
- Pulse de récupération reçu du système. VPN en cours d\'application...
-
-
- [Termux] Stimulus OK (exit 0)
- [Termux] Erreur de Pulse (exit %1$d) : %2$s
- Avertissement : Le délai de transition de l\'état du serveur a expiré.
- Démarrage...
- Arrêt en cours...
- CRITIQUE : Échec de l\'intention Termux : %s
- Envoyé à Termux : %s
- Mode de maintenance activé : Termux a un accès direct à Internet
- 🛑 Arrêter le serveur
- 🚀 Lancer le serveur
- Autorisation Termux accordée
- Autorisation Termux refusée
- Autorisation de notification accordée
- Autorisation de notification refusée
- Forcer Termux au premier plan...
- Termux ne s\'ouvre pas ? Activez le Watchdog maître pour le forcer à prendre le focus.
-
-
- Réinitialiser l\'historique des journaux ?
- Cela supprimera définitivement tous les journaux de connexion enregistrés. Cette action ne peut pas être annulée.
- Le fichier de journalisation croît trop rapidement, vous devriez peut-être vérifier si quelque chose échoue.
- Réinitialiser le journalTout copier
- Journal réinitialisé
- Journal réinitialisé par l\'utilisateur
- Journal copié dans le presse-papier
- Journal effacé
- Échec de la réinitialisation du journal : %s
- Taille : %1$s / 10 Mo
- %d o
- %.1f Ko
- %.2f Mo
- --- Aucun fichier BlackBox trouvé ---
- --- Chargement de l\'historique ---
- Erreur lors de la lecture de l\'historique : %s
- --- Fin de l\'historique ---
+ CORRIGER
+ Enregistrer
-
- Optimisation de la batterie
- Pour que le Watchdog fonctionne de manière fiable, veuillez désactiver les optimisations de batterie pour cette application.
- Aller aux paramètres
- \n\nOPPO/Realme détecté : Veuillez vous assurer d\'activer « Autoriser l\'activité en arrière-plan » dans les paramètres de cette application.
- \n\nXiaomi détecté : Veuillez régler l\'économie de batterie sur « Aucune restriction » dans les paramètres.
- Pour que l\'application fonctionne à 100 %, veuillez désactiver l\'optimisation de la batterie.
-
-
- 🚀 Explorer le contenu
- Système prêt...\n
- Application démarrée
+ Paramètres du tunnel
+ Configuration
+ Journal de connexion▼ %s▶ %s
- Lancez le serveur pour partager du contenu sur le réseau.
- Activez le Wi-Fi ou le point d\'accès pour partager du contenu sur le réseau.
- Réseau Wi-Fi
- Réseau point d\'accès
- Changer de réseau
+ PARAMÈTRES
-
- Déverrouiller le Watchdog maître
- Authentification requise pour arrêter la protection Termux
- Authentification réussie. Déconnexion...
- Authentification requise
- Authentifiez-vous pour désactiver l\'environnement sécurisé
- Sécurité requise
- Vous devez définir un code PIN, un schéma ou une empreinte digitale sur votre appareil avant d\'activer l\'environnement sécurisé.
-
-
- Récupération VPN
- Safe Pocket Web interrompu
- Appuyez pour restaurer immédiatement l\'environnement sécurisé.
-
-
+ InstallationStatutUtilisation
- Installation
- Temps de fonctionnement : %1$s
- IP : %1$s
-
+ Configuration initiale
+ Bienvenue dans l\'assistant de configuration de %1$s.\n\nPour fonctionner correctement, nous avons besoin des autorisations suivantes :
+ Continuer
+
+ Désactiver l\'optimisation de la batterie
+ Notifications Push
+ Accès au stockage local
+ Exécution de Termux
+ Safe Pocket Web (VPN)
+
+ Fichiers et médias (Stockage)
+ Termux n\'est pas installé.
+ Termux n\'est pas installé ou l\'appareil n\'est pas pris en charge.
+
+ Autorisation de notification refusée
+ Autorisation de notification accordée
+ Pour révoquer des autorisations, vous devez le faire depuis les paramètres système.
+ Autorisation Termux refusée
+ Autorisation Termux accordée
+
+
IIAB-oA Controllerlocalhost
- En ligne
- Hors ligne
- Chargement de l\'appareil...
- Système IIAB-oA
- Statut du serveur :
- Recherche d\'installation...
+ Chargement de l\'appareil...
+ IP: %1$s
+ Temps de fonctionnement: %1$s
+ Batterie: %1$d%%
+ Batterie: --%%
+ Point d\'accès: %1$s
+ Temps de fonctionnement: %1$s
+ Wi-Fi: %1$sStockage principalMémoire RAMSwap (virtuel)
+ Statut du serveur:
+ Hors ligne
+ En ligneÉtat du système
- Installation détectée
- Termux brut (installation requise)
+ Système IIAB-oA
+
+ OS de base installé. Procédez à l\'installation de IIAB.
+ Installateur trouvé, ouvrez l\'onglet installation pour plus d\'informations.
+ Aucun composant identifié, même pas Termux.
+ IIAB-oA semble hors ligne, essayez de le lancer.
+ IIAB-oA est en ligne.
+ Termux trouvé, allez dans l\'onglet Installation pour le gérer.
+ Recherche d\'installation...Modules installés
-
- WIP - En construction
-
- Le module Termux et l\'installateur d\'environnement seront disponibles ici prochainement.
-
-
- Wi-Fi
- Point d\'accès
- Tunnel
- Mode de maintenance
- Désactivez Safe Pocket Web pour pouvoir modifier
-
-
- IIAB_Internal
- setup_complete
- IIAB-oA · 2026 · Controller %1$s
- IIAB-oA · 2026 · Controller v0.1.xbeta
- Erreur lors de l\'invocation de Termux : %1$s
- Temps d\'activité : --
- Point d\'accès : --
- Wi-Fi : --
- "Battery: "
- Battery: --%
-
- Wi-Fi: %1$s
- Hotspot: %1$s
- Uptime: %1$s
- Battery: %1$d%%
- Battery: --%%
- Books
+ LivresKiwixKolibri
- Maps
+ CartesMatomo
- System
+ Système
+
+
+ Applications
+ 🚀 Explorer le contenu
+ 🚀 Lancer le serveur
+ 🛑 Arrêter le serveur
+
+ Le système IIAB-oA ne semble pas être (entièrement) installé. Veuillez vérifier l\'onglet Statut ou Installation pour plus d\'informations.
+ Démarrage...
+ Arrêt en cours...
+ Avertissement: Le délai de transition de l\'état du serveur a expiré.
+ Système prêt...\n
+
+ Point d\'accès
+ Tunnel
+ Wi-Fi
+
+ Activez le Wi-Fi ou le point d\'accès pour partager du contenu sur le réseau.
+ Lancez le serveur pour partager du contenu sur le réseau.
+ Changer de réseau
+ Réseau point d\'accès
+ Réseau Wi-Fi
+
+
+ Désactiver Safe Pocket Web
+ Activer Safe Pocket Web
+
+ DNS IPv4:
+ DNS IPv6:
+ Global
+ IPv4
+ IPv6
+ Mode de maintenance
+ Désactivez Safe Pocket Web pour pouvoir modifier
+ DNS distant
+ Adresse Socks:
+ Mot de passe Socks:
+ Port Socks:
+ Adresse UDP Socks:
+ Nom d\'utilisateur Socks:
+ Relais UDP sur TCP
+
+ Récupération VPN
+ Appuyez pour restaurer immédiatement l\'environnement sécurisé.
+ Safe Pocket Web interrompu
+ socks5
+ Connexion initiée par l\'utilisateur
+ Activez des URL conviviales. Bloquez les menaces.
+ Autorisation VPN accordée. Connexion...
+ Démarrage VPN...
+ Arrêt VPN...
+
+
+ Désactiver\nle Watchdog maître
+ Activer\nle Watchdog maître
+ Protège Termux du mode Doze et maintient le Wi-Fi actif.
+
+ Garantit que les services restent actifs lorsque l\'écran est éteint.
+ Service IIAB Watchdog
+ Protection de l\'environnement Termux...
+ IIAB Watchdog actif
+
+ CPU WakeLock acquis sous protection VPN
+ CPU WakeLock libéré
+ Erreur lors de l\'acquisition des verrous
+ Synchronisation de l\'état du Watchdog. Activé: %b
+ Watchdog démarré
+ Watchdog arrêté
+ Watchdog Thread: Boucle terminée
+ Watchdog Thread: Erreur dans la boucle
+ Watchdog Thread: Interrompu, arrêt en cours...
+ Watchdog Thread: Boucle démarrée
+ Wi-Fi Lock acquis sous protection VPN
+ Wi-Fi Lock libéré
+
+ CRITIQUE: Le système d\'exploitation a bloqué la stimulation de Termux (SecurityException).
+ CRITIQUE: Échec de l\'intention Termux: %s
+ Forcer Termux au premier plan...
+ Mode de maintenance activé: Termux a un accès direct à Internet
+ Échec de l\'écriture de maintenance
+ Autorisation refusée: Assurez-vous que le manifeste contient RUN_COMMAND et que l\'application n\'est pas restreinte.
+ PING 8085: ÉCHEC (%s)
+ PING 8085: OK
+ Erreur de Pulse: %s
+ Pulse: Stimulation de Termux...
+ Pulse de récupération reçu du système. VPN en cours d\'application...
+ Envoyé à Termux: %s
+ SESSION DE HEARTBEAT DÉMARRÉE
+ SESSION DE HEARTBEAT ARRÊTÉE
+ Erreur lors de l\'invocation de Termux: %1$s
+ [Termux] Erreur de Pulse (exit %1$d): %2$s
+ [Termux] Stimulus OK (exit 0)
+ Termux ne s\'ouvre pas? Activez le Watchdog maître pour le forcer à prendre le focus.
+ Erreur inattendue lors de l\'envoi de l\'intention vers Termux
+
+
+ --- Fin de l\'historique ---
+ Erreur lors de la lecture de l\'historique: %s
+ Échec de l\'écriture dans BlackBox
+ --- Chargement de l\'historique ---
+ Journal effacé
+ Journal copié dans le presse-papier
+ Cela supprimera définitivement tous les journaux de connexion enregistrés. Cette action ne peut pas être annulée.
+ Réinitialiser l\'historique des journaux?
+ Échec de la réinitialisation du journal: %s
+ Journal réinitialisé
+ Journal réinitialisé par l\'utilisateur
+ %d o
+ Taille: %1$s / 10 Mo
+ %.1f Ko
+ %.2f Mo
+ Le fichier de journalisation croît trop rapidement, vérifiez si quelque chose échoue
+ --- Aucun fichier BlackBox trouvé ---
+
+
+ Authentifiez-vous pour désactiver l\'environnement sécurisé
+ Authentification requise
+ Authentification réussie. Déconnexion...
+ Vous devez définir un code PIN, un schéma ou une empreinte digitale sur votre appareil avant d\'activer l\'environnement sécurisé.
+ Sécurité requise
+ Authentification requise pour arrêter la protection Termux
+ Déverrouiller le Watchdog maître
+
+
+ Pour que l\'application fonctionne à 100%, veuillez désactiver l\'optimisation de la batterie.
+ Pour que le Watchdog fonctionne de manière fiable, veuillez désactiver les optimisations de batterie pour cette application.
+ \n\nOPPO/Realme détecté: Veuillez vous assurer d\'activer \'Autoriser l\'activité en arrière-plan\' dans les paramètres de cette application.
+ Optimisation de la batterie
+ \n\nXiaomi détecté: Veuillez régler l\'économie de batterie sur \'Aucune restriction\' dans les paramètres.
+ Aller aux paramètres
+
+
+ Application démarrée
+ Le module Termux et l\'installateur d\'environnement seront disponibles ici prochainement.
+ WIP - En construction
+
+ "Batterie: "
+ Batterie: --%
+ Point d\'accès: --
+ IIAB_Internal
+ setup_complete
+ Enregistré
+ Paramètres enregistrés
+ Temps de fonctionnement: --
+ IIAB-oA · 2026 · Controller v0.1.xbeta
+ IIAB-oA · 2026 · Controller %1$s
+ Wi-Fi: --
+ Display over other apps
+ Manage All Permissions
+ Manage Termux permissions
+ Termux custom permissions
diff --git a/apk/controller/app/src/main/res/values-hi/strings.xml b/apk/controller/app/src/main/res/values-hi/strings.xml
index 8fb56a6..4c2b970 100644
--- a/apk/controller/app/src/main/res/values-hi/strings.xml
+++ b/apk/controller/app/src/main/res/values-hi/strings.xml
@@ -1,220 +1,231 @@
-
IIAB-oA Controllerv0.1.x
- सहेजें
+
रद्द करें
- सहेजा गया
- सेटिंग्स सहेजी गईं
- ठीक करें
- कॉन्फ़िगरेशन
- टनल सेटिंग्स
- कनेक्शन लॉग
- सेटिंग्स
-
-
- प्रारंभिक सेटअप
- %1$s सेटअप विज़ार्ड में आपका स्वागत है।\n\nठीक से काम करने के लिए, हमें निम्नलिखित अनुमतियों की आवश्यकता है:
- पुश सूचनाएं
- Termux निष्पादन
- Safe Pocket Web (VPN)
- बैटरी अनुकूलन अक्षम करें
- जारी रखें
- अनुमतियां रद्द करने के लिए, आपको सिस्टम सेटिंग्स में जाना होगा।
- Termux इंस्टॉल नहीं है या डिवाइस समर्थित नहीं है।
- Termux इंस्टॉल नहीं है।
-
-
- Safe Pocket Web सक्षम करें
- Safe Pocket Web अक्षम करें
- अनुकूल URL सक्षम करें। खतरों को ब्लॉक करें।
- Socks पता:
- Socks UDP पता:
- Socks पोर्ट:
- Socks उपयोगकर्ता नाम:
- Socks पासवर्ड:
- DNS IPv4:
- DNS IPv6:
- TCP पर UDP रिले
- रिमोट DNS
- IPv4
- IPv6
- ग्लोबल
- ऐप्स
- VPN बंद हो रहा है...
- VPN शुरू हो रहा है...
- उपयोगकर्ता द्वारा शुरू किया गया कनेक्शन
- VPN अनुमति दी गई। कनेक्ट हो रहा है...
- socks5
-
-
- मास्टर वॉचडॉग\nसक्षम करें
- मास्टर वॉचडॉग\nअक्षम करें
- Termux को Doze मोड से बचाता है और Wi-Fi को सक्रिय रखता है।
- वॉचडॉग बंद
- वॉचडॉग शुरू
- IIAB वॉचडॉग सेवा
- यह सुनिश्चित करता है कि स्क्रीन बंद होने पर भी सेवाएं सक्रिय रहें।
- IIAB वॉचडॉग सक्रिय
- Termux वातावरण की सुरक्षा...
- वॉचडॉग स्थिति सिंक हो रही है। सक्षम: %b
- वॉचडॉग थ्रेड: लूप शुरू हुआ
- वॉचडॉग थ्रेड: बाधित, बंद हो रहा है...
- वॉचडॉग थ्रेड: लूप में त्रुटि
- वॉचडॉग थ्रेड: लूप समाप्त
- VPN सुरक्षा के तहत CPU WakeLock प्राप्त
- VPN सुरक्षा के तहत Wi-Fi Lock प्राप्त
- लॉक प्राप्त करने में त्रुटि
- CPU WakeLock जारी
- Wi-Fi Lock जारी
-
-
- पल्स: Termux को उत्तेजित करना...
- क्रिटिकल: OS ने Termux उत्तेजना को ब्लॉक कर दिया (SecurityException)।
- PING 8085: OK
- PING 8085: विफल (%s)
- हार्टबीट सत्र शुरू हुआ
- हार्टबीट सत्र बंद हुआ
- अनुमति अस्वीकार: सुनिश्चित करें कि मैनिफ़ेस्ट में RUN_COMMAND है और ऐप प्रतिबंधित नहीं है।
- Termux पर इंटेंट भेजने में अनपेक्षित त्रुटि
- पल्स त्रुटि: %s
- रखरखाव लेखन विफल
- BlackBox में लिखने में विफल
- सिस्टम से रिकवरी पल्स प्राप्त। VPN लागू किया जा रहा है...
-
-
- [Termux] स्टिमुलस OK (exit 0)
- [Termux] पल्स त्रुटि (exit %1$d): %2$s
- चेतावनी: सर्वर स्थिति परिवर्तन का समय समाप्त हो गया।
- बूट हो रहा है...
- बंद हो रहा है...
- क्रिटिकल: Termux इंटेंट विफल: %s
- Termux को भेजा गया: %s
- रखरखाव मोड सक्षम: Termux के पास सीधा इंटरनेट एक्सेस है
- 🛑 सर्वर बंद करें
- 🚀 सर्वर लॉन्च करें
- Termux अनुमति दी गई
- Termux अनुमति अस्वीकार
- सूचना अनुमति दी गई
- सूचना अनुमति अस्वीकार
- Termux को फॉरग्राउंड में मजबूर किया जा रहा है...
- Termux नहीं खुल रहा है? फोकस पाने के लिए मास्टर वॉचडॉग सक्षम करें।
-
-
- लॉग इतिहास रीसेट करें?
- यह सभी संग्रहीत कनेक्शन लॉग को स्थायी रूप से हटा देगा। यह कार्रवाई पूर्ववत नहीं की जा सकती।
- लॉग फ़ाइल बहुत तेज़ी से बढ़ रही है, आपको जांचना चाहिए कि क्या कुछ विफल हो रहा है
- लॉग रीसेट करेंसभी कॉपी करें
- लॉग रीसेट किया गया
- उपयोगकर्ता द्वारा लॉग रीसेट
- लॉग क्लिपबोर्ड पर कॉपी किया गया
- लॉग साफ़ किया गया
- लॉग रीसेट करने में विफल: %s
- आकार: %1$s / 10MB
- %d B
- %.1f KB
- %.2f MB
- --- कोई BlackBox फ़ाइल नहीं मिली ---
- --- इतिहास लोड हो रहा है ---
- इतिहास पढ़ने में त्रुटि: %s
- --- इतिहास का अंत ---
+ ठीक करें
+ सहेजें
-
- बैटरी अनुकूलन
- वॉचडॉग के विश्वसनीय रूप से काम करने के लिए, कृपया इस ऐप के लिए बैटरी अनुकूलन को अक्षम करें।
- सेटिंग्स पर जाएं
- \n\nOPPO/Realme पहचाना गया: कृपया सुनिश्चित करें कि आप इस ऐप की सेटिंग्स में \'Allow background activity\' सक्षम करें।
- \n\nXiaomi पहचाना गया: कृपया सेटिंग्स में बैटरी सेवर को \'No restrictions\' पर सेट करें।
- ऐप को 100% काम करने के लिए, कृपया बैटरी अनुकूलन को अक्षम करें।
-
-
- 🚀 सामग्री देखें
- सिस्टम तैयार...\n
- एप्लिकेशन शुरू हुआ
+ टनल सेटिंग्स
+ कॉन्फ़िगरेशन
+ कनेक्शन लॉग▼ %s▶ %s
- नेटवर्क पर सामग्री साझा करने के लिए सर्वर लॉन्च करें।
- नेटवर्क पर सामग्री साझा करने के लिए Wi-Fi या हॉटस्पॉट सक्षम करें।
- Wi-Fi नेटवर्क
- हॉटस्पॉट नेटवर्क
- नेटवर्क स्विच करें
+ सेटिंग्स
-
- मास्टर वॉचडॉग अनलॉक करें
- Termux सुरक्षा को रोकने के लिए प्रमाणीकरण आवश्यक है
- प्रमाणीकरण सफल। डिस्कनेक्ट हो रहा है...
- प्रमाणीकरण आवश्यक है
- सुरक्षित वातावरण को अक्षम करने के लिए प्रमाणित करें
- सुरक्षा आवश्यक
- सुरक्षित वातावरण को सक्षम करने से पहले आपको अपने डिवाइस पर PIN, पैटर्न या फ़िंगरप्रिंट सेट करना होगा।
-
-
- VPN रिकवरी
- Safe Pocket Web बाधित
- सुरक्षित वातावरण को तुरंत बहाल करने के लिए टैप करें।
-
-
+ इंस्टालेशनस्थितिउपयोग
- इंस्टालेशन
- अपटाइम: %1$s
- IP: %1$s
-
+ प्रारंभिक सेटअप
+ %1$s सेटअप विज़ार्ड में आपका स्वागत है।\n\nठीक से काम करने के लिए, हमें निम्नलिखित अनुमतियों की आवश्यकता है:
+ जारी रखें
+
+ बैटरी अनुकूलन अक्षम करें
+ पुश सूचनाएं
+ स्थानीय स्टोरेज एक्सेस
+ Termux निष्पादन
+ Safe Pocket Web (VPN)
+
+ फ़ाइलें और मीडिया (स्टोरेज)
+ Termux इंस्टॉल नहीं है।
+ Termux इंस्टॉल नहीं है या डिवाइस समर्थित नहीं है।
+
+ सूचना अनुमति अस्वीकार
+ सूचना अनुमति दी गई
+ अनुमतियां रद्द करने के लिए, आपको सिस्टम सेटिंग्स में जाना होगा।
+ Termux अनुमति अस्वीकार
+ Termux अनुमति दी गई
+
+
IIAB-oA Controllerlocalhost
- ऑनलाइन
- ऑफ़लाइन
- डिवाइस चार्ज हो रहा है...
- सिस्टम IIAB-oA
- सर्वर स्थिति:
- इंस्टालेशन खोज रहा है...
+ डिवाइस लोड हो रहा है...
+ IP: %1$s
+ अपटाइम: %1$s
+ बैटरी: %1$d%%
+ बैटरी: --%%
+ हॉटस्पॉट: %1$s
+ अपटाइम: %1$s
+ Wi-Fi: %1$sमुख्य स्टोरेजRAM मेमोरीस्वैप (वर्चुअल)
+ सर्वर स्थिति:
+ ऑफ़लाइन
+ ऑनलाइनसिस्टम स्थिति
- इंस्टालेशन मिला
- Termux Raw (इंस्टालेशन आवश्यक)
+ सिस्टम IIAB-oA
+
+ बेस OS इंस्टॉल है। IIAB इंस्टॉल करना जारी रखें।
+ इंस्टॉलर मिला, अधिक जानकारी के लिए इंस्टालेशन टैब खोलें।
+ कोई घटक नहीं मिला, यहाँ तक कि Termux भी नहीं।
+ IIAB-oA ऑफ़लाइन लग रहा है, इसे लॉन्च करने का प्रयास करें।
+ IIAB-oA ऑनलाइन है।
+ Termux मिला, इसे प्रबंधित करने के लिए इंस्टालेशन टैब पर जाएं।
+ इंस्टालेशन खोज रहा है...इंस्टॉल किए गए मॉड्यूल
-
- WIP - निर्माणाधीन
-
- Termux मॉड्यूल और वातावरण इंस्टॉलर जल्द ही यहां उपलब्ध होंगे।
-
-
- Wi-Fi
- हॉटस्पॉट
- टनल
- रखरखाव मोड
- संशोधन करने के लिए Safe Pocket Web अक्षम करें
-
-
- IIAB_Internal
- setup_complete
- IIAB-oA · 2026 · Controller %1$s
- IIAB-oA · 2026 · Controller v0.1.xbeta
- Termux को बुलाने में त्रुटि: %1$s
- अपटाइम: --
- हॉटस्पॉट: --
- Wi-Fi: --
- "Battery: "
- Battery: --%
-
- Wi-Fi: %1$s
- Hotspot: %1$s
- Uptime: %1$s
- Battery: %1$d%%
- Battery: --%%
- Books
+ पुस्तकेंKiwixKolibri
- Maps
+ मानचित्रMatomo
- System
-
\ No newline at end of file
+ सिस्टम
+
+
+ ऐप्स
+ 🚀 सामग्री देखें
+ 🚀 सर्वर लॉन्च करें
+ 🛑 सर्वर बंद करें
+
+ IIAB-oA सिस्टम (पूरी तरह से) इंस्टॉल नहीं लग रहा है। कृपया अधिक जानकारी के लिए स्थिति या इंस्टालेशन टैब देखें।
+ बूट हो रहा है...
+ बंद हो रहा है...
+ चेतावनी: सर्वर स्थिति परिवर्तन का समय समाप्त हो गया।
+ सिस्टम तैयार...\n
+
+ हॉटस्पॉट
+ टनल
+ Wi-Fi
+
+ नेटवर्क पर सामग्री साझा करने के लिए Wi-Fi या हॉटस्पॉट सक्षम करें।
+ नेटवर्क पर सामग्री साझा करने के लिए सर्वर लॉन्च करें।
+ नेटवर्क स्विच करें
+ हॉटस्पॉट नेटवर्क
+ Wi-Fi नेटवर्क
+
+
+ Safe Pocket Web अक्षम करें
+ Safe Pocket Web सक्षम करें
+
+ DNS IPv4:
+ DNS IPv6:
+ ग्लोबल
+ IPv4
+ IPv6
+ रखरखाव मोड
+ संशोधन करने के लिए Safe Pocket Web अक्षम करें
+ रिमोट DNS
+ Socks पता:
+ Socks पासवर्ड:
+ Socks पोर्ट:
+ Socks UDP पता:
+ Socks उपयोगकर्ता नाम:
+ TCP पर UDP रिले
+
+ VPN रिकवरी
+ सुरक्षित वातावरण को तुरंत बहाल करने के लिए टैप करें।
+ Safe Pocket Web बाधित
+ socks5
+ उपयोगकर्ता द्वारा शुरू किया गया कनेक्शन
+ अनुकूल URL सक्षम करें। खतरों को ब्लॉक करें।
+ VPN अनुमति दी गई। कनेक्ट हो रहा है...
+ VPN शुरू हो रहा है...
+ VPN बंद हो रहा है...
+
+
+ मास्टर वॉचडॉग\nअक्षम करें
+ मास्टर वॉचडॉग\nसक्षम करें
+ Termux को Doze मोड से बचाता है और Wi-Fi को सक्रिय रखता है।
+
+ यह सुनिश्चित करता है कि स्क्रीन बंद होने पर भी सेवाएं सक्रिय रहें।
+ IIAB वॉचडॉग सेवा
+ Termux वातावरण की सुरक्षा...
+ IIAB वॉचडॉग सक्रिय
+
+ VPN सुरक्षा के तहत CPU WakeLock प्राप्त
+ CPU WakeLock जारी
+ लॉक प्राप्त करने में त्रुटि
+ वॉचडॉग स्थिति सिंक हो रही है। सक्षम: %b
+ वॉचडॉग शुरू
+ वॉचडॉग बंद
+ वॉचडॉग थ्रेड: लूप समाप्त
+ वॉचडॉग थ्रेड: लूप में त्रुटि
+ वॉचडॉग थ्रेड: बाधित, बंद हो रहा है...
+ वॉचडॉग थ्रेड: लूप शुरू हुआ
+ VPN सुरक्षा के तहत Wi-Fi Lock प्राप्त
+ Wi-Fi Lock जारी
+
+ क्रिटिकल: OS ने Termux उत्तेजना को ब्लॉक कर दिया (SecurityException)।
+ क्रिटिकल: Termux इंटेंट विफल: %s
+ Termux को फॉरग्राउंड में मजबूर किया जा रहा है...
+ रखरखाव मोड सक्षम: Termux के पास सीधा इंटरनेट एक्सेस है
+ रखरखाव लेखन विफल
+ अनुमति अस्वीकार: सुनिश्चित करें कि मैनिफ़ेस्ट में RUN_COMMAND है और ऐप प्रतिबंधित नहीं है।
+ PING 8085: विफल (%s)
+ PING 8085: OK
+ पल्स त्रुटि: %s
+ पल्स: Termux को उत्तेजित करना...
+ सिस्टम से रिकवरी पल्स प्राप्त। VPN लागू किया जा रहा है...
+ Termux को भेजा गया: %s
+ हार्टबीट सत्र शुरू हुआ
+ हार्टबीट सत्र बंद हुआ
+ Termux को बुलाने में त्रुटि: %1$s
+ [Termux] पल्स त्रुटि (exit %1$d): %2$s
+ [Termux] स्टिमुलस OK (exit 0)
+ Termux नहीं खुल रहा है? फोकस पाने के लिए मास्टर वॉचडॉग सक्षम करें।
+ Termux पर इंटेंट भेजने में अनपेक्षित त्रुटि
+
+
+ --- इतिहास का अंत ---
+ इतिहास पढ़ने में त्रुटि: %s
+ BlackBox में लिखने में विफल
+ --- इतिहास लोड हो रहा है ---
+ लॉग साफ़ किया गया
+ लॉग क्लिपबोर्ड पर कॉपी किया गया
+ यह सभी संग्रहीत कनेक्शन लॉग को स्थायी रूप से हटा देगा। यह कार्रवाई पूर्ववत नहीं की जा सकती।
+ लॉग इतिहास रीसेट करें?
+ लॉग रीसेट करने में विफल: %s
+ लॉग रीसेट किया गया
+ उपयोगकर्ता द्वारा लॉग रीसेट
+ %d B
+ आकार: %1$s / 10MB
+ %.1f KB
+ %.2f MB
+ लॉग फ़ाइल बहुत तेज़ी से बढ़ रही है, आपको जांचना चाहिए कि क्या कुछ विफल हो रहा है
+ --- कोई BlackBox फ़ाइल नहीं मिली ---
+
+
+ सुरक्षित वातावरण को अक्षम करने के लिए प्रमाणित करें
+ प्रमाणीकरण आवश्यक है
+ प्रमाणीकरण सफल। डिस्कनेक्ट हो रहा है...
+ सुरक्षित वातावरण को सक्षम करने से पहले आपको अपने डिवाइस पर PIN, पैटर्न या फ़िंगरप्रिंट सेट करना होगा।
+ सुरक्षा आवश्यक
+ Termux सुरक्षा को रोकने के लिए प्रमाणीकरण आवश्यक है
+ मास्टर वॉचडॉग अनलॉक करें
+
+
+ ऐप को 100% काम करने के लिए, कृपया बैटरी अनुकूलन को अक्षम करें।
+ वॉचडॉग के विश्वसनीय रूप से काम करने के लिए, कृपया इस ऐप के लिए बैटरी अनुकूलन को अक्षम करें।
+ \n\nOPPO/Realme पहचाना गया: कृपया सुनिश्चित करें कि आप इस ऐप की सेटिंग्स में \'Allow background activity\' सक्षम करें।
+ बैटरी अनुकूलन
+ \n\nXiaomi पहचाना गया: कृपया सेटिंग्स में बैटरी सेवर को \'No restrictions\' पर सेट करें।
+ सेटिंग्स पर जाएं
+
+
+ एप्लिकेशन शुरू हुआ
+ Termux मॉड्यूल और वातावरण इंस्टॉलर जल्द ही यहां उपलब्ध होंगे।
+ WIP - निर्माणाधीन
+
+ "Battery: "
+ Battery: --%
+ हॉटस्पॉट: --
+ IIAB_Internal
+ setup_complete
+ सहेजा गया
+ सेटिंग्स सहेजी गईं
+ अपटाइम: --
+ IIAB-oA · 2026 · Controller v0.1.xbeta
+ IIAB-oA · 2026 · Controller %1$s
+ Wi-Fi: --
+ Display over other apps
+ Manage All Permissions
+ Manage Termux permissions
+ Termux custom permissions
+
diff --git a/apk/controller/app/src/main/res/values-night/colors.xml b/apk/controller/app/src/main/res/values-night/colors.xml
index 19f524d..2f31b19 100644
--- a/apk/controller/app/src/main/res/values-night/colors.xml
+++ b/apk/controller/app/src/main/res/values-night/colors.xml
@@ -9,4 +9,6 @@
#333333#FFB300#4CAF50
+
+ #888888
\ No newline at end of file
diff --git a/apk/controller/app/src/main/res/values-pt/strings.xml b/apk/controller/app/src/main/res/values-pt/strings.xml
index a3865ee..e612eeb 100644
--- a/apk/controller/app/src/main/res/values-pt/strings.xml
+++ b/apk/controller/app/src/main/res/values-pt/strings.xml
@@ -1,220 +1,231 @@
-
IIAB-oA Controllerv0.1.x
- Salvar
+
Cancelar
- Salvo
- Configurações salvas
- CORRIGIR
- Configuração
- Configurações do Túnel
- Log de Conexão
- CONFIGURAÇÕES
-
-
- Configuração Inicial
- Bem-vindo ao assistente de configuração do %1$s.\n\nPara funcionar corretamente, precisamos das seguintes permissões:
- Notificações Push
- Execução do Termux
- Safe Pocket Web (VPN)
- Desativar Otimização de Bateria
- Continuar
- Para revogar permissões, você deve fazê-lo nas configurações do sistema.
- O Termux não está instalado ou o dispositivo não é compatível.
- O Termux não está instalado.
-
-
- Ativar Safe Pocket Web
- Desativar Safe Pocket Web
- Ative URLs amigáveis. Bloqueie as ameaças.
- Endereço Socks:
- Endereço UDP Socks:
- Porta Socks:
- Usuário Socks:
- Senha Socks:
- DNS IPv4:
- DNS IPv6:
- Relé UDP sobre TCP
- DNS Remoto
- IPv4
- IPv6
- Global
- Aplicativos
- Parando VPN...
- Iniciando VPN...
- Conexão iniciada pelo usuário
- Permissão de VPN concedida. Conectando...
- socks5
-
-
- Ativar\nWatchdog Mestre
- Desativar\nWatchdog Mestre
- Protege o Termux do modo Doze e mantém o Wi-Fi ativo.
- Watchdog Parado
- Watchdog Iniciado
- Serviço IIAB Watchdog
- Garante que os serviços permaneçam ativos quando a tela estiver desligada.
- IIAB Watchdog Ativo
- Protegendo o ambiente Termux...
- Sincronizando estado do Watchdog. Ativado: %b
- Watchdog Thread: Loop iniciado
- Watchdog Thread: Interrompido, parando...
- Watchdog Thread: Erro no loop
- Watchdog Thread: Loop encerrado
- CPU WakeLock adquirido sob proteção VPN
- Wi-Fi Lock adquirido sob proteção VPN
- Erro ao adquirir bloqueios
- CPU WakeLock liberado
- Wi-Fi Lock liberado
-
-
- Pulso: Estimulando o Termux...
- CRÍTICO: O SO bloqueou o estímulo do Termux (SecurityException).
- PING 8085: OK
- PING 8085: FALHA (%s)
- SESSÃO DE BATIMENTO CARDÍACO INICIADA
- SESSÃO DE BATIMENTO CARDÍACO PARADA
- Permissão Negada: Certifique-se de que o manifesto tem RUN_COMMAND e o aplicativo não está restrito.
- Erro inesperado ao enviar intent para o Termux
- Erro de Pulso: %s
- Falha na escrita de manutenção
- Falha ao escrever no BlackBox
- Pulso de recuperação recebido do sistema. Forçando VPN...
-
-
- [Termux] Estímulo OK (exit 0)
- [Termux] Erro de Pulso (exit %1$d): %2$s
- Aviso: Tempo limite de transição de estado do servidor excedido.
- Inicializando...
- Desligando...
- CRÍTICO: Falha no Intent do Termux: %s
- Enviado para o Termux: %s
- Modo de manutenção ativado: Termux tem acesso direto à Internet
- 🛑 Parar Servidor
- 🚀 Iniciar Servidor
- Permissão do Termux concedida
- Permissão do Termux negada
- Permissão de notificação concedida
- Permissão de notificação negada
- Forçando o Termux para o primeiro plano...
- Termux não abre? Ative o Watchdog Mestre para forçá-lo a ganhar foco.
-
-
- Redefinir Histórico de Log?
- Isso apagará permanentemente todos os logs de conexão armazenados. Esta ação não pode ser desfeita.
- O arquivo de log está crescendo muito rapidamente, verifique se algo está falhando.
- Redefinir LogCopiar Tudo
- Log redefinido
- Log redefinido pelo usuário
- Log copiado para a área de transferência
- Log limpo
- Falha ao redefinir log: %s
- Tamanho: %1$s / 10MB
- %d B
- %.1f KB
- %.2f MB
- --- Nenhum arquivo BlackBox encontrado ---
- --- Carregando Histórico ---
- Erro ao ler histórico: %s
- --- Fim do Histórico ---
+ CORRIGIR
+ Salvar
-
- Otimização de Bateria
- Para que o Watchdog funcione de forma confiável, desative as otimizações de bateria para este aplicativo.
- Ir para Configurações
- \n\nOPPO/Realme detectado: Certifique-se de ativar \'Permitir atividade em segundo plano\' nas configurações deste aplicativo.
- \n\nXiaomi detectado: Defina a economia de bateria para \'Sem restrições\' nas configurações.
- Para que o app funcione 100%, desative a otimização de bateria.
-
-
- 🚀 Explorar Conteúdo
- Sistema pronto...\n
- Aplicativo Iniciado
+ Configurações do Túnel
+ Configuração
+ Log de Conexão▼ %s▶ %s
- Inicie o servidor para compartilhar conteúdo pela rede.
- Ative o Wi-Fi ou Hotspot para compartilhar conteúdo pela rede.
- Rede Wi-Fi
- Rede Hotspot
- Trocar Rede
+ CONFIGURAÇÕES
-
- Desbloquear Watchdog Mestre
- Autenticação necessária para parar a proteção do Termux
- Autenticação bem-sucedida. Desconectando...
- Autenticação necessária
- Autentique-se para desativar o ambiente seguro
- Segurança Necessária
- Você deve definir um PIN, Padrão ou Impressão Digital no seu dispositivo antes de ativar o ambiente seguro.
-
-
- Recuperação de VPN
- Safe Pocket Web Interrompido
- Toque para restaurar o ambiente seguro imediatamente.
-
-
+ InstalaçãoStatusUso
- Instalação
- Tempo de atividade: %1$s
- IP: %1$s
-
+ Configuração Inicial
+ Bem-vindo ao assistente de configuração do %1$s.\n\nPara funcionar corretamente, precisamos das seguintes permissões:
+ Continuar
+
+ Desativar Otimização de Bateria
+ Notificações Push
+ Acesso ao armazenamento local
+ Execução do Termux
+ Safe Pocket Web (VPN)
+
+ Arquivos e mídia (Armazenamento)
+ O Termux não está instalado.
+ O Termux não está instalado ou o dispositivo não é compatível.
+
+ Permissão de notificação negada
+ Permissão de notificação concedida
+ Para revogar permissões, você deve fazê-lo nas configurações do sistema.
+ Permissão do Termux negada
+ Permissão do Termux concedida
+
+
IIAB-oA Controllerlocalhost
- Online
- Offline
- Carregando o dispositivo...
- Sistema IIAB-oA
- Status do Servidor:
- Buscando instalação...
- Armazenamento Principal
+ Carregando o dispositivo...
+ IP: %1$s
+ Tempo de atividade: %1$s
+ Bateria: %1$d%%
+ Bateria: --%%
+ Hotspot: %1$s
+ Tempo de atividade: %1$s
+ Wi-Fi: %1$s
+ Armazenamento principalMemória RAMSwap (Virtual)
+ Status do Servidor:
+ Offline
+ OnlineEstado do Sistema
- Instalação Detectada
- Termux Bruto (Instalação Necessária)
+ Sistema IIAB-oA
+
+ SO base instalado. Prossiga com a instalação do IIAB.
+ Instalador encontrado, abra a aba de instalação para mais informações.
+ Nenhum componente identificado, nem mesmo o Termux.
+ O IIAB-oA parece estar offline, tente iniciá-lo.
+ IIAB-oA está online.
+ Termux encontrado, vá para a aba Instalação para gerenciá-lo.
+ Buscando instalação...Módulos Instalados
-
- WIP - Em Construção
-
- O módulo Termux e o instalador de ambiente estarão disponíveis aqui em breve.
-
-
- Wi-Fi
- Hotspot
- Túnel
- Modo de Manutenção
- Desative o Safe Pocket Web para poder modificar
-
-
- IIAB_Internal
- setup_complete
- IIAB-oA · 2026 · Controller %1$s
- IIAB-oA · 2026 · Controller v0.1.xbeta
- Erro ao invocar Termux: %1$s
- Tempo de atividade: --
- Hotspot: --
- Wi-Fi: --
- "Battery: "
- Battery: --%
-
- Wi-Fi: %1$s
- Hotspot: %1$s
- Uptime: %1$s
- Battery: %1$d%%
- Battery: --%%
- Books
+ LivrosKiwixKolibri
- Maps
+ MapasMatomo
- System
+ Sistema
+
+
+ Aplicativos
+ 🚀 Explorar Conteúdo
+ 🚀 Iniciar Servidor
+ 🛑 Parar Servidor
+
+ O sistema IIAB-oA não parece estar (totalmente) instalado. Verifique a aba Status ou Instalação para mais informações.
+ Inicializando...
+ Desligando...
+ Aviso: Tempo limite de transição de estado do servidor excedido.
+ Sistema pronto...\n
+
+ Hotspot
+ Túnel
+ Wi-Fi
+
+ Ative o Wi-Fi ou Hotspot para compartilhar conteúdo pela rede.
+ Inicie o servidor para compartilhar conteúdo pela rede.
+ Trocar Rede
+ Rede Hotspot
+ Rede Wi-Fi
+
+
+ Desativar Safe Pocket Web
+ Ativar Safe Pocket Web
+
+ DNS IPv4:
+ DNS IPv6:
+ Global
+ IPv4
+ IPv6
+ Modo de Manutenção
+ Desative o Safe Pocket Web para poder modificar
+ DNS Remoto
+ Endereço Socks:
+ Senha Socks:
+ Porta Socks:
+ Endereço UDP Socks:
+ Usuário Socks:
+ Relé UDP sobre TCP
+
+ Recuperação de VPN
+ Toque para restaurar o ambiente seguro imediatamente.
+ Safe Pocket Web Interrompido
+ socks5
+ Conexão iniciada pelo usuário
+ Ative URLs amigáveis. Bloqueie as ameaças.
+ Permissão de VPN concedida. Conectando...
+ Iniciando VPN...
+ Parando VPN...
+
+
+ Desativar\nWatchdog Mestre
+ Ativar\nWatchdog Mestre
+ Protege o Termux do modo Doze e mantém o Wi-Fi ativo.
+
+ Garante que os serviços permaneçam ativos quando a tela estiver desligada.
+ Serviço IIAB Watchdog
+ Protegendo o ambiente Termux...
+ IIAB Watchdog Ativo
+
+ CPU WakeLock adquirido sob proteção VPN
+ CPU WakeLock liberado
+ Erro ao adquirir bloqueios
+ Sincronizando estado do Watchdog. Ativado: %b
+ Watchdog Iniciado
+ Watchdog Parado
+ Watchdog Thread: Loop encerrado
+ Watchdog Thread: Erro no loop
+ Watchdog Thread: Interrompido, parando...
+ Watchdog Thread: Loop iniciado
+ Wi-Fi Lock adquirido sob proteção VPN
+ Wi-Fi Lock liberado
+
+ CRÍTICO: O SO bloqueou o estímulo do Termux (SecurityException).
+ CRÍTICO: Falha no Intent do Termux: %s
+ Forçando o Termux para o primeiro plano...
+ Modo de manutenção ativado: Termux tem acesso direto à Internet
+ Falha na escrita de manutenção
+ Permissão Negada: Certifique-se de que o manifesto tem RUN_COMMAND e o aplicativo não está restrito.
+ PING 8085: FALHA (%s)
+ PING 8085: OK
+ Erro de Pulso: %s
+ Pulso: Estimulando o Termux...
+ Pulso de recuperação recebido do sistema. Forçando VPN...
+ Enviado para o Termux: %s
+ SESSÃO DE BATIMENTO CARDÍACO INICIADA
+ SESSÃO DE BATIMENTO CARDÍACO PARADA
+ Erro ao invocar Termux: %1$s
+ [Termux] Erro de Pulso (exit %1$d): %2$s
+ [Termux] Estímulo OK (exit 0)
+ Termux não abre? Ative o Watchdog Mestre para forçá-lo a ganhar foco.
+ Erro inesperado ao enviar intent para o Termux
+
+
+ --- Fim do Histórico ---
+ Erro ao ler histórico: %s
+ Falha ao escrever no BlackBox
+ --- Carregando Histórico ---
+ Log limpo
+ Log copiado para a área de transferência
+ Isso apagará permanentemente todos os logs de conexão armazenados. Esta ação não pode ser desfeita.
+ Redefinir Histórico de Log?
+ Falha ao redefinir log: %s
+ Log redefinido
+ Log redefinido pelo usuário
+ %d B
+ Tamanho: %1$s / 10MB
+ %.1f KB
+ %.2f MB
+ O arquivo de log está crescendo muito rapidamente, verifique se algo está falhando
+ --- Nenhum arquivo BlackBox encontrado ---
+
+
+ Autentique-se para desativar o ambiente seguro
+ Autenticação necessária
+ Autenticação bem-sucedida. Desconectando...
+ Você deve definir um PIN, Padrão ou Impressão Digital no seu dispositivo antes de ativar o ambiente seguro.
+ Segurança Necessária
+ Autenticação necessária para parar a proteção do Termux
+ Desbloquear Watchdog Mestre
+
+
+ Para que o app funcione 100%, desative a otimização de bateria.
+ Para que o Watchdog funcione de forma confiável, desative as otimizações de bateria para este aplicativo.
+ \n\nOPPO/Realme detectado: Certifique-se de ativar \'Permitir atividade em segundo plano\' nas configurações deste aplicativo.
+ Otimização de Bateria
+ \n\nXiaomi detectado: Defina a economia de bateria para \'Sem restrições\' nas configurações.
+ Ir para Configurações
+
+
+ Aplicativo Iniciado
+ O módulo Termux e o instalador de ambiente estarão disponíveis aqui em breve.
+ WIP - Em Construção
+
+ "Bateria: "
+ Bateria: --%
+ Hotspot: --
+ IIAB_Internal
+ setup_complete
+ Salvo
+ Configurações salvas
+ Tempo de atividade: --
+ IIAB-oA · 2026 · Controller v0.1.xbeta
+ IIAB-oA · 2026 · Controller %1$s
+ Wi-Fi: --
+ Display over other apps
+ Manage All Permissions
+ Manage Termux permissions
+ Termux custom permissions
diff --git a/apk/controller/app/src/main/res/values-ru-rRU/strings.xml b/apk/controller/app/src/main/res/values-ru-rRU/strings.xml
index 43bc336..b5a5630 100644
--- a/apk/controller/app/src/main/res/values-ru-rRU/strings.xml
+++ b/apk/controller/app/src/main/res/values-ru-rRU/strings.xml
@@ -1,220 +1,231 @@
-
IIAB-oA Controllerv0.1.x
- Сохранить
+
Отмена
- Сохранено
- Настройки сохранены
- ИСПРАВИТЬ
- Конфигурация
- Настройки туннеля
- Журнал подключений
- НАСТРОЙКИ
-
-
- Начальная настройка
- Добро пожаловать в мастер настройки %1$s.\n\nДля правильной работы нам нужны следующие разрешения:
- Push-уведомления
- Выполнение Termux
- Safe Pocket Web (VPN)
- Отключить оптимизацию батареи
- Продолжить
- Чтобы отозвать разрешения, это нужно сделать в настройках системы.
- Termux не установлен или устройство не поддерживается.
- Termux не установлен.
-
-
- Включить Safe Pocket Web
- Выключить Safe Pocket Web
- Включить дружественные URL. Блокировать угрозы.
- Адрес Socks:
- UDP адрес Socks:
- Порт Socks:
- Имя пользователя Socks:
- Пароль Socks:
- DNS IPv4:
- DNS IPv6:
- UDP ретрансляция через TCP
- Удаленный DNS
- IPv4
- IPv6
- Глобально
- Приложения
- Остановка VPN...
- Запуск VPN...
- Соединение инициировано пользователем
- Разрешение VPN получено. Подключение...
- socks5
-
-
- Включить\nМастер Watchdog
- Выключить\nМастер Watchdog
- Защищает Termux от режима Doze и поддерживает Wi-Fi активным.
- Watchdog остановлен
- Watchdog запущен
- Служба IIAB Watchdog
- Гарантирует, что службы остаются активными при выключенном экране.
- IIAB Watchdog активен
- Защита окружения Termux...
- Синхронизация состояния Watchdog. Включено: %b
- Watchdog Thread: Цикл запущен
- Watchdog Thread: Прервано, остановка...
- Watchdog Thread: Ошибка в цикле
- Watchdog Thread: Цикл завершен
- CPU WakeLock получен под защитой VPN
- Wi-Fi Lock получен под защитой VPN
- Ошибка получения блокировок
- CPU WakeLock освобожден
- Wi-Fi Lock освобожден
-
-
- Пульс: Стимуляция Termux...
- КРИТИЧЕСКАЯ ОШИБКА: ОС заблокировала стимуляцию Termux (SecurityException).
- PING 8085: OK
- PING 8085: ОШИБКА (%s)
- СЕАНС СЕРДЦЕБИЕНИЯ ЗАПУЩЕН
- СЕАНС СЕРДЦЕБИЕНИЯ ОСТАНОВЛЕН
- В доступе отказано: убедитесь, что в манифесте есть RUN_COMMAND и приложение не ограничено.
- Непредвиденная ошибка при отправке intent в Termux
- Ошибка пульса: %s
- Ошибка записи обслуживания
- Ошибка записи в BlackBox
- Пульс восстановления получен от системы. Принудительный VPN...
-
-
- [Termux] Стимул OK (exit 0)
- [Termux] Ошибка пульса (exit %1$d): %2$s
- Предупреждение: Время ожидания перехода состояния сервера истекло.
- Загрузка...
- Выключение...
- КРИТИЧЕСКАЯ ОШИБКА: Ошибка Intent Termux: %s
- Отправлено в Termux: %s
- Режим обслуживания включен: Termux имеет прямой доступ в Интернет
- 🛑 Остановить сервер
- 🚀 Запустить сервер
- Разрешение Termux предоставлено
- Разрешение Termux отклонено
- Разрешение на уведомления предоставлено
- Разрешение на уведомления отклонено
- Принудительно перевести Termux на передний план...
- Termux не открывается? Включите Мастер Watchdog, чтобы принудительно вывести его на передний план.
-
-
- Сбросить историю журнала?
- Это безвозвратно удалит все сохраненные журналы подключений. Это действие нельзя отменить.
- Файл журнала растет слишком быстро, возможно, стоит проверить, нет ли ошибки
- Сбросить журналСкопировать все
- Журнал сброшен
- Журнал сброшен пользователем
- Журнал скопирован в буфер обмена
- Журнал очищен
- Ошибка сброса журнала: %s
- Размер: %1$s / 10MB
- %d B
- %.1f KB
- %.2f MB
- --- Файл BlackBox не найден ---
- --- Загрузка истории ---
- Ошибка чтения истории: %s
- --- Конец истории ---
+ ИСПРАВИТЬ
+ Сохранить
-
- Оптимизация батареи
- Для надежной работы Watchdog, пожалуйста, отключите оптимизацию батареи для этого приложения.
- Перейти к настройкам
- \n\nOPPO/Realme обнаружен: Пожалуйста, убедитесь, что вы включили "Разрешить фоновую активность" в настройках этого приложения.
- \n\nXiaomi обнаружен: Пожалуйста, установите экономию заряда батареи на "Без ограничений" в настройках.
- Для 100% работы приложения, пожалуйста, отключите оптимизацию батареи.
-
-
- 🚀 Исследовать контент
- Система готова...\n
- Приложение запущено
+ Настройки туннеля
+ Конфигурация
+ Журнал подключений▼ %s▶ %s
- Запустите сервер, чтобы поделиться контентом по сети.
- Включите Wi-Fi или точку доступа, чтобы поделиться контентом по сети.
- Сеть Wi-Fi
- Сеть точки доступа
- Переключить сеть
+ НАСТРОЙКИ
-
- Разблокировать Мастер Watchdog
- Требуется аутентификация для остановки защиты Termux
- Аутентификация успешна. Отключение...
- Требуется аутентификация
- Пройдите аутентификацию, чтобы отключить безопасное окружение
- Требуется безопасность
- Перед активацией безопасного окружения необходимо установить PIN-код, графический ключ или отпечаток пальца на устройстве.
-
-
- Восстановление VPN
- Safe Pocket Web прерван
- Нажмите, чтобы немедленно восстановить безопасное окружение.
-
-
+ УстановкаСтатусИспользование
- Установка
- Время работы: %1$s
- IP: %1$s
-
+ Начальная настройка
+ Добро пожаловать в мастер настройки %1$s.\n\nДля правильной работы нам нужны следующие разрешения:
+ Продолжить
+
+ Отключить оптимизацию батареи
+ Push-уведомления
+ Доступ к локальному хранилищу
+ Выполнение Termux
+ Safe Pocket Web (VPN)
+
+ Файлы и медиа (Хранилище)
+ Termux не установлен.
+ Termux не установлен или устройство не поддерживается.
+
+ Разрешение на уведомления отклонено
+ Разрешение на уведомления предоставлено
+ Чтобы отозвать разрешения, это нужно сделать в настройках системы.
+ Разрешение Termux отклонено
+ Разрешение Termux предоставлено
+
+
IIAB-oA Controllerlocalhost
- В сети
- Оффлайн
- Зарядка устройства...
- Система IIAB-oA
- Статус сервера:
- Поиск установки...
+ Загрузка устройства...
+ IP: %1$s
+ Время работы: %1$s
+ Батарея: %1$d%%
+ Батарея: --%%
+ Точка доступа: %1$s
+ Время работы: %1$s
+ Wi-Fi: %1$sОсновная памятьОЗУSwap (Виртуальная)
+ Статус сервера:
+ Оффлайн
+ В сетиСостояние системы
- Установка обнаружена
- Termux Raw (Требуется установка)
+ Система IIAB-oA
+
+ ОС установлена. Перейдите к установке IIAB.
+ Установщик найден, откройте вкладку установки для получения подробной информации.
+ Компоненты не найдены, даже Termux.
+ IIAB-oA оффлайн, попробуйте запустить его.
+ IIAB-oA доступен онлайн.
+ Termux найден, перейдите на вкладку Установка, чтобы управлять им.
+ Поиск установки...Установленные модули
-
- WIP - В разработке
-
- Модуль Termux и установщик окружения скоро будут доступны здесь.
-
-
- Wi-Fi
- Точка доступа
- Туннель
- Режим обслуживания
- Отключите Safe Pocket Web для внесения изменений
-
-
- IIAB_Internal
- setup_complete
- IIAB-oA · 2026 · Controller %1$s
- IIAB-oA · 2026 · Controller v0.1.xbeta
- Ошибка вызова Termux: %1$s
- Время работы: --
- Точка доступа: --
- Wi-Fi: --
- "Battery: "
- Battery: --%
-
- Wi-Fi: %1$s
- Hotspot: %1$s
- Uptime: %1$s
- Battery: %1$d%%
- Battery: --%%
- Books
+ КнигиKiwixKolibri
- Maps
+ КартыMatomo
- System
+ Система
+
+
+ Приложения
+ 🚀 Исследовать контент
+ 🚀 Запустить сервер
+ 🛑 Остановить сервер
+
+ Система IIAB-oA (полностью) не установлена. Проверьте вкладку Статус или Установка для получения подробной информации.
+ Загрузка...
+ Выключение...
+ Предупреждение: Время ожидания перехода состояния сервера истекло.
+ Система готова...\n
+
+ Точка доступа
+ Туннель
+ Wi-Fi
+
+ Включите Wi-Fi или точку доступа, чтобы поделиться контентом по сети.
+ Запустите сервер, чтобы поделиться контентом по сети.
+ Переключить сеть
+ Сеть точки доступа
+ Сеть Wi-Fi
+
+
+ Выключить Safe Pocket Web
+ Включить Safe Pocket Web
+
+ DNS IPv4:
+ DNS IPv6:
+ Глобально
+ IPv4
+ IPv6
+ Режим обслуживания
+ Отключите Safe Pocket Web для внесения изменений
+ Удаленный DNS
+ Адрес Socks:
+ Пароль Socks:
+ Порт Socks:
+ UDP адрес Socks:
+ Имя пользователя Socks:
+ UDP ретрансляция через TCP
+
+ Восстановление VPN
+ Нажмите, чтобы немедленно восстановить безопасное окружение.
+ Safe Pocket Web прерван
+ socks5
+ Соединение инициировано пользователем
+ Включить дружественные URL. Блокировать угрозы.
+ Разрешение VPN получено. Подключение...
+ Запуск VPN...
+ Остановка VPN...
+
+
+ Выключить\nМастер Watchdog
+ Включить\nМастер Watchdog
+ Защищает Termux от режима Doze и поддерживает Wi-Fi активным.
+
+ Гарантирует, что службы остаются активными при выключенном экране.
+ Служба IIAB Watchdog
+ Защита окружения Termux...
+ IIAB Watchdog активен
+
+ CPU WakeLock получен под защитой VPN
+ CPU WakeLock освобожден
+ Ошибка получения блокировок
+ Синхронизация состояния Watchdog. Включено: %b
+ Watchdog запущен
+ Watchdog остановлен
+ Watchdog Thread: Цикл завершен
+ Watchdog Thread: Ошибка в цикле
+ Watchdog Thread: Прервано, остановка...
+ Watchdog Thread: Цикл запущен
+ Wi-Fi Lock получен под защитой VPN
+ Wi-Fi Lock освобожден
+
+ КРИТИЧЕСКАЯ ОШИБКА: ОС заблокировала стимуляцию Termux (SecurityException).
+ КРИТИЧЕСКАЯ ОШИБКА: Ошибка Intent Termux: %s
+ Принудительно перевести Termux на передний план...
+ Режим обслуживания включен: Termux имеет прямой доступ в Интернет
+ Ошибка записи обслуживания
+ В доступе отказано: убедитесь, что в манифесте есть RUN_COMMAND и приложение не ограничено.
+ PING 8085: ОШИБКА (%s)
+ PING 8085: OK
+ Ошибка пульса: %s
+ Пульс: Стимуляция Termux...
+ Пульс восстановления получен от системы. Принудительный VPN...
+ Отправлено в Termux: %s
+ СЕАНС СЕРДЦЕБИЕНИЯ ЗАПУЩЕН
+ СЕАНС СЕРДЦЕБИЕНИЯ ОСТАНОВЛЕН
+ Ошибка вызова Termux: %1$s
+ [Termux] Ошибка пульса (exit %1$d): %2$s
+ [Termux] Стимул OK (exit 0)
+ Termux не открывается? Включите Мастер Watchdog, чтобы принудительно вывести его на передний план.
+ Непредвиденная ошибка при отправке intent в Termux
+
+
+ --- Конец истории ---
+ Ошибка чтения истории: %s
+ Ошибка записи в BlackBox
+ --- Загрузка истории ---
+ Журнал очищен
+ Журнал скопирован в буфер обмена
+ Это безвозвратно удалит все сохраненные журналы подключений. Это действие нельзя отменить.
+ Сбросить историю журнала?
+ Ошибка сброса журнала: %s
+ Журнал сброшен
+ Журнал сброшен пользователем
+ %d B
+ Размер: %1$s / 10MB
+ %.1f KB
+ %.2f MB
+ Файл журнала растет слишком быстро, возможно, стоит проверить, нет ли ошибки
+ --- Файл BlackBox не найден ---
+
+
+ Пройдите аутентификацию, чтобы отключить безопасное окружение
+ Требуется аутентификация
+ Аутентификация успешна. Отключение...
+ Перед активацией безопасного окружения необходимо установить PIN-код, графический ключ или отпечаток пальца на устройстве.
+ Требуется безопасность
+ Требуется аутентификация для остановки защиты Termux
+ Разблокировать Мастер Watchdog
+
+
+ Для 100% работы приложения, пожалуйста, отключите оптимизацию батареи.
+ Для надежной работы Watchdog, пожалуйста, отключите оптимизацию батареи для этого приложения.
+ \n\nOPPO/Realme обнаружен: Пожалуйста, убедитесь, что вы включили "Разрешить фоновую активность" в настройках этого приложения.
+ Оптимизация батареи
+ \n\nXiaomi обнаружен: Пожалуйста, установите экономию заряда батареи на "Без ограничений" в настройках.
+ Перейти к настройкам
+
+
+ Приложение запущено
+ Модуль Termux и установщик окружения скоро будут доступны здесь.
+ WIP - В разработке
+
+ "Батарея: "
+ Батарея: --%
+ Точка доступа: --
+ IIAB_Internal
+ setup_complete
+ Сохранено
+ Настройки сохранены
+ Время работы: --
+ IIAB-oA · 2026 · Controller v0.1.xbeta
+ IIAB-oA · 2026 · Controller %1$s
+ Wi-Fi: --
+ Display over other apps
+ Manage All Permissions
+ Manage Termux permissions
+ Termux custom permissions
diff --git a/apk/controller/app/src/main/res/values/colors.xml b/apk/controller/app/src/main/res/values/colors.xml
index 208a62f..dbdded3 100644
--- a/apk/controller/app/src/main/res/values/colors.xml
+++ b/apk/controller/app/src/main/res/values/colors.xml
@@ -50,4 +50,6 @@
#E0E0E0#E65100#2E7D32
+
+ #FFFFFF
diff --git a/apk/controller/app/src/main/res/values/strings.xml b/apk/controller/app/src/main/res/values/strings.xml
index 2d0916f..dc79808 100644
--- a/apk/controller/app/src/main/res/values/strings.xml
+++ b/apk/controller/app/src/main/res/values/strings.xml
@@ -1,196 +1,74 @@
-
IIAB-oA Controllerv0.1.x
- Save
+
Cancel
- Saved
- Settings Saved
- FIX
- Configuration
- Tunnel Settings
- Connection Log
- SETTINGS
-
-
- Initial Setup
- Welcome to the %1$s setup wizard.\n\nIn order to work properly, we need the following permissions:
- Push Notifications
- Termux Execution
- Safe Pocket Web (VPN)
- Local Storage Access
- Disable Battery Optimization
- Files and media (Storage)
- Continue
- To revoke permissions, you must do it from system settings.
- Termux is not installed or device not supported.
- Termux is not installed.
-
-
- Enable Safe Pocket Web
- Disable Safe Pocket Web
- Enable friendly URLs. Lock out the threats.
- Socks Address:
- Socks UDP Address:
- Socks Port:
- Socks Username:
- Socks Password:
- DNS IPv4:
- DNS IPv6:
- UDP relay over TCP
- Remote DNS
- IPv4
- IPv6
- Global
- Apps
- VPN Stopping...
- VPN Starting...
- User initiated connection
- VPN Permission Granted. Connecting...
- socks5
-
-
- Enable\nMaster Watchdog
- Disable\nMaster Watchdog
- Protects Termux from Doze mode and keeps Wi-Fi active.
- Watchdog Stopped
- Watchdog Started
- IIAB Watchdog Service
- Ensures services remain active when screen is off.
- IIAB Watchdog Active
- Protecting Termux environment...
- Syncing Watchdog state. Enabled: %b
- Watchdog Thread: Started loop
- Watchdog Thread: Interrupted, stopping...
- Watchdog Thread: Error in loop
- Watchdog Thread: Loop ended
- CPU WakeLock acquired under VPN shield
- Wi-Fi Lock acquired under VPN shield
- Error acquiring locks
- CPU WakeLock released
- Wi-Fi Lock released
-
-
- Pulse: Stimulating Termux...
- CRITICAL: OS blocked Termux stimulus (SecurityException).
- PING 8085: OK
- PING 8085: FAIL (%s)
- HEARTBEAT SESSION STARTED
- HEARTBEAT SESSION STOPPED
- Permission Denied: Ensure manifest has RUN_COMMAND and app is not restricted.
- Unexpected error sending intent to Termux
- Pulse Error: %s
- Maintenance write failed
- Failed to write to BlackBox
- Recovery Pulse Received from System. Enforcing VPN...
-
-
- [Termux] Stimulus OK (exit 0)
- [Termux] Pulse Error (exit %1$d): %2$s
- Warning: Server state transition timed out.
- Booting...
- Shutting down...
- CRITICAL: Failed Termux Intent: %s
- Sent to Termux: %s
- Maintenance mode enabled: Termux has direct Internet access
- 🛑 Stop Server
- 🚀 Launch Server
- Termux permission granted
- Termux permission denied
- Notification permission granted
- Notification permission denied
- Forcing Termux to the foreground...
- Termux not opening? Enable Master Watchdog to force it to gain focus.
-
-
- Reset Log History?
- This will permanently delete all stored connection logs. This action cannot be undone.
- The logging file is growing too rapidly, you might want to check if something is failing
- Reset LogCopy All
- Log reset
- Log reset by user
- Log copied to clipboard
- Log cleared
- Failed to reset log: %s
- Size: %1$s / 10MB
- %d B
- %.1f KB
- %.2f MB
- --- No BlackBox file found ---
- --- Loading History ---
- Error reading history: %s
- --- End of History ---
+ FIX
+ Save
-
- Battery Optimization
- For the Watchdog to work reliably, please disable battery optimizations for this app.
- Go to Settings
- \n\nOPPO/Realme detected: Please ensure you also enable \'Allow background activity\' in this app\'s settings.
- \n\nXiaomi detected: Please set battery saver to \'No restrictions\' in settings.
- For the app to work 100%, please disable battery optimization.
-
-
- 🚀 Explore Content
- System ready...\n
- Application Started
+ Tunnel Settings
+ Configuration
+ Connection Log▼ %s▶ %s
- Launch the server to share content over the network.
- Enable Wi-Fi or Hotspot to share content over the network.
- Wi-Fi Network
- Hotspot Network
- Switch Network
+ SETTINGS
-
- Unlock Master Watchdog
- Authentication required to stop Termux protection
- Authentication Success. Disconnecting...
- Authentication required
- Authenticate to disable the secure environment
- Security Required
- You must set up a PIN, Pattern, or Fingerprint on your device before enabling the secure environment.
-
-
- VPN Recovery
- Safe Pocket Web Interrupted
- Tap to restore secure environment immediately.
-
-
+ InstallationStatusUsage
- Installation
-
- Uptime: %1$s
- IP: %1$s
+
+ Initial Setup
+ Welcome to the %1$s setup wizard.\n\nIn order to work properly, we need the following permissions:
+ Continue
+
+ Disable Battery Optimization
+ Push Notifications
+ Local Storage Access
+ Termux Execution
+ Safe Pocket Web (VPN)
+
+ Files and media (Storage)
+ Termux is not installed.
+ Termux is not installed or device not supported.
+
+ Notification permission denied
+ Notification permission granted
+ To revoke permissions, you must do it from system settings.
+ Termux permission denied
+ Termux permission granted
+
+
IIAB-oA Controllerlocalhost
+
Loading device...
- Wi-Fi: %1$s
- Hotspot: %1$s
- Uptime: %1$s
+ IP: %1$s
+ Uptime: %1$sBattery: %1$d%%Battery: --%%
-
+ Hotspot: %1$s
+ Uptime: %1$s
+ Wi-Fi: %1$sMain StorageRAM MemorySwap (Virtual)
- IIAB-oA SystemServer Status:
- OnlineOffline
+ OnlineSystem State
- Searching for installation...
+ IIAB-oA System
- IIAB-oA seems online, check for available services.
- IIAB-oA seems offline, try launching it.
- Installer found, open the installation tab for more info.Base OS installed. Proceed to install IIAB.
- Termux found, go to Installation tab to manage it.
+ Installer found, open the installation tab for more info.No component identified, not even Termux.
+ IIAB-oA seems offline, try launching it.
+ IIAB-oA is online.
+ Termux found, go to Installation tab to manage it.
+ Searching for installation...Installed ModulesBooks
@@ -199,27 +77,157 @@
MapsMatomoSystem
+ Code
- WIP - Under Construction
- The Termux module and environment installer will be available here soon.
-
- Wi-Fi
+ Apps
+ 🚀 Explore Content
+ 🚀 Launch Server
+ 🛑 Stop Server
+
+ The IIAB-oA system does not seem to be (fully) installed. Please check the Status or Installation tab for more info.
+ Booting...
+ Shutting down...
+ Warning: Server state transition timed out.
+ System ready...\n
+
HotspotTunnel
+ Wi-Fi
+
+ Enable Wi-Fi or Hotspot to share content over the network.
+ Launch the server to share content over the network.
+ Switch Network
+ Hotspot Network
+ Wi-Fi Network
+
+
+ Disable Safe Pocket Web
+ Enable Safe Pocket Web
+
+ DNS IPv4:
+ DNS IPv6:
+ Global
+ IPv4
+ IPv6Maintenance ModeDisable Safe Pocket Web in order to modify
+ Remote DNS
+ Socks Address:
+ Socks Password:
+ Socks Port:
+ Socks UDP Address:
+ Socks Username:
+ UDP relay over TCP
-
- IIAB_Internal
- setup_complete
- IIAB-oA · 2026 · Controller %1$s
- IIAB-oA · 2026 · Controller v0.1.xbeta
+ VPN Recovery
+ Tap to restore secure environment immediately.
+ Safe Pocket Web Interrupted
+ socks5
+ User initiated connection
+ Enable friendly URLs. Lock out the threats.
+ VPN Permission Granted. Connecting...
+ VPN Starting...
+ VPN Stopping...
+
+
+ Disable\nMaster Watchdog
+ Enable\nMaster Watchdog
+ Protects Termux from Doze mode and keeps Wi-Fi active.
+
+ Ensures services remain active when screen is off.
+ IIAB Watchdog Service
+ Protecting Termux environment...
+ IIAB Watchdog Active
+
+ CPU WakeLock acquired under VPN shield
+ CPU WakeLock released
+ Error acquiring locks
+ Syncing Watchdog state. Enabled: %b
+ Watchdog Started
+ Watchdog Stopped
+ Watchdog Thread: Loop ended
+ Watchdog Thread: Error in loop
+ Watchdog Thread: Interrupted, stopping...
+ Watchdog Thread: Started loop
+ Wi-Fi Lock acquired under VPN shield
+ Wi-Fi Lock released
+
+ CRITICAL: OS blocked Termux stimulus (SecurityException).
+ CRITICAL: Failed Termux Intent: %s
+ Forcing Termux to the foreground...
+ Maintenance mode enabled: Termux has direct Internet access
+ Maintenance write failed
+ Permission Denied: Ensure manifest has RUN_COMMAND and app is not restricted.
+ PING 8085: FAIL (%s)
+ PING 8085: OK
+ Pulse Error: %s
+ Pulse: Stimulating Termux...
+ Recovery Pulse Received from System. Enforcing VPN...
+ Sent to Termux: %s
+ HEARTBEAT SESSION STARTED
+ HEARTBEAT SESSION STOPPEDError invoking Termux: %1$s
- Uptime: --
- Hotspot: --
- Wi-Fi: --
+ [Termux] Pulse Error (exit %1$d): %2$s
+ [Termux] Stimulus OK (exit 0)
+ Termux not opening? Enable Master Watchdog to force it to gain focus.
+ Unexpected error sending intent to Termux
+
+
+ --- End of History ---
+ Error reading history: %s
+ Failed to write to BlackBox
+ --- Loading History ---
+ Log cleared
+ Log copied to clipboard
+ This will permanently delete all stored connection logs. This action cannot be undone.
+ Reset Log History?
+ Failed to reset log: %s
+ Log reset
+ Log reset by user
+ %d B
+ Size: %1$s / 10MB
+ %.1f KB
+ %.2f MB
+ The logging file is growing too rapidly, you might want to check if something is failing
+ --- No BlackBox file found ---
+ Reset Log
+
+
+ Authenticate to disable the secure environment
+ Authentication required
+ Authentication Success. Disconnecting...
+ You must set up a PIN, Pattern, or Fingerprint on your device before enabling the secure environment.
+ Security Required
+ Authentication required to stop Termux protection
+ Unlock Master Watchdog
+
+
+ For the app to work 100%, please disable battery optimization.
+ For the Watchdog to work reliably, please disable battery optimizations for this app.
+ \n\nOPPO/Realme detected: Please ensure you also enable \'Allow background activity\' in this app\'s settings.
+ Battery Optimization
+ \n\nXiaomi detected: Please set battery saver to \'No restrictions\' in settings.
+ Go to Settings
+
+
+ Application Started
+ The Termux module and environment installer will be available here soon.
+ WIP - Under Construction
+
"Battery: "Battery: --%
-
-
+ Hotspot: --
+ IIAB_Internal
+ setup_complete
+ Saved
+ Settings Saved
+ Uptime: --
+ IIAB-oA · 2026 · Controller v0.1.xbeta
+ IIAB-oA · 2026 · Controller %1$s
+ Wi-Fi: --
+ Display over other apps
+ Manage All Permissions
+ Manage Termux permissions
+ Termux custom permissions
+
\ No newline at end of file