mirror of
https://github.com/wgtunnel/android.git
synced 2026-07-03 14:07:49 +02:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9553374460 | |||
| 5563292a87 | |||
| 8ba760a5ff | |||
| d431c2d39f | |||
| 33437ab237 | |||
| 4a432d2bb7 | |||
| 3df972d031 |
+2
-4
@@ -30,10 +30,9 @@ fun ExpandingRowListItem(
|
||||
text: String,
|
||||
onHold: () -> Unit,
|
||||
onClick: () -> Unit,
|
||||
onDoubleClick: () -> Unit,
|
||||
trailing: @Composable () -> Unit,
|
||||
isSelected: Boolean,
|
||||
expanded: (@Composable () -> Unit)?,
|
||||
expanded: @Composable () -> Unit,
|
||||
) {
|
||||
val isTv = LocalIsAndroidTV.current
|
||||
val haptic = LocalHapticFeedback.current
|
||||
@@ -57,7 +56,6 @@ fun ExpandingRowListItem(
|
||||
haptic.performHapticFeedback(HapticFeedbackType.LongPress)
|
||||
onHold()
|
||||
},
|
||||
onDoubleClick = onDoubleClick,
|
||||
)
|
||||
} else Modifier
|
||||
)
|
||||
@@ -84,7 +82,7 @@ fun ExpandingRowListItem(
|
||||
}
|
||||
trailing()
|
||||
}
|
||||
expanded?.invoke()
|
||||
expanded()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-4
@@ -75,7 +75,6 @@ fun TunnelList(
|
||||
val selected = remember(selectedTunnels) { selectedTunnels.any { it.id == tunnel.id } }
|
||||
TunnelRowItem(
|
||||
state = tunnelState,
|
||||
expanded = appUiState.appState.expandedTunnelIds.contains(tunnel.id),
|
||||
isSelected = selected,
|
||||
tunnel = tunnel,
|
||||
tunnelState = tunnelState,
|
||||
@@ -87,9 +86,6 @@ fun TunnelList(
|
||||
viewModel.handleEvent(AppEvent.ClearSelectedTunnels)
|
||||
}
|
||||
},
|
||||
onDoubleClick = {
|
||||
viewModel.handleEvent(AppEvent.ToggleTunnelStatsExpanded(tunnel.id))
|
||||
},
|
||||
onToggleSelectedTunnel = {
|
||||
viewModel.handleEvent(AppEvent.ToggleSelectedTunnel(it))
|
||||
},
|
||||
|
||||
+3
-12
@@ -5,7 +5,6 @@ import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.rounded.Circle
|
||||
import androidx.compose.material.icons.rounded.KeyboardArrowDown
|
||||
import androidx.compose.material.icons.rounded.Settings
|
||||
import androidx.compose.material.icons.rounded.SettingsEthernet
|
||||
import androidx.compose.material.icons.rounded.Smartphone
|
||||
@@ -22,6 +21,7 @@ import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.zaneschepke.wireguardautotunnel.R
|
||||
import com.zaneschepke.wireguardautotunnel.domain.enums.TunnelStatus
|
||||
import com.zaneschepke.wireguardautotunnel.domain.model.TunnelConf
|
||||
import com.zaneschepke.wireguardautotunnel.domain.state.TunnelState
|
||||
import com.zaneschepke.wireguardautotunnel.ui.common.ExpandingRowListItem
|
||||
@@ -32,11 +32,9 @@ import com.zaneschepke.wireguardautotunnel.util.extensions.asColor
|
||||
fun TunnelRowItem(
|
||||
state: TunnelState,
|
||||
isSelected: Boolean,
|
||||
expanded: Boolean,
|
||||
tunnel: TunnelConf,
|
||||
tunnelState: TunnelState,
|
||||
onClick: () -> Unit,
|
||||
onDoubleClick: () -> Unit,
|
||||
onToggleSelectedTunnel: (TunnelConf) -> Unit,
|
||||
onSwitchClick: (Boolean) -> Unit,
|
||||
isTv: Boolean,
|
||||
@@ -80,11 +78,10 @@ fun TunnelRowItem(
|
||||
text = tunnel.tunName,
|
||||
onHold = { if (!isTv) onToggleSelectedTunnel(tunnel) },
|
||||
onClick = { if (!isTv) onClick() },
|
||||
onDoubleClick = { if (!isTv) onDoubleClick() },
|
||||
expanded = {
|
||||
if (expanded) {
|
||||
if (tunnelState.status != TunnelStatus.Down) {
|
||||
TunnelStatisticsRow(tunnelState.statistics, tunnel)
|
||||
} else null
|
||||
}
|
||||
},
|
||||
trailing = {
|
||||
Row(
|
||||
@@ -92,12 +89,6 @@ fun TunnelRowItem(
|
||||
horizontalArrangement = Arrangement.spacedBy(8.dp, Alignment.End),
|
||||
) {
|
||||
if (isTv) {
|
||||
IconButton(onClick = onDoubleClick) {
|
||||
Icon(
|
||||
Icons.Rounded.KeyboardArrowDown,
|
||||
contentDescription = stringResource(R.string.info),
|
||||
)
|
||||
}
|
||||
IconButton(onClick = onClick) {
|
||||
Icon(
|
||||
Icons.Rounded.Settings,
|
||||
|
||||
+13
-14
@@ -1,10 +1,7 @@
|
||||
package com.zaneschepke.wireguardautotunnel.ui.screens.main.components
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -97,15 +94,17 @@ fun TunnelStatisticsRow(statistics: TunnelStatistics?, tunnelConf: TunnelConf) {
|
||||
)
|
||||
}
|
||||
if (endpoint != null) {
|
||||
Row(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.spacedBy(16.dp, Alignment.Start),
|
||||
) {
|
||||
Text(
|
||||
"endpoint: $endpoint",
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = MaterialTheme.colorScheme.outline,
|
||||
)
|
||||
AnimatedVisibility(visible = true) {
|
||||
Row(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.spacedBy(16.dp, Alignment.Start),
|
||||
) {
|
||||
Text(
|
||||
stringResource(R.string.endpoint).lowercase() + ": $endpoint",
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = MaterialTheme.colorScheme.outline,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,76 +163,6 @@
|
||||
<string name="learn_more">Zjistit více</string>
|
||||
<string name="stop">zastavit</string>
|
||||
<string name="server_ipv4">Překlad názvu hostitele IPv4</string>
|
||||
<string name="select_all">Vybrat vše</string>
|
||||
<string name="share">Sdílet</string>
|
||||
<string name="trusted_ssid_value_description">Odeslat SSID</string>
|
||||
<string name="app_settings">nastavení aplikace</string>
|
||||
<string name="debounce_delay">Zpoždění odezvy</string>
|
||||
<string name="always_on_message">Autorizace připojení VPN byla zamítnuta. Zkontrolujte prosím</string>
|
||||
<string name="bio_not_created">Biometrické údaje nebyly vytvořeny</string>
|
||||
<string name="bio_not_supported">Biometrie není podporována</string>
|
||||
<string name="bio_subtitle">Přihlášení pomocí biometrických údajů</string>
|
||||
<string name="config_error">Chybná konfigurace</string>
|
||||
<string name="prominent_background_location_title">Zpřístupnění stávající polohy na pozadí</string>
|
||||
<string name="vpn_denied_dialog_title">Povolení zamítnuto</string>
|
||||
<string name="app_permission_title">Řídicí most pro WG tunely</string>
|
||||
<string name="app_permission_description">Ovládání funkcí tunelu a automatického tunelu.</string>
|
||||
<string name="enable_remote_app_control">Povolit vzdálené ovládání aplikace</string>
|
||||
<string name="tunnel_starting">Spuštění tunelu</string>
|
||||
<string name="bio_auth_title">Biometrické ověření</string>
|
||||
<string name="nothing_here_yet">Zatím zde nic není!</string>
|
||||
<string name="export_success">Export byl úspěšně dokončen</string>
|
||||
<string name="download">Stáhnout</string>
|
||||
<string name="check_for_update">Zkontrolovat aktualizaci</string>
|
||||
<string name="update_check_failed">Kontrola aktualizace se nezdařila.</string>
|
||||
<string name="version_template">Verze: %1$s</string>
|
||||
<string name="update_download_failed">Stažení aktualizace se nezdařilo.</string>
|
||||
<string name="update_available">Dostupná aktualizace!</string>
|
||||
<string name="download_and_install">Stáhnout a nainstalovat</string>
|
||||
<string name="allow">Povolit</string>
|
||||
<string name="permission_required">Je vyžadováno oprávnění</string>
|
||||
<string name="licenses">Licence</string>
|
||||
<string name="latest_installed">Již používáte nejnovější verzi.</string>
|
||||
<string name="install_updated_permission">Tato aplikace potřebuje oprávnění k instalaci aktualizací.</string>
|
||||
<string name="checking_for_update">Kontrola aktualizací</string>
|
||||
<string name="add_from_url">Přidat z adresy URL</string>
|
||||
<string name="inactive">Neaktivní</string>
|
||||
<string name="auth_error">Chyba: neautorizováno</string>
|
||||
<string name="kernel_name_error">Chyba názvu modulu jádra</string>
|
||||
<string name="export_failed">Export se nezdařil</string>
|
||||
<string name="delete">Smazat</string>
|
||||
<string name="export_tunnels_wireguard">Exportovat tunely jako WireGuard</string>
|
||||
<string name="export_tunnels_amnezia">Exportovat tunely jako Amnezia</string>
|
||||
<string name="remote_key_template">Klíč: %1$s</string>
|
||||
<string name="active">Aktivní</string>
|
||||
<string name="service_running_error">Chyba: Služba není spuštěna</string>
|
||||
<string name="wifi_name_template">Aktivní: %1$s</string>
|
||||
<string name="tunnel_error_template">Tunel selhal s: %1$s</string>
|
||||
<string name="camera_permission_required">Vyžadováno oprávnění k použití fotoaparátu</string>
|
||||
<string name="info">Informace</string>
|
||||
<string name="copy">Kopírovat</string>
|
||||
<string name="status">Stav</string>
|
||||
<string name="launch_app_settings">Spustit nastavení aplikace</string>
|
||||
<string name="tunnel_running">Tunel je v provozu</string>
|
||||
<string name="wildcards_active">Zástupné znaky(wildcards) aktivní</string>
|
||||
<string name="root_accepted">Root shell přijata</string>
|
||||
<string name="background_location_message">Autorizace povolit vždy polohu a/nebo přesná poloha je vyžadováno pro tuto funkci. Viz</string>
|
||||
<string name="update_check_unsupported">Kontrola aktualizací není u tohoto typu sestavení podporována.</string>
|
||||
<string name="background_location_message2">abyste se ujistili, že jsou tato oprávnění povolena</string>
|
||||
<string name="darker">Tmavší</string>
|
||||
<string name="amoled">AMOLED</string>
|
||||
<string name="default_ping_ip">(nepovinné, výchozí hodnota je peers)</string>
|
||||
<string name="monitoring_state_changes">Monitorování změn stavu</string>
|
||||
<string name="pre_up">Před aktivací</string>
|
||||
<string name="pre_down">Před deaktivací</string>
|
||||
<string name="post_up">Po aktivaci</string>
|
||||
<string name="optional_default">"nepovinné, výchozí: "</string>
|
||||
<string name="flavor_template">Varianta: %1$s</string>
|
||||
<string name="security_template">Zabezpečení: %1$s</string>
|
||||
<string name="done">Hotovo</string>
|
||||
<string name="wireguard">WireGuard</string>
|
||||
<string name="amnezia">Amnezia</string>
|
||||
<string name="show_qr">Zobrazit QR kód</string>
|
||||
<string name="always_on_message2">ujistěte se, že je pro všechny ostatní aplikace vypnutá funkce trvalé připojení VPN, a zkuste to znovu</string>
|
||||
<string name="use_wildcards">Použít zástupné znaky(wildcards) pro názvy</string>
|
||||
<string name="multiple">Několik</string>
|
||||
|
||||
@@ -190,20 +190,4 @@
|
||||
<string name="allow">Autoriser</string>
|
||||
<string name="app_permission_title">Pont de contrôle du tunnel WG</string>
|
||||
<string name="app_permission_description">Contrôler les tunnels et les fonctions automatiques des tunnels.</string>
|
||||
<string name="select">Sélectionner</string>
|
||||
<string name="join_telegram">Rejoindre la communauté Telegram</string>
|
||||
<string name="join_matrix">Rejoindre la communauté Matrix</string>
|
||||
<string name="auto_tunnel_channel_description">Un canal pour les notifications de l\'état du tunnel automatique</string>
|
||||
<string name="tunnel_control">Contrôle du tunnel</string>
|
||||
<string name="auto_tunnel">Tunnel automatique</string>
|
||||
<string name="add_tunnel">Ajouter un tunnel</string>
|
||||
<string name="error_download_failed">Le téléchargement de la configuration a échouée</string>
|
||||
<string name="multiple">Multiple</string>
|
||||
<string name="add_from_url">Ajouter depuis un URL</string>
|
||||
<string name="enter_config_url">Saisissez l\'URL de configuration</string>
|
||||
<string name="search">Rechercher</string>
|
||||
<string name="save">Sauvegarder</string>
|
||||
<string name="copy">Copier</string>
|
||||
<string name="info">Informations</string>
|
||||
<string name="prefer_ipv4">Préférer une connexion IPv4</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">WG Tunnel</string>
|
||||
</resources>
|
||||
|
||||
<resources>
|
||||
<string name="app_name">WG Tunnel</string>
|
||||
<string name="app_permission_description">Alagutak és automatikus alagút funkciók vezérlése.</string>
|
||||
|
||||
@@ -1,163 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="tunnel_name">Nome do Túnel</string>
|
||||
<string name="exclude">Excluir</string>
|
||||
<string name="include">Incluir</string>
|
||||
<string name="config_changes_saved">Mudanças nas configurações gravadas.</string>
|
||||
<string name="public_key">Chave pública</string>
|
||||
<string name="app_name">WG Tunnel</string>
|
||||
<string name="vpn_channel_name">Canal de notificações VPN</string>
|
||||
<string name="error_file_extension">O ficheiro não é .conf ou .zip</string>
|
||||
<string name="turn_off_tunnel">Esta ação só é possível com o túnel inativo</string>
|
||||
<string name="no_tunnels">Nenhum túnel foi adicionado!</string>
|
||||
<string name="tunnels">Túneis</string>
|
||||
<string name="tunnel_mobile_data">Túnel em dados móveis</string>
|
||||
<string name="privacy_policy">Ver a Política de Privacidade</string>
|
||||
<string name="okay">OK</string>
|
||||
<string name="tunnel_on_ethernet">Túnel na ethernet</string>
|
||||
<string name="prominent_background_location_message">Este recurso precisa de permissões de localização em segundo plano para ativar o monitoramento do SSID da rede Wi-Fi mesmo quando a aplicação está fechado. Para mais pormenores, por favor veja a Política de Privacidade no ecrã de Suporte.</string>
|
||||
<string name="prominent_background_location_title">Revelar a localização em segundo plano</string>
|
||||
<string name="thank_you">Obrigado por usar o WG Tunnel!</string>
|
||||
<string name="trusted_ssid_value_description">Envie o SSID</string>
|
||||
<string name="add_tunnels_text">Adicionar a partir de ficheiro ou zip</string>
|
||||
<string name="open_file">Abrir Ficheiro</string>
|
||||
<string name="add_from_qr">Adicionar a partir de código QR</string>
|
||||
<string name="qr_scan">Escanear o código QR</string>
|
||||
<string name="addresses">Endereços</string>
|
||||
<string name="dns_servers">Servidores DNS</string>
|
||||
<string name="mtu">MTU</string>
|
||||
<string name="peer">Par</string>
|
||||
<string name="allowed_ips">IPs Permitidos</string>
|
||||
<string name="name">Nome</string>
|
||||
<string name="always_on_vpn_support">Permitir VPN sempre ligada</string>
|
||||
<string name="location_services_not_detected">Serviço de localização não foi detetado</string>
|
||||
<string name="auto_tunneling">Auto-túnel</string>
|
||||
<string name="vpn_on">VPN ligada</string>
|
||||
<string name="vpn_off">VPN desligada</string>
|
||||
<string name="create_import">Criar do zero</string>
|
||||
<string name="turn_on_tunnel">Esta ação precisa um túnel ativo</string>
|
||||
<string name="add_peer">Adicionar par</string>
|
||||
<string name="interface_">Interface</string>
|
||||
<string name="rotate_keys">Revezar chaves</string>
|
||||
<string name="private_key">Chave privada</string>
|
||||
<string name="copy_public_key">Copiar chave pública</string>
|
||||
<string name="base64_key">Chave base64</string>
|
||||
<string name="comma_separated_list">Lista separada por vírgulas</string>
|
||||
<string name="listen_port">Porta de escuta</string>
|
||||
<string name="random">(aleatório)</string>
|
||||
<string name="optional">(opcional)</string>
|
||||
<string name="preshared_key">Chave pré-partilhada</string>
|
||||
<string name="seconds">segundos</string>
|
||||
<string name="persistent_keepalive">Manter a conexão persistente (keepalive)</string>
|
||||
<string name="cancel">Cancelar</string>
|
||||
<string name="error_authentication_failed">Autenticação falhou</string>
|
||||
<string name="error_authorization_failed">Autorização falhou</string>
|
||||
<string name="enabled_app_shortcuts">Ativar atalhos de aplicações</string>
|
||||
<string name="unknown_error">Ocorreu um erro desconhecido</string>
|
||||
<string name="tunnel_on_wifi">Túnel em Wi-Fi não confiável</string>
|
||||
<string name="email_subject">Apoio para o WG Tunnel</string>
|
||||
<string name="email_chooser">Enviar um email…</string>
|
||||
<string name="docs_description">Ler a documentação</string>
|
||||
<string name="email_description">Me envie um email</string>
|
||||
<string name="use_kernel">Usar o módulo do kernel</string>
|
||||
<string name="error_ssid_exists">SSID já existe</string>
|
||||
<string name="error_root_denied">Shell Root negado</string>
|
||||
<string name="error_no_file_explorer">Nenhum explorador de ficheiros instalado</string>
|
||||
<string name="location_services_missing_message">A aplicação não detetou o serviço de localização ativado no seu dispositivo. Dependendo do dispositivo, isto pode causar que a função de Wi-Fi não confiável falhe em ler o nome do Wi-Fi. Quer continuar mesmo assim?</string>
|
||||
<string name="auto_tunnel_title">Serviço de Auto-túnel</string>
|
||||
<string name="delete_tunnel">Apagar túnel</string>
|
||||
<string name="delete_tunnel_message">Tem certeza que quer apagar este túnel?</string>
|
||||
<string name="yes">Sim</string>
|
||||
<string name="all">todos</string>
|
||||
<string name="no_email_detected">Nenhuma aplicação de email detetado</string>
|
||||
<string name="no_browser_detected">Nenhum navegador detetado</string>
|
||||
<string name="open_issue">Abrir um problema</string>
|
||||
<string name="read_logs">Ler os registos</string>
|
||||
<string name="auto">(automático)</string>
|
||||
<string name="incorrect_pin">O Pin está errado</string>
|
||||
<string name="pin_created">Pin criado com sucesso</string>
|
||||
<string name="enter_pin">Digite o seu pin</string>
|
||||
<string name="create_pin">Criar um pin</string>
|
||||
<string name="enable_app_lock">Ligar bloqueio de aplicação</string>
|
||||
<string name="restart_on_ping">Reiniciar em falha de ping (beta)</string>
|
||||
<string name="mobile_data_tunnel">Selecionar como túnel em dados móveis</string>
|
||||
<string name="set_primary_tunnel">Selecionar como túnel principal</string>
|
||||
<string name="use_tunnel_on_wifi_name">Usar túnel em wifi com nome</string>
|
||||
<string name="edit_tunnel">Editar túnel</string>
|
||||
<string name="version">Versão</string>
|
||||
<string name="settings">Configurações</string>
|
||||
<string name="support">Suporte</string>
|
||||
<string name="kernel">Kernel</string>
|
||||
<string name="junk_packet_count">Quantidade de pacotes-lixo</string>
|
||||
<string name="junk_packet_minimum_size">Tamanho mínimo de pacote-lixo</string>
|
||||
<string name="junk_packet_maximum_size">Tamanho máximo de pacote-lixo</string>
|
||||
<string name="init_packet_junk_size">Tamanho de pacote-lixo inicial</string>
|
||||
<string name="response_packet_junk_size">Tamanho de resposta de pacote-lixo</string>
|
||||
<string name="unsure_how">se não tiver certeza em como continuar</string>
|
||||
<string name="see_the">Veja o</string>
|
||||
<string name="getting_started_guide">guia de início rápido</string>
|
||||
<string name="error_file_format">Formato de configuração inválido</string>
|
||||
<string name="restart_at_boot">Ativar na inicialização</string>
|
||||
<string name="vpn_denied_dialog_title">Permissão negada</string>
|
||||
<string name="vpn_settings">Configurações do sistema VPN</string>
|
||||
<string name="always_on_message">A permissão de conexão VPN foi negada. Por favor, verifique</string>
|
||||
<string name="always_on_message2">para ter certeza que VPN Sempre-ligada é desligada para todas as outras aplicações e tente novamente</string>
|
||||
<string name="background_location_message">Permitir que toda a permissão de localização do tempo e/ou localização precisa é necessária para este recurso. Por favor, veja</string>
|
||||
<string name="app_settings">configurações da app</string>
|
||||
<string name="root_accepted">Shell root aceito</string>
|
||||
<string name="set_custom_ping_ip">Definir ip ping personalizado</string>
|
||||
<string name="default_ping_ip">(opcional, padrão para pares)</string>
|
||||
<string name="set_custom_ping_internal">Intervalo de Ping (seg)</string>
|
||||
<string name="optional_default">"opcional, padrão: "</string>
|
||||
<string name="show_amnezia_properties">Mostrar propriedades de Amnezia</string>
|
||||
<string name="never">nunca</string>
|
||||
<string name="sec">seg</string>
|
||||
<string name="handshake">handshake</string>
|
||||
<string name="appearance">Aparência</string>
|
||||
<string name="notifications">Notificações</string>
|
||||
<string name="automatic">Automático</string>
|
||||
<string name="light">Claro</string>
|
||||
<string name="dark">Escuro</string>
|
||||
<string name="dynamic">Dinâmico</string>
|
||||
<string name="language">Idioma</string>
|
||||
<string name="display_theme">Tema</string>
|
||||
<string name="trusted_wifi_names">Nomes de Wi-Fi confiáveis</string>
|
||||
<string name="add_wifi_name">Adicionar nome Wi-Fi</string>
|
||||
<string name="mobile_tunnel">Túnel com dados móveis</string>
|
||||
<string name="skip">Pular</string>
|
||||
<string name="use_wildcards">Usar nomes coringas</string>
|
||||
<string name="learn_more">Saber mais</string>
|
||||
<string name="wildcards_active">Wildcards ativos</string>
|
||||
<string name="wifi_name_via_shell">Nome do Wi-Fi por shell</string>
|
||||
<string name="use_root_shell_for_wifi">Obter o nome do Wi-Fi através do shell root</string>
|
||||
<string name="kernel_not_supported">Kernel não suportado</string>
|
||||
<string name="start_auto">Iniciar túnel automático</string>
|
||||
<string name="stop_auto">Pausar túnel automático</string>
|
||||
<string name="tunnel_running">Túnel em execução</string>
|
||||
<string name="monitoring_state_changes">Monitorar estado de alterações</string>
|
||||
<string name="donate">Contribua com projeto</string>
|
||||
<string name="local_logging">Registo local</string>
|
||||
<string name="enable_local_logging">Ativar registo local</string>
|
||||
<string name="add_from_clipboard">Adicionar da área de transferência</string>
|
||||
<string name="stop_on_no_internet">Interromper quando não há internet</string>
|
||||
<string name="stop_on_internet_loss">Interrompa o túnel quando a internet não estiver disponível</string>
|
||||
<string name="ethernet_tunnel">Túnel ethernet</string>
|
||||
<string name="set_ethernet_tunnel">Definir como túnel ethernet</string>
|
||||
<string name="native_kill_switch">Interruptor de desligamento padrão</string>
|
||||
<string name="vpn_kill_switch">Interruptor de desligamento VPN</string>
|
||||
<string name="kill_switch_options">Opções do interruptor de desligamento</string>
|
||||
<string name="allow_lan_traffic">Permitir tráfego LAN</string>
|
||||
<string name="bypass_lan_for_kill_switch">Ignorar LAN no interruptor de desligamento</string>
|
||||
<string name="stop">pausar</string>
|
||||
<string name="splt_tunneling">Tunelamento dividido</string>
|
||||
<string name="tunnel_specific_settings">Configurações específicas no túnel</string>
|
||||
<string name="show_scripts">Mostrar scripts</string>
|
||||
<string name="quick_actions">Ações rápidas</string>
|
||||
<string name="advanced_settings">Configurações avançadas</string>
|
||||
<string name="hide_amnezia_properties">Ocultar propriedades Amnezia</string>
|
||||
<string name="hide_scripts">Ocultar scripts</string>
|
||||
<string name="enable_amnezia_compatibility">Ativar compatibilidade Amnezia</string>
|
||||
<string name="remove_amnezia_compatibility">Remover compatibilidade Amnezia</string>
|
||||
<string name="exclude_lan">Excluir LAN</string>
|
||||
<string name="include_lan">Incluir LAN</string>
|
||||
</resources>
|
||||
@@ -9,5 +9,5 @@ repositories {
|
||||
|
||||
dependencies {
|
||||
implementation("org.semver4j:semver4j:5.7.0")
|
||||
implementation("org.ajoberstar.grgit:grgit-core:5.3.0")
|
||||
implementation("org.ajoberstar.grgit:grgit-core:5.3.2")
|
||||
}
|
||||
|
||||
@@ -13,5 +13,6 @@ object Constants {
|
||||
const val PRERELEASE = "prerelease"
|
||||
|
||||
val allowedLicenses = listOf("MIT", "Apache-2.0", "BSD-3-Clause")
|
||||
val allowedLicenseUrls = listOf("https://github.com/journeyapps/zxing-android-embedded/blob/master/COPYING", "https://github.com/RikkaApps/Shizuku-API/blob/master/LICENSE")
|
||||
val allowedLicenseUrls = listOf("https://github.com/journeyapps/zxing-android-embedded/blob/master/COPYING",
|
||||
"https://github.com/RikkaApps/Shizuku-API/blob/master/LICENSE")
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
WG Tunnel
|
||||
@@ -1 +0,0 @@
|
||||
Um cliente de VPN alternativo para WireGuard com recursos adicionais
|
||||
@@ -1 +0,0 @@
|
||||
WG Tunnel
|
||||
@@ -1 +1 @@
|
||||
WG Tunel
|
||||
WG Tunnel
|
||||
@@ -0,0 +1 @@
|
||||
WG Tunnel
|
||||
@@ -1,7 +1,7 @@
|
||||
[versions]
|
||||
accompanist = "0.37.3"
|
||||
activityCompose = "1.10.1"
|
||||
amneziawgAndroid = "1.4.0"
|
||||
amneziawgAndroid = "1.5.0"
|
||||
androidx-junit = "1.2.1"
|
||||
shizuku = "13.1.5"
|
||||
appcompat = "1.7.1"
|
||||
@@ -20,21 +20,21 @@ material3 = "1.3.2"
|
||||
navigationCompose = "2.9.0"
|
||||
pinLockCompose = "1.0.4"
|
||||
qrose = "1.0.1"
|
||||
roomVersion = "2.7.1"
|
||||
roomVersion = "2.7.2"
|
||||
semver4j = "3.1.0"
|
||||
slf4jAndroid = "1.7.36"
|
||||
timber = "5.0.1"
|
||||
tunnel = "1.3.0"
|
||||
tunnel = "1.4.0"
|
||||
androidGradlePlugin = "8.10.1"
|
||||
kotlin = "2.1.21"
|
||||
ksp = "2.1.21-2.0.2"
|
||||
kotlin = "2.2.0"
|
||||
ksp = "2.2.0-2.0.2"
|
||||
composeBom = "2025.06.00"
|
||||
compose = "1.8.2"
|
||||
icons = "1.7.8"
|
||||
workRuntimeKtxVersion = "2.10.1"
|
||||
zxingAndroidEmbedded = "4.3.0"
|
||||
coreSplashscreen = "1.0.1"
|
||||
gradlePlugins-grgit = "5.3.0"
|
||||
gradlePlugins-grgit = "5.3.2"
|
||||
|
||||
#plugins
|
||||
material = "1.12.0"
|
||||
|
||||
Reference in New Issue
Block a user