mirror of
https://github.com/amnezia-vpn/amneziawg-android.git
synced 2026-07-03 14:05:13 +02:00
Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2ce51c8c2e | |||
| c621ec0c50 | |||
| 2ed2a1431d | |||
| 3a425394ca | |||
| d98ba463ad | |||
| c3d97acb31 | |||
| 8dbd464fa4 | |||
| 63a5bb1bbf | |||
| 8c03878808 | |||
| d29e50e50b | |||
| 687bf8b208 | |||
| 10d0807395 | |||
| 0a89c87190 |
+3
-3
@@ -1,6 +1,6 @@
|
||||
[submodule "app/tools/libmnl"]
|
||||
path = app/tools/libmnl
|
||||
url = https://git.netfilter.org/libmnl/
|
||||
[submodule "app/tools/wireguard"]
|
||||
path = app/tools/wireguard
|
||||
url = https://git.zx2c4.com/WireGuard
|
||||
[submodule "app/tools/wireguard-tools"]
|
||||
path = app/tools/wireguard-tools
|
||||
url = https://git.zx2c4.com/wireguard-tools
|
||||
|
||||
Generated
+14
-55
@@ -29,6 +29,9 @@
|
||||
<emptyLine />
|
||||
</value>
|
||||
</option>
|
||||
<AndroidXmlCodeStyleSettings>
|
||||
<option name="ARRANGEMENT_SETTINGS_MIGRATED_TO_191" value="true" />
|
||||
</AndroidXmlCodeStyleSettings>
|
||||
<JavaCodeStyleSettings>
|
||||
<option name="GENERATE_FINAL_LOCALS" value="true" />
|
||||
<option name="GENERATE_FINAL_PARAMETERS" value="true" />
|
||||
@@ -358,6 +361,7 @@
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>xmlns:android</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
@@ -368,6 +372,7 @@
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>xmlns:.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
@@ -379,6 +384,7 @@
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*:id</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
@@ -389,6 +395,7 @@
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*:name</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
@@ -399,6 +406,7 @@
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>name</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
@@ -409,6 +417,7 @@
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>style</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
@@ -419,6 +428,7 @@
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
@@ -429,64 +439,12 @@
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*:layout_width</NAME>
|
||||
<NAME>.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*:layout_height</NAME>
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*:layout_.*</NAME>
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>BY_NAME</order>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*:width</NAME>
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>BY_NAME</order>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*:height</NAME>
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>BY_NAME</order>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*</NAME>
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>BY_NAME</order>
|
||||
<order>ANDROID_ATTRIBUTE_ORDER</order>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
@@ -494,6 +452,7 @@
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>.*</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
|
||||
+2
-2
@@ -17,8 +17,8 @@ android {
|
||||
applicationId 'com.wireguard.android'
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 29
|
||||
versionCode 460
|
||||
versionName '0.0.20191220'
|
||||
versionCode 463
|
||||
versionName '0.0.20200124'
|
||||
buildConfigField 'int', 'MIN_SDK_VERSION', "$minSdkVersion.apiLevel"
|
||||
}
|
||||
// If the keystore file exists
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
|
||||
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
|
||||
|
||||
<permission
|
||||
android:name="${applicationId}.permission.CONTROL_TUNNELS"
|
||||
android:description="@string/permission_description"
|
||||
@@ -31,6 +33,7 @@
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
|
||||
</intent-filter>
|
||||
|
||||
<intent-filter>
|
||||
|
||||
@@ -8,6 +8,7 @@ package com.wireguard.android.backend;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.collection.ArraySet;
|
||||
@@ -212,6 +213,11 @@ public final class GoBackend implements Backend {
|
||||
|
||||
builder.setMtu(config.getInterface().getMtu().orElse(1280));
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
|
||||
builder.setMetered(false);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
|
||||
service.setUnderlyingNetworks(null);
|
||||
|
||||
builder.setBlocking(true);
|
||||
try (final ParcelFileDescriptor tun = builder.establish()) {
|
||||
if (tun == null)
|
||||
|
||||
@@ -34,18 +34,6 @@ public class TunnelDetailFragment extends BaseFragment {
|
||||
@Nullable private Timer timer;
|
||||
@Nullable private State lastState = State.TOGGLE;
|
||||
|
||||
private static class StatsTimerTask extends TimerTask {
|
||||
final TunnelDetailFragment tdf;
|
||||
private StatsTimerTask(final TunnelDetailFragment tdf) {
|
||||
this.tdf = tdf;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
tdf.updateStats();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable final Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
@@ -70,7 +58,12 @@ public class TunnelDetailFragment extends BaseFragment {
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
timer = new Timer();
|
||||
timer.scheduleAtFixedRate(new StatsTimerTask(this), 0, 1000);
|
||||
timer.scheduleAtFixedRate(new TimerTask() {
|
||||
@Override
|
||||
public void run() {
|
||||
updateStats();
|
||||
}
|
||||
}, 0, 1000);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -127,11 +120,14 @@ public class TunnelDetailFragment extends BaseFragment {
|
||||
private void updateStats() {
|
||||
if (binding == null || !isResumed())
|
||||
return;
|
||||
final State state = binding.getTunnel().getState();
|
||||
final Tunnel tunnel = binding.getTunnel();
|
||||
if (tunnel == null)
|
||||
return;
|
||||
final State state = tunnel.getState();
|
||||
if (state != State.UP && lastState == state)
|
||||
return;
|
||||
lastState = state;
|
||||
binding.getTunnel().getStatisticsAsync().whenComplete((statistics, throwable) -> {
|
||||
tunnel.getStatisticsAsync().whenComplete((statistics, throwable) -> {
|
||||
if (throwable != null) {
|
||||
for (int i = 0; i < binding.peersLayout.getChildCount(); ++i) {
|
||||
final TunnelDetailPeerBinding peer = DataBindingUtil.getBinding(binding.peersLayout.getChildAt(i));
|
||||
|
||||
@@ -45,7 +45,7 @@ public class FloatingActionsMenu extends ViewGroup {
|
||||
public static final int LABELS_ON_RIGHT_SIDE = 1;
|
||||
private static final TimeInterpolator ALPHA_EXPAND_INTERPOLATOR = new DecelerateInterpolator();
|
||||
private static final int ANIMATION_DURATION = 300;
|
||||
private static final boolean BROKEN_LABEL_STYLE = Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1 && Build.BRAND.equals("ASUS");
|
||||
private static final boolean BROKEN_LABEL_STYLE = Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1 && Build.BRAND.equalsIgnoreCase("ASUS");
|
||||
private static final float COLLAPSED_PLUS_ROTATION = 0f;
|
||||
private static final TimeInterpolator COLLAPSE_INTERPOLATOR = new DecelerateInterpolator(3f);
|
||||
private static final float EXPANDED_PLUS_ROTATION = 90f + 45f;
|
||||
|
||||
@@ -0,0 +1,180 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<plurals name="delete_error">
|
||||
<item quantity="one">Impossibile eliminare %d tunnel: %s</item>
|
||||
<item quantity="other">Impossibile eliminare %d tunnel: %s</item>
|
||||
</plurals>
|
||||
<plurals name="delete_success">
|
||||
<item quantity="one">%d tunnel eliminato correttamente</item>
|
||||
<item quantity="other">%d tunnel eliminati correttamente</item>
|
||||
</plurals>
|
||||
<plurals name="delete_title">
|
||||
<item quantity="one">%d tunnel selezionato</item>
|
||||
<item quantity="other">%d tunnel selezionati</item>
|
||||
</plurals>
|
||||
<plurals name="import_partial_success">
|
||||
<item quantity="one">Importato %d di %d tunnel</item>
|
||||
<item quantity="other">Importati %d di %d tunnel</item>
|
||||
</plurals>
|
||||
<plurals name="import_total_success">
|
||||
<item quantity="one">Importato %d tunnel</item>
|
||||
<item quantity="other">Importati %d tunnel</item>
|
||||
</plurals>
|
||||
<plurals name="set_excluded_applications">
|
||||
<item quantity="one">%d applicazione esclusa</item>
|
||||
<item quantity="other">%d applicazioni escluse</item>
|
||||
</plurals>
|
||||
<string name="add_peer">Aggiungi peer</string>
|
||||
<string name="addresses">Indirizzi</string>
|
||||
<string name="allowed_ips">IP consentiti</string>
|
||||
<string name="app_name">WireGuard</string>
|
||||
<string name="bad_config_context">%2$s di %1$s</string>
|
||||
<string name="bad_config_context_top_level">%s</string>
|
||||
<string name="bad_config_error">%1$s in %2$s</string>
|
||||
<string name="bad_config_explanation_pka">: deve essere positivo e non maggiore di 65535</string>
|
||||
<string name="bad_config_explanation_positive_number">: deve essere positivo</string>
|
||||
<string name="bad_config_explanation_udp_port">: deve essere un numero di porta UDP valido</string>
|
||||
<string name="bad_config_reason_invalid_key">Chiave non valida</string>
|
||||
<string name="bad_config_reason_invalid_number">Numero non valido</string>
|
||||
<string name="bad_config_reason_invalid_value">Valore non valido</string>
|
||||
<string name="bad_config_reason_missing_attribute">Attributo mancante</string>
|
||||
<string name="bad_config_reason_missing_section">Sezione mancante</string>
|
||||
<string name="bad_config_reason_missing_value">Valore mancante</string>
|
||||
<string name="bad_config_reason_syntax_error">Errore di sintassi</string>
|
||||
<string name="bad_config_reason_unknown_attribute">Attributo sconosciuto</string>
|
||||
<string name="bad_config_reason_unknown_section">Sezione sconosciuta</string>
|
||||
<string name="bad_config_reason_value_out_of_range">Valore fuori scala</string>
|
||||
<string name="bad_extension_error">Il file deve essere .conf o .zip</string>
|
||||
<string name="cancel">Annulla</string>
|
||||
<string name="config_delete_error">Impossibile eliminare il file di configurazione %s</string>
|
||||
<string name="config_exists_error">La configurazione per “%s” esiste già</string>
|
||||
<string name="config_file_exists_error">Il file di configurazione “%s” esiste già</string>
|
||||
<string name="config_not_found_error">File di configurazione “%s” non trovato</string>
|
||||
<string name="config_rename_error">Impossibile rinominare il file di configurazione “%s”</string>
|
||||
<string name="config_save_error">Impossibile salvare la configurazione per “%1$s”: %2$s</string>
|
||||
<string name="config_save_success">Configurazione per “%s” salvata correttamente</string>
|
||||
<string name="create_activity_title">Crea un tunnel WireGuard</string>
|
||||
<string name="create_bin_dir_error">Impossibile creare cartella locale binari</string>
|
||||
<string name="create_empty">Crea da zero</string>
|
||||
<string name="create_from_file">Crea da un file o archivio</string>
|
||||
<string name="create_from_qr_code">Crea da un codice QR</string>
|
||||
<string name="create_output_dir_error">Impossibile creare la cartella di output</string>
|
||||
<string name="create_downloads_file_error">Impossibile creare il file nella cartella di download</string>
|
||||
<string name="create_temp_dir_error">Impossibile creare la cartella locale temporanea</string>
|
||||
<string name="create_tunnel">Crea tunnel</string>
|
||||
<string name="dark_theme_summary_off">Stai usando il tema chiaro (giorno)</string>
|
||||
<string name="dark_theme_summary_on">Stai usando il tema scuro (notte)</string>
|
||||
<string name="dark_theme_title">Usa tema scuro</string>
|
||||
<string name="delete">Elimina</string>
|
||||
<string name="deselect_all">Deseleziona tutto</string>
|
||||
<string name="dns_servers">Server DNS</string>
|
||||
<string name="edit">Modifica</string>
|
||||
<string name="endpoint">Endpoint</string>
|
||||
<string name="error_down">Errore di disattivazione del tunnel: %s</string>
|
||||
<string name="error_fetching_apps">Errore di recupero della lista app: %s</string>
|
||||
<string name="error_root">Si prega di ottenere l\'accesso root e riprovare</string>
|
||||
<string name="error_up">Errore di attivazione del tunnel: %s</string>
|
||||
<string name="exclude_private_ips">Escludi IP privati</string>
|
||||
<string name="excluded_applications">Applicazioni escluse</string>
|
||||
<string name="generate">Genera</string>
|
||||
<string name="generic_error">Errore “%s” sconosciuto</string>
|
||||
<string name="hint_automatic">(auto)</string>
|
||||
<string name="hint_generated">(generato)</string>
|
||||
<string name="hint_optional">(facoltativo)</string>
|
||||
<string name="hint_random">(casuale)</string>
|
||||
<string name="illegal_filename_error">Nome file “%s” non valido</string>
|
||||
<string name="import_error">Impossibile importare il tunnel: %s</string>
|
||||
<string name="import_from_qr_code">Importa tunnel da codice QR</string>
|
||||
<string name="import_success">Importato “%s”</string>
|
||||
<string name="interface_title">Interfaccia</string>
|
||||
<string name="key_length_explanation_base64">: le chiavi base64 di WireGuard devono essere di 44 caratteri (32 byte)</string>
|
||||
<string name="key_length_explanation_binary">: le chiavi di WireGuard devono essere di 32 byte</string>
|
||||
<string name="key_length_explanation_hex">: le chiavi hex di WireGuard devono essere di 64 caratteri (32 byte)</string>
|
||||
<string name="listen_port">Porta in ascolto</string>
|
||||
<string name="log_export_error">Impossibile esportare il registro: %s</string>
|
||||
<string name="log_export_success">Salvato in “%s”</string>
|
||||
<string name="log_export_summary">Il file del registro verrà salvato nella cartella di download</string>
|
||||
<string name="log_export_title">Esporta file registro</string>
|
||||
<string name="logcat_error">Impossibile eseguire logcat: </string>
|
||||
<string name="module_version_error">Impossibile determinare la versione modulo del kernel</string>
|
||||
<string name="module_installer_not_found">Nessun modulo disponibile per il tuo dispositivo</string>
|
||||
<string name="module_installer_initial">Il modulo del kernel sperimentale può migliorare le prestazioni</string>
|
||||
<string name="module_installer_success">Fatto. L\'applicazione si riavvierà in 5 secondi</string>
|
||||
<string name="module_installer_title">Scarica e installa il modulo del kernel</string>
|
||||
<string name="module_installer_working">Scaricamento e installazione…</string>
|
||||
<string name="module_installer_error">Qualcosa è andato storto. Riprova</string>
|
||||
<string name="mtu">MTU</string>
|
||||
<string name="multiple_tunnels_error">Può essere attivo solo un tunnel su spazio utente alla volta</string>
|
||||
<string name="name">Nome</string>
|
||||
<string name="no_config_error">Tentativo di attivare un tunnel senza configurazione</string>
|
||||
<string name="no_configs_error">Nessuna configurazione trovata</string>
|
||||
<string name="no_tunnels_error">Non esistono tunnel</string>
|
||||
<string name="parse_error_generic">stringa</string>
|
||||
<string name="parse_error_inet_address">indirizzo IP</string>
|
||||
<string name="parse_error_inet_endpoint">endpoint</string>
|
||||
<string name="parse_error_inet_network">rete IP</string>
|
||||
<string name="parse_error_integer">numero</string>
|
||||
<string name="parse_error_reason">Impossibile analizzare %1$s “%2$s”</string>
|
||||
<string name="peer">Peer</string>
|
||||
<string name="permission_description">Permette ad un\'app di controllare i tunnel WireGuard. Le app con questa autorizzazione possono attivare e disattivare i tunnel WireGuard a piacimento, potenzialmente deviando il traffico internet.</string>
|
||||
<string name="permission_label">controlla tunnel WireGuard</string>
|
||||
<string name="persistent_keepalive">Tieni sempre attivo</string>
|
||||
<string name="pre_shared_key">Chiave condivisa (PSK)</string>
|
||||
<string name="private_key">Chiave privata</string>
|
||||
<string name="public_key">Chiave pubblica</string>
|
||||
<string name="public_key_description">La chiave pubblica</string>
|
||||
<string name="qr_code_hint">Suggerimento: genera con `qrencode -t ansiutf8 < tunnel.conf`.</string>
|
||||
<string name="restore_on_boot_summary">Attiva tunnel attivati in precedenza all\'avvio</string>
|
||||
<string name="restore_on_boot_title">Ripristina all\'avvio</string>
|
||||
<string name="save">Salva</string>
|
||||
<string name="select_all">Seleziona tutto</string>
|
||||
<string name="set_exclusions">Imposta esclusioni</string>
|
||||
<string name="settings">Impostazioni</string>
|
||||
<string name="shell_exit_status_read_error">La shell non riesce a leggere l\'exit status</string>
|
||||
<string name="shell_marker_count_error">La shell si aspettava 4 marker, ne ha ricevuti %d</string>
|
||||
<string name="shell_start_error">Avvio della shell fallito: %d</string>
|
||||
<string name="toggle_error">Errore di commutazione tunnel WireGuard: %s</string>
|
||||
<string name="tools_installer_already">wg e wg-quick sono già installati</string>
|
||||
<string name="tools_installer_failure">Impossibile installare strumenti di riga di comando (non root?)</string>
|
||||
<string name="tools_installer_initial">Installa strumenti facoltativi per script</string>
|
||||
<string name="tools_installer_initial_magisk">Installa strumenti facoltativi per script come moduli Magisk</string>
|
||||
<string name="tools_installer_initial_system">Installa strumenti facoltativi per script nella partizione di sistema</string>
|
||||
<string name="tools_installer_success_magisk">wg e wg-quick installati come moduli Magisk (riavvio necessario)</string>
|
||||
<string name="tools_installer_success_system">wg e wg-quick installati nella partizione di sistema</string>
|
||||
<string name="tools_installer_title">Installa strumenti di riga di comando</string>
|
||||
<string name="tools_installer_working">Installazione di wg e wg-quick</string>
|
||||
<string name="tools_unavailable_error">Strumenti necessari non disponibili</string>
|
||||
<string name="transfer">Trasferisci</string>
|
||||
<string name="transfer_rx_tx">rx: %s, tx: %s</string>
|
||||
<string name="transfer_bytes">%d B</string>
|
||||
<string name="transfer_kibibytes">%.2f KiB</string>
|
||||
<string name="transfer_mibibytes">%.2f MiB</string>
|
||||
<string name="transfer_gibibytes">%.2f GiB</string>
|
||||
<string name="transfer_tibibytes">%.2f TiB</string>
|
||||
<string name="tun_create_error">Impossibile creare il dispositivo tun</string>
|
||||
<string name="tunnel_config_error">Impossibile configurare il tunnel (wg-quick ha risposto %d)</string>
|
||||
<string name="tunnel_create_error">Impossibile creare il tunnel: %s</string>
|
||||
<string name="tunnel_create_success">Tunnel “%s” creato correttamente</string>
|
||||
<string name="tunnel_error_already_exists">Il tunnel “%s” esiste già</string>
|
||||
<string name="tunnel_error_invalid_name">Nome non valido</string>
|
||||
<string name="tunnel_list_placeholder">Aggiungi un tunnel usando il pulsante blu</string>
|
||||
<string name="tunnel_name">Nome tunnel</string>
|
||||
<string name="tunnel_on_error">Impossibile attivare il tunnel (wgTurnOn ha risposto %d)</string>
|
||||
<string name="tunnel_rename_error">Impossibile rinominare il tunnel: %s</string>
|
||||
<string name="tunnel_rename_success">Tunnel rinominato correttamente in “%s”</string>
|
||||
<string name="type_name_go_userspace">Spazio utente Go</string>
|
||||
<string name="type_name_kernel_module">Modulo kernel</string>
|
||||
<string name="unknown_error">Errore sconosciuto</string>
|
||||
<string name="version_summary">%1$s backend v%2$s</string>
|
||||
<string name="version_summary_checking">Controllo versione backend %s</string>
|
||||
<string name="version_summary_unknown">Versione %s sconosciuta</string>
|
||||
<string name="version_title">WireGuard per Android v%s</string>
|
||||
<string name="vpn_not_authorized_error">Servizio VPN non autorizzato dall\'utente</string>
|
||||
<string name="vpn_start_error">Impossibile avviare il servizio VPN di Android</string>
|
||||
<string name="zip_export_error">Impossibile esportare i tunnel: %s</string>
|
||||
<string name="zip_export_success">Salvato in “%s”</string>
|
||||
<string name="zip_export_summary">Il file zip verrà salvato nella cartella di download</string>
|
||||
<string name="zip_export_title">Esporta i tunnel in un file zip</string>
|
||||
<string name="key_length_error">Lunghezza chiave non valida</string>
|
||||
<string name="key_contents_error">Caratteri errati nella chiave</string>
|
||||
</resources>
|
||||
@@ -8,13 +8,14 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
|
||||
# Work around https://github.com/android-ndk/ndk/issues/602
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold")
|
||||
|
||||
add_executable(libwg-quick.so wireguard/src/tools/wg-quick/android.c ndk-compat/compat.c)
|
||||
add_executable(libwg-quick.so wireguard-tools/src/wg-quick/android.c ndk-compat/compat.c)
|
||||
target_compile_options(libwg-quick.so PUBLIC -O3 -std=gnu11 -Wall -include ${CMAKE_CURRENT_SOURCE_DIR}/ndk-compat/compat.h -DWG_PACKAGE_NAME=\"${ANDROID_PACKAGE_NAME}\")
|
||||
target_link_libraries(libwg-quick.so -ldl)
|
||||
|
||||
file(GLOB WG_SOURCES wireguard/src/tools/*.c libmnl/src/*.c ndk-compat/compat.c)
|
||||
file(GLOB WG_SOURCES wireguard-tools/src/*.c libmnl/src/*.c ndk-compat/compat.c)
|
||||
add_executable(libwg.so ${WG_SOURCES})
|
||||
target_compile_options(libwg.so PUBLIC -idirafter "${CMAKE_CURRENT_SOURCE_DIR}/libmnl/include/" -I "${CMAKE_CURRENT_SOURCE_DIR}/wireguard/src/tools/" -O3 -std=gnu11 -D_GNU_SOURCE -include ${CMAKE_CURRENT_SOURCE_DIR}/ndk-compat/compat.h -DHAVE_VISIBILITY_HIDDEN -DRUNSTATEDIR=\"/data/data/${ANDROID_PACKAGE_NAME}/cache\" -Wno-pointer-arith -Wno-unused-parameter)
|
||||
target_include_directories(libwg.so PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/wireguard-tools/src/uapi/" "${CMAKE_CURRENT_SOURCE_DIR}/wireguard-tools/src/")
|
||||
target_compile_options(libwg.so PUBLIC -O3 -std=gnu11 -D_GNU_SOURCE -idirafter "${CMAKE_CURRENT_SOURCE_DIR}/libmnl/include/" -include ${CMAKE_CURRENT_SOURCE_DIR}/ndk-compat/compat.h -DHAVE_VISIBILITY_HIDDEN -DRUNSTATEDIR=\"/data/data/${ANDROID_PACKAGE_NAME}/cache\" -Wno-pointer-arith -Wno-unused-parameter)
|
||||
|
||||
add_custom_target(libwg-go.so WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/libwg-go" COMMENT "Building wireguard-go" VERBATIM COMMAND make
|
||||
ANDROID_ARCH_NAME=${ANDROID_ARCH_NAME}
|
||||
|
||||
@@ -3,8 +3,8 @@ module golang.zx2c4.com/wireguard/android
|
||||
go 1.13
|
||||
|
||||
require (
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 // indirect
|
||||
golang.org/x/net v0.0.0-20191014212845-da9a3fd4c582 // indirect
|
||||
golang.org/x/sys v0.0.0-20191018095205-727590c5006e
|
||||
golang.zx2c4.com/wireguard v0.0.20191013-0.20191017134306-ae492d1b3599
|
||||
golang.org/x/crypto v0.0.0-20200117160349-530e935923ad // indirect
|
||||
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa // indirect
|
||||
golang.org/x/sys v0.0.0-20200122134326-e047566fdf82
|
||||
golang.zx2c4.com/wireguard v0.0.20200121
|
||||
)
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 h1:ObdrDkeb4kJdCP557AjRjq69pTHfNouLtWZG7j9rPN8=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20200117160349-530e935923ad h1:Jh8cai0fqIK+f6nG0UgPW5wFk8wmiMhM3AyciDBdtQg=
|
||||
golang.org/x/crypto v0.0.0-20200117160349-530e935923ad/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20191003171128-d98b1b443823/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20191014212845-da9a3fd4c582 h1:p9xBe/w/OzkeYVKm234g55gMdD1nSIooTir5kV11kfA=
|
||||
golang.org/x/net v0.0.0-20191014212845-da9a3fd4c582/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa h1:F+8P+gmewFQYRk6JoLQLwjBCTu3mcIURZfNkVweuRKA=
|
||||
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191003212358-c178f38b412c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191018095205-727590c5006e h1:ZtoklVMHQy6BFRHkbG6JzK+S6rX82//Yeok1vMlizfQ=
|
||||
golang.org/x/sys v0.0.0-20191018095205-727590c5006e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200122134326-e047566fdf82 h1:ywK/j/KkyTHcdyYSZNXGjMwgmDSfjglYZ3vStQ/gSCU=
|
||||
golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
|
||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.zx2c4.com/wireguard v0.0.20191013-0.20191017134306-ae492d1b3599 h1:fHOjo1GyHRI2q/LcFB9NiFTqXB7WRiu2idShqqTwrZ4=
|
||||
golang.zx2c4.com/wireguard v0.0.20191013-0.20191017134306-ae492d1b3599/go.mod h1:P2HsVp8SKwZEufsnezXZA4GRX/T49/HlU7DGuelXsU4=
|
||||
golang.zx2c4.com/wireguard v0.0.20200121 h1:vcswa5Q6f+sylDfjqyrVNNrjsFUUbPsgAQTBCAg/Qf8=
|
||||
golang.zx2c4.com/wireguard v0.0.20200121/go.mod h1:P2HsVp8SKwZEufsnezXZA4GRX/T49/HlU7DGuelXsU4=
|
||||
|
||||
Submodule app/tools/wireguard deleted from 0b27b1d315
Submodule
+1
Submodule app/tools/wireguard-tools added at 8082f7e6a8
+1
-1
@@ -21,7 +21,7 @@ task clean(type: Delete) {
|
||||
|
||||
tasks {
|
||||
wrapper {
|
||||
gradleVersion = "6.0.1"
|
||||
gradleVersion = "6.1"
|
||||
distributionType = Wrapper.DistributionType.ALL
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
BIN
Binary file not shown.
+1
-1
@@ -1,5 +1,5 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1-all.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
||||
Reference in New Issue
Block a user