Compare commits

...

38 Commits

Author SHA1 Message Date
Marcel Bokhorst feef4c7b3b
Updated FAQ 2024-05-04 08:47:40 +02:00
M66B f050f90e2c RLAH: not La Réunion
https://en.wikipedia.org/wiki/European_Union_roaming_regulations#Areas_not_covered
2024-04-24 08:17:36 +02:00
M66B 1f56b996f5 Improved logging 2024-02-22 18:34:39 +01:00
M66B 69e2a37200 2.328 release 2024-02-22 17:25:26 +01:00
M66B c5e9414bb4 Rebuild VPN on active network change 2024-02-22 17:24:44 +01:00
M66B 589b4828b1 Allow Samsung find my phone by default 2024-02-18 23:21:52 +01:00
M66B 37ff174b1f COpy search domain from active network 2024-02-17 16:03:37 +01:00
M66B a3375e11c8 2.327 release 2023-12-03 17:54:36 +01:00
M66B d786249594 Revert "Simplification"
This reverts commit 2861b11661.
2023-12-03 17:53:59 +01:00
M66B b3dd446dd3 2.326 release 2023-12-01 07:35:18 +01:00
M66B 8bf7894cd1 Crowdin sync 2023-11-30 14:43:40 +01:00
M66B f3dfa30f1b Prevent NPE 2023-11-30 14:39:31 +01:00
M66B 68dd66decd Merge branch 'master' of github.com:M66B/NetGuard 2023-11-19 08:18:12 +01:00
M66B e0774471d4 Revert "List self"
This reverts commit 4a9b16ee1e.
2023-11-19 08:17:27 +01:00
Marcel Bokhorst e1133bc9dd
Update README.md 2023-11-14 23:38:08 +01:00
M66B 77845e02f2 Updated compatibility section 2023-11-14 22:50:33 +01:00
M66B fb4c311ac2 Disabled debug info 2023-11-11 17:32:08 +01:00
M66B 9bc65a16fd 2.325 release 2023-11-06 17:46:45 +01:00
M66B 4a9b16ee1e List self
It's fake, but it will prevent 1-star ratings
2023-11-05 18:31:16 +01:00
M66B 8ef3e87cb1 Log level fix 2023-11-02 14:38:47 +01:00
M66B 336c5d67d9 Skip new app notifications without names 2023-11-02 14:18:34 +01:00
M66B 1b344292f3 2.324 release 2023-11-02 08:38:24 +01:00
M66B d80ae38ac2 Refactoring 2023-11-02 08:36:38 +01:00
M66B 2861b11661 Simplification 2023-11-02 08:36:26 +01:00
M66B 2a60b69a3f Cleanup 2023-11-02 08:19:39 +01:00
M66B 43f2f62c4e Revert "Reload on service state changes"
This reverts commit 913eb460c7.
2023-11-02 08:18:36 +01:00
M66B 2ed792332c Optimization 2023-11-02 08:18:19 +01:00
M66B 913eb460c7 Reload on service state changes 2023-11-01 15:42:51 +01:00
M66B eadfe1f397 2.323 release 2023-11-01 07:35:29 +01:00
M66B 132e4c8d4e Merge branch 'master' of github.com:M66B/NetGuard 2023-11-01 07:34:49 +01:00
M66B 31249b815b Always show app titles in notifications 2023-11-01 07:34:02 +01:00
M66B 2faf361591 Already activated 2023-11-01 07:33:29 +01:00
M66B 6ad2e037ee Revert "Explicitly reload on active network changes"
This reverts commit eaea05832e.
2023-10-29 10:52:40 +01:00
M66B 775be3ecd5 Updated FAQ 2023-10-19 11:18:02 +02:00
M66B b068900a3e Specify NDK version 2023-10-09 09:43:51 +02:00
M66B 86ba6346ce Empty 2023-10-07 20:56:50 +02:00
M66B 0ac87d0756 2.322 release 2023-10-04 07:56:48 +02:00
M66B eaea05832e Explicitly reload on active network changes 2023-10-04 07:54:40 +02:00
13 changed files with 136 additions and 81 deletions

2
FAQ.md
View File

@ -37,6 +37,8 @@ However, this does not work properly on all Android versions/variants causing Ne
On Android N and later NetGuard can be configured as [Always-On VPN](https://developer.android.com/guide/topics/connectivity/vpn#always-on).
On Android O **do not** enable the sub option '*Block connections without VPN*', see [question 51](#user-content-faq51)) for more information on this.
The app obviously can't protect you from bugs in Android, such a documented [here](https://mullvad.net/en/blog/dns-traffic-can-leak-outside-the-vpn-tunnel-on-android).
To protect yourself more, remember to disable Wi-Fi and mobile data before rebooting,
and only enable them on reboot, after the firewall service has started (and the key icon is visible in the status bar).

View File

@ -100,6 +100,9 @@ NetGuard will try to workaround this and remove the error message when it succee
Some LineageOS versions have a broken Android VPN implementation, causing all traffic to be blocked,
please see [this FAQ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#user-content-faq51) for more information.
On GrapheneOS, the Android *Always-On VPN* function and the sub option '*Block connections without VPN*' are enabled by default.
However, this sub option will result in blocking all traffic, please see [this FAQ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#user-content-faq51).
NetGuard is not supported for apps installed in a [work profile](https://developer.android.com/work/managed-profiles),
or in a [Secure Folder](https://www.samsung.com/uk/support/mobile-devices/what-is-the-secure-folder-and-how-do-i-use-it/) (Samsung),
or as second instance (MIUI), or as Parallel app (OnePlus), or as Xiaomi dual app

View File

@ -9,10 +9,10 @@ android {
defaultConfig {
applicationId = "eu.faircode.netguard"
versionName = "2.321"
versionName = "2.328"
minSdkVersion 22
targetSdkVersion 34
versionCode = 2023100301
versionCode = 2024022201
archivesBaseName = "NetGuard-v$versionName"
externalNativeBuild {
@ -23,7 +23,7 @@ android {
}
}
//ndkVersion "21.4.7075529"
ndkVersion "25.2.9519653"
ndk {
// https://developer.android.com/ndk/guides/abis.html#sa
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'

View File

@ -279,13 +279,18 @@ public class ActivityPro extends AppCompatActivity {
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if (IAB.isPurchased(SKU_DONATION, this) || Util.isPlayStoreInstall(this))
if (Util.isPlayStoreInstall(this))
menu.removeItem(R.id.menu_challenge);
return super.onPrepareOptionsMenu(menu);
}
private void menu_challenge() {
if (IAB.isPurchased(SKU_DONATION, this)) {
Toast.makeText(this, getString(R.string.title_pro_already), Toast.LENGTH_LONG).show();
return;
}
LayoutInflater inflater = LayoutInflater.from(this);
View view = inflater.inflate(R.layout.challenge, null, false);

View File

@ -104,6 +104,7 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.TreeMap;
import java.util.concurrent.ExecutorService;
@ -1094,7 +1095,7 @@ public class ServiceSinkhole extends VpnService implements SharedPreferences.OnS
remoteViews.setTextViewText(R.id.tvMax, getString(R.string.msg_mbsec, max / 2 / 1000 / 1000));
// Show session/file count
if (filter && loglevel <= Log.WARN) {
if (BuildConfig.DEBUG) {
int[] count = jni_get_stats(jni_context);
remoteViews.setTextViewText(R.id.tvSessions, count[0] + "/" + count[1] + "/" + count[2]);
remoteViews.setTextViewText(R.id.tvFiles, count[3] + "/" + count[4]);
@ -1242,7 +1243,7 @@ public class ServiceSinkhole extends VpnService implements SharedPreferences.OnS
ConnectivityManager cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
Network active = (cm == null ? null : cm.getActiveNetwork());
if (active != null) {
Log.i(TAG, "Setting underlying network=" + cm.getNetworkInfo(active));
Log.i(TAG, "Setting underlying network=" + active + " " + cm.getNetworkInfo(active));
setUnderlyingNetworks(new Network[]{active});
}
}
@ -1291,6 +1292,20 @@ public class ServiceSinkhole extends VpnService implements SharedPreferences.OnS
}
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
try {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
Network active = (cm == null ? null : cm.getActiveNetwork());
LinkProperties props = (active == null ? null : cm.getLinkProperties(active));
String domain = (props == null ? null : props.getDomains());
if (domain != null) {
Log.i(TAG, "Using search domain=" + domain);
builder.addSearchDomain(domain);
}
} catch (Throwable ex) {
Log.e(TAG, ex.toString() + "\n" + Log.getStackTraceString(ex));
}
// Subnet routing
if (subnet) {
// Exclude IP ranges
@ -2391,11 +2406,16 @@ public class ServiceSinkhole extends VpnService implements SharedPreferences.OnS
public void notifyNewApplication(int uid, boolean malware) {
if (uid < 0)
return;
if (uid == Process.myUid())
return;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
try {
// Get application name
String name = TextUtils.join(", ", Util.getApplicationNames(uid, this));
List<String> names = Util.getApplicationNames(uid, this);
if (names.size() == 0)
return;
String name = TextUtils.join(", ", names);
// Get application info
PackageManager pm = getPackageManager();
@ -2600,7 +2620,7 @@ public class ServiceSinkhole extends VpnService implements SharedPreferences.OnS
ConnectivityManager.NetworkCallback nc = new ConnectivityManager.NetworkCallback() {
private Boolean last_connected = null;
private Boolean last_unmetered = null;
private Boolean last_metered = null;
private String last_generation = null;
private List<InetAddress> last_dns = null;
@ -2608,6 +2628,7 @@ public class ServiceSinkhole extends VpnService implements SharedPreferences.OnS
public void onAvailable(Network network) {
Log.i(TAG, "Available network=" + network);
last_connected = Util.isConnected(ServiceSinkhole.this);
last_metered = Util.isMeteredNetwork(ServiceSinkhole.this);
reload("network available", ServiceSinkhole.this, false);
}
@ -2634,28 +2655,33 @@ public class ServiceSinkhole extends VpnService implements SharedPreferences.OnS
Log.i(TAG, "Changed capabilities=" + network + " caps=" + networkCapabilities);
boolean connected = Util.isConnected(ServiceSinkhole.this);
boolean unmetered = networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED);
boolean metered = Util.isMeteredNetwork(ServiceSinkhole.this);
String generation = Util.getNetworkGeneration(ServiceSinkhole.this);
Log.i(TAG, "Connected=" + connected + "/" + last_connected +
" unmetered=" + unmetered + "/" + last_unmetered +
" unmetered=" + metered + "/" + last_metered +
" generation=" + generation + "/" + last_generation);
if (last_connected != null && !last_connected.equals(connected))
reload("Connected state changed", ServiceSinkhole.this, false);
String reason = null;
if (last_unmetered != null && !last_unmetered.equals(unmetered))
reload("Unmetered state changed", ServiceSinkhole.this, false);
if (reason == null && last_connected != null && !last_connected.equals(connected))
reason = "Connected state changed";
if (last_generation != null && !last_generation.equals(generation)) {
if (reason == null && last_metered != null && !last_metered.equals(metered))
reason = "Unmetered state changed";
if (reason == null && last_generation != null && !last_generation.equals(generation)) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ServiceSinkhole.this);
if (prefs.getBoolean("unmetered_2g", false) ||
prefs.getBoolean("unmetered_3g", false) ||
prefs.getBoolean("unmetered_4g", false))
reload("Generation changed", ServiceSinkhole.this, false);
reason = "Generation changed";
}
if (reason != null)
reload(reason, ServiceSinkhole.this, false);
last_connected = connected;
last_unmetered = unmetered;
last_metered = metered;
last_generation = generation;
}
@ -3220,6 +3246,7 @@ public class ServiceSinkhole extends VpnService implements SharedPreferences.OnS
}
private class Builder extends VpnService.Builder {
private Network activeNetwork;
private NetworkInfo networkInfo;
private int mtu;
private List<String> listAddress = new ArrayList<>();
@ -3231,6 +3258,7 @@ public class ServiceSinkhole extends VpnService implements SharedPreferences.OnS
private Builder() {
super();
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
activeNetwork = (Build.VERSION.SDK_INT < Build.VERSION_CODES.M ? null : cm.getActiveNetwork());
networkInfo = cm.getActiveNetworkInfo();
}
@ -3289,6 +3317,9 @@ public class ServiceSinkhole extends VpnService implements SharedPreferences.OnS
if (other == null)
return false;
if (!Objects.equals(this.activeNetwork, other.activeNetwork))
return false;
if (this.networkInfo == null || other.networkInfo == null ||
this.networkInfo.getType() != other.networkInfo.getType())
return false;

View File

@ -111,7 +111,6 @@ public class Util {
"NO", // Norway
"PL", // Poland
"PT", // Portugal
"RE", // La Réunion
"RO", // Romania
"SK", // Slovakia
"SI", // Slovenia
@ -410,7 +409,9 @@ public class Util {
for (String pkg : pkgs)
try {
ApplicationInfo info = pm.getApplicationInfo(pkg, 0);
listResult.add(pm.getApplicationLabel(info).toString());
String name = pm.getApplicationLabel(info).toString();
if (!TextUtils.isEmpty(name))
listResult.add(name);
} catch (PackageManager.NameNotFoundException ignored) {
}
Collections.sort(listResult);

View File

@ -275,10 +275,11 @@ void *handle_events(void *a) {
log_android(ANDROID_LOG_ERROR,
"epoll close error %d: %s", errno, strerror(errno));
log_android(ANDROID_LOG_WARN, "Stopped events tun=%d", args->tun);
// Cleanup
ng_free(args, __FILE__, __LINE__);
log_android(ANDROID_LOG_WARN, "Stopped events tun=%d", args->tun);
return NULL;
}

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_description">NetGuard bietet einfache und erweiterte Möglichkeiten, um Zugriffe auf das Internet zu blockieren - keine Root-Rechte erforderlich! Anwendungen und Adressen kann der Zugriff auf die WLAN- und/oder mobile Datenverbindung einzeln erlaubt oder verweigert werden.</string>
<string name="app_description">NetGuard bietet einfache und erweiterte Möglichkeiten, um Zugriffe auf das Internet zu blockieren keine Root-Rechte erforderlich! Der Zugriff auf die WLAN- und/oder mobile Datenverbindung kann einzeln pro App und Internetadresse erlaubt oder blockiert werden.</string>
<string name="app_android">NetGuard erfordert Android 5.1 oder höher</string>
<string name="app_xposed">Xposed verursacht sehr viele Abstürze, was dazu führen kann, dass NetGuard aus dem Google Play Store entfernt werden könnte. Deshalb wird NetGuard nicht unterstützt, solange Xposed installiert ist</string>
<string name="app_privacy"><a href="https://www.netguard.me/privacy/">Datenschutzerklärung</a></string>
@ -12,20 +12,21 @@
Fünf Appelle und eine gute Rechtfertigung dafür, warum diese Genehmigung benötigt wird, wurden abgelehnt.
Diese Version der App fordert diese Berechtigung nicht mehr an
und trotzdem werden fast alle Apps noch aufgelistet,
außer einigen (System-) Apps, die nicht von der Android-App-Liste manuell gestartet werden können.
außer einigen (System-)Apps, die nicht von der Android-App-Liste manuell gestartet werden können.
Der Internetverkehr dieser Apps wird immer erlaubt sein, um sicherzustellen, dass Ihr Gerät korrekt funktioniert.
Wenn Sie denken, dass dies ein Problem ist, dann können Sie auf die GitHub-Version der App umsteigen und alle (System-) Apps weiter verwalten.
Wenn Sie denken, dass dies ein Problem ist, dann können Sie auf die GitHub-Version der App umsteigen und alle
(System-)Apps weiter verwalten.
</string>
<string name="channel_foreground">Aktive Dienste</string>
<string name="channel_notify">Allgemeine Benachrichtigungen</string>
<string name="channel_access">Auf Benachrichtigungen zugreifen</string>
<string name="menu_search">Nach App suchen</string>
<string name="menu_filter">Anwendungen filtern</string>
<string name="menu_app_user">Benutzeranwendungen anzeigen</string>
<string name="menu_app_system">Systemanwendungen anzeigen</string>
<string name="menu_app_nointernet">Anwendungen ohne Internet anzeigen</string>
<string name="menu_app_disabled">Deaktivierte Anwendungen anzeigen</string>
<string name="menu_sort">Anwendungen sortieren</string>
<string name="menu_filter">Apps filtern</string>
<string name="menu_app_user">Benutzer-Apps anzeigen</string>
<string name="menu_app_system">System-Apps anzeigen</string>
<string name="menu_app_nointernet">Apps ohne Internet anzeigen</string>
<string name="menu_app_disabled">Deaktivierte Apps anzeigen</string>
<string name="menu_sort">Apps sortieren</string>
<string name="menu_sort_name">Nach Namen sortieren</string>
<string name="menu_sort_uid">Nach UID sortieren</string>
<string name="menu_sort_data">Nach Datennutzung sortieren</string>
@ -55,21 +56,21 @@
<string name="title_dport">Quellport</string>
<string name="title_raddr">Zieladresse</string>
<string name="title_rport">Zielport</string>
<string name="title_ruid">Zielanwendung</string>
<string name="title_external">Für einen externen Server wählen Sie \'Keiner\' aus</string>
<string name="title_ruid">Ziel-App</string>
<string name="title_external">Für einen externen Server wählen Sie »Keiner« aus</string>
<string name="setting_defaults">Standardeinstellungen</string>
<string name="setting_whitelist_wifi">WLAN blockieren</string>
<string name="setting_whitelist_other">Mobilfunk blockieren</string>
<string name="setting_whitelist_other">Mobile Daten blockieren</string>
<string name="setting_screen_wifi">WLAN erlauben, wenn Bildschirm eingeschaltet ist</string>
<string name="setting_screen_other">Mobilfunk erlauben, wenn Bildschirm eingeschaltet ist</string>
<string name="setting_screen_other">Mobile Daten erlauben, wenn Bildschirm eingeschaltet ist</string>
<string name="setting_whitelist_roaming">Roaming blockieren</string>
<string name="setting_options">Optionen</string>
<string name="setting_theme">Design: %1$s</string>
<string name="setting_dark">Dunkles Design verwenden</string>
<string name="setting_install">Benachrichtigung bei neuer Installation</string>
<string name="setting_screen_on">\'Wenn Bildschirm an\' Regeln anwenden</string>
<string name="setting_auto">Automatisch nach %1$s-Minuten aktivieren</string>
<string name="setting_delay">Bildschirmabschaltung um %1$s Minuten verzögern</string>
<string name="setting_screen_on">»Wenn Bildschirm eingeschaltet«-Regeln anwenden</string>
<string name="setting_auto">Automatisch nach %1$s Minuten aktivieren</string>
<string name="setting_delay">Ausschalten um %1$s Minuten verzögern</string>
<string name="setting_update">Nach Aktualisierungen suchen</string>
<string name="setting_network_options">Netzwerkoptionen</string>
<string name="setting_subnet">Subnet-Routing</string>
@ -88,7 +89,7 @@
<string name="setting_lockdown_other">Mobile Daten-Zugriffsbeschränkung</string>
<string name="setting_reload_onconnectivity">Erneut laden bei jeder Verbindungsänderung</string>
<string name="setting_advanced_options">Erweiterte Optionen</string>
<string name="setting_system">System-Apps anzeigen</string>
<string name="setting_system">System-Apps verwalten</string>
<string name="setting_log_app">Internetzugriff protokollieren</string>
<string name="setting_access">Bei Internetzugriff benachrichtigen</string>
<string name="setting_filter">Datenverkehr filtern</string>
@ -113,11 +114,11 @@
<string name="setting_socks5_username">SOCKS5-Benutzername: %s</string>
<string name="setting_socks5_password">SOCKS5-Passwort: %s</string>
<string name="setting_pcap_record_size">PCAP-Datensatzgröße: %s B</string>
<string name="setting_pcap_file_size">PCAP-Dateigröße (max): %s MB</string>
<string name="setting_pcap_file_size">Maximale PCAP-Dateigröße: %s MB</string>
<string name="setting_watchdog">Watchdog: alle %s Minuten</string>
<string name="setting_stats_category">Geschwindigkeitsbenachrichtigung</string>
<string name="setting_stats">Netzwerkgeschwindigkeit anzeigen</string>
<string name="setting_stats_top">Top-Anwendungen anzeigen</string>
<string name="setting_stats_top">Top-Apps anzeigen</string>
<string name="setting_stats_frequency">Abtastfrequenz: %s ms</string>
<string name="setting_stats_samples">Abtastanzahl: %s s</string>
<string name="setting_backup">Sicherung</string>
@ -131,14 +132,14 @@
<string name="setting_technical_general">Allgemein</string>
<string name="setting_technical_networks">Netzwerke</string>
<string name="setting_technical_subscription">Abos</string>
<string name="summary_install">Statusleisten-Benachrichtigung anzeigen, um neu installierte Anwendungen direkt zu konfigurieren (Pro-Funktion)</string>
<string name="summary_auto">Nach dem Deaktivieren über das Widget wird NetGuard nach einer festgelegten Anzahl von Minuten automatisch wieder aktiviert (Null eingeben zum Deaktivieren dieser Option)</string>
<string name="summary_delay">Nach Ausschalten des Bildschirms diesen während der festgelegten Minuten aktiviert lassen (Null eingeben zum Deaktivieren dieser Option)</string>
<string name="summary_install">Benachrichtigung in der Statusleiste anzeigen, um neu installierte Apps direkt zu konfigurieren (Pro-Funktion)</string>
<string name="summary_auto">Nach dem Deaktivieren über das Widget wird NetGuard nach der festgelegten Anzahl von Minuten automatisch wieder aktiviert (Null eingeben zum Deaktivieren dieser Option)</string>
<string name="summary_delay">Nach Ausschalten des Bildschirms diesen während der festgelegten Anzahl von Minuten aktiviert lassen (Null eingeben zum Deaktivieren dieser Option)</string>
<string name="summary_update">Es wird auf GitHub zweimal täglich nach neuen Versionen gesucht</string>
<string name="summary_tethering">Abhängig von der Android Version kann Tethering funktionieren. Dieser Verkehr kann nicht gefiltert werden.</string>
<string name="summary_subnet">Subnet-Routing aktivieren ermöglicht möglicherweise das Telefonieren über WLAN, triggert aber auch das Auftreten von Fehler in Android und lässt den Batterieverbrauch steigen</string>
<string name="summary_tethering">Abhängig von der Android-Version kann Tethering funktionieren. Dieser Datenverkehr kann nicht gefiltert werden.</string>
<string name="summary_subnet">Subnet-Routing aktivieren; kann WLAN-Anrufe aktivieren, aber auch Fehler in Android auslösen und den Akkuverbrauch erhöhen</string>
<string name="summary_lan">Apps den Zugriff auf lokale Netzwerkadressen wie 10.0.0.0/8, 172.16.0.0/12 und 192.168.0.0/16 erlauben.</string>
<string name="summary_ip6">IP6-Datenverkehr an NetGuard weiterleiten, so dass es selektiv zugelassen oder blockiert werden kann</string>
<string name="summary_ip6">IPv6-Datenverkehr an NetGuard weiterleiten, sodass er selektiv zugelassen oder blockiert werden kann</string>
<string name="summary_wifi_home">WLAN-Regeln nur für ausgewähltes Netzwerk anwenden (Mobilfunknetz-Regeln für andere WLAN-Netzwerke anwenden)</string>
<string name="summary_metered">Mobilfunk-Regeln auf volumenbeschränkte (kostenpflichtige, Tethering-) WLAN-Netzwerke anwenden</string>
<string name="summary_metered_2g">WLAN-Regeln für 2G-Datenverbindungen anwenden</string>
@ -148,12 +149,12 @@
<string name="summary_eu_roaming">Roaming-Regeln nicht anwenden, wenn sich die Nationalitäten für SIM und mobiles Netzwerk innerhalb der EU befinden (Roaming wie Zuhause)</string>
<string name="summary_call">NetGuard bei ein- oder ausgehenden Anrufen deaktivieren. Dadurch können Probleme bei IP-/WLAN-Telefonie gelöst werden.</string>
<string name="summary_system">Regeln für System-Apps definieren (für Experten)</string>
<string name="summary_log_app">Protokoll zeichnet den Internetzugriff von Anwendungen auf (Dadurch kann ein zusätzlicher Batterieverbrauch entstehen)</string>
<string name="summary_access">Benachrichtigungsleiste anzeigen, wenn eine Anwendung versucht, auf eine neue Internetadresse zuzugreifen (bei deaktivierter Filterung werden nur blockierte Internet-Zugriffsversuche angezeigt)</string>
<string name="summary_filter">IP-Pakete filtern, die den VPN-Tunnel verlassen. (Dadurch kann ein zusätzlicher Batterieverbrauch entstehen)</string>
<string name="summary_track_usage">Anzahl der gesendeten und empfangenen Bytes für jede Anwendung und Adresse verfolgen. (Dadurch kann ein zusätzlicher Batterieverbrauch entstehen)</string>
<string name="summary_log_app">Protokoll zeichnet den Internetzugriff von Apps auf. Das kann den Akkuverbrauch erhöhen!</string>
<string name="summary_access">Benachrichtigung in der Statusleiste anzeigen, wenn eine App versucht, auf eine neue Internetadresse zuzugreifen (wenn das Filtern deaktiviert ist, werden nur blockierte Versuche auf den Internetzugriff angezeigt)</string>
<string name="summary_filter">IP-Pakete filtern, die den VPN-Tunnel verlassen. Das kann den Akkuverbrauch erhöhen!</string>
<string name="summary_track_usage">Anzahl der gesendeten und empfangenen Bytes für jede App und Adresse verfolgen. Das kann den Akkuverbrauch erhöhen!</string>
<string name="summary_block_domains">Mit dem festgelegten DNS-Rückantwortcode auf blockierte Domainnamen antworten. Diese Option ist deaktiviert, wenn keine Hosts-Datei zur Verfügung steht.</string>
<string name="summary_rcode">Der Standardwert ist 3 (NXDOMAIN) und bedeutet \'Nicht vorhandene Domain\'.</string>
<string name="summary_rcode">Der Standardwert ist 3 (NXDOMAIN) und bedeutet »Nicht existierende Domain«.</string>
<string name="summary_validate">Domainname, der verwendet wird, um die Internetverbindung unter Port 443 (HTTPS) zu validieren.</string>
<string name="summary_socks5_enabled">Nur TCP-Datenverkehr wird an den Proxyserver gesendet</string>
<string name="summary_watchdog">In regelmäßigen Abständen überprüfen, ob NetGuard noch läuft (Null, um diese Option zu deaktivieren). Das kann den Akkuverbrauch erhöhen!</string>
@ -164,8 +165,8 @@
<string name="msg_hosts">%1$d erlaubt, %2$d blockiert, %3$d Hosts</string>
<string name="msg_waiting">Auf Ereignis warten</string>
<string name="msg_disabled">NetGuard ist deaktiviert. Verwenden Sie den Schalter, um NetGuard zu aktivieren.</string>
<string name="msg_notifications">Tippen, um Benachrichtigungsberechtigungen zu erteilen (für Zugriffsversuchs-Benachrichtigungen, Fehlermeldungen, usw.)</string>
<string name="msg_revoked">NetGuard wurde deaktiviert. Wahrscheinlich durch Verwendung einer anderen VPN-Anwendung</string>
<string name="msg_notifications">Tippen, um Benachrichtigungsberechtigungen zu erteilen (für Zugriffsversuchs-Benachrichtigungen, Fehlermeldungen usw.)</string>
<string name="msg_revoked">NetGuard wurde deaktiviert. Wahrscheinlich durch das Verwenden einer anderen VPN-App</string>
<string name="msg_installed">\'%1$s\' installiert</string>
<string name="msg_installed_n">Wurde installiert</string>
<string name="msg_access">%1$s versucht Internetzugriff</string>
@ -177,17 +178,18 @@
<string name="msg_start_failed">Android verhinderte den Start des VPN-Dienstes. Der Grund ist wahrscheinlich ein Fehler in der aktuellen Android-Version.</string>
<string name="msg_try">NetGuard ausprobieren</string>
<string name="msg_terms">Durch eine Spende stimmen Sie den <a href="http://www.netguard.me/#terms">AGB</a> zu.</string>
<string name="msg_dimming">Falls Sie nicht auf OK im nächsten Fenster tippen können, manipuliert eine andere Anwendung Ihren Bildschirm.</string>
<string name="msg_dimming">Falls Sie im nächsten Fenster nicht auf OK tippen können, manipuliert eine andere App Ihren Bildschirm.</string>
<string name="msg_mbday">± %1$.3f▲ %2$.3f▼ MB/Tag</string>
<string name="msg_kb">%1$7.3f▲ %2$7.3f▼ KB</string>
<string name="msg_mb">%1$7.3f▲ %2$7.3f▼ MB</string>
<string name="msg_gb">%1$7.3f▲ %2$7.3f▼ GB</string>
<string name="msg_count">%dx</string>
<string name="msg_doze">Für konsistente Ergebnisse sollten für NetGuard die Android-Batterie-Optimierungen deaktiviert werden.\n\nIm nächsten Dialogfenster wählen Sie ganz oben \"Alle Apps\", tippen auf NetGuard in der Liste und wählen und bestätigen \"Nicht optimieren\".</string>
<string name="msg_datasaving">Für konsistente Ergebnisse sollten die Android-Datenspeicheroptionen für NetGuard deaktiviert werden.\n\nIm nächsten Fenster aktivieren Sie die Optionen \"Hintergrunddaten\" und \"Uneingeschränkte Datennutzung\".</string>
<string name="msg_filter">Bei Verwendung von Filtern werden Daten- und Energiewerte erfasst und Android nimmt an, dass Daten und Energie von NetGuard statt von den ursprünglichen Anwendungen verbraucht werden</string>
<string name="msg_filter4">Android 4 erfordert die Aktivierung der Filterung.</string>
<string name="msg_log_disabled">Datenverkehrprotokollierung ist deaktiviert. Zum Aktivieren den Schalter oben verwenden. Die Protokollierung kann zu höherem Batterieverbrauch führen.</string>
<string name="msg_doze">Für konsistente Ergebnisse sollten für NetGuard die Android-Akkuoptimierungen deaktiviert werden.
\n\nIm nächsten Dialog wählen Sie ganz oben »Alle Apps«, tippen auf NetGuard in der Liste und wählen »Nicht optimieren«. Anschließend bestätigen.</string>
<string name="msg_datasaving">Für konsistente Ergebnisse sollten die Android-Datenspeicheroptionen für NetGuard deaktiviert werden.\n\nIm nächsten Fenster aktivieren Sie die Optionen »Hintergrunddaten« und »Uneingeschränkte Datennutzung«.</string>
<string name="msg_filter">Das Verwenden von Filtern führt dazu, dass Android den Daten- und Akkuverbrauch NetGuard zuordnet. Android geht davon aus, dass die Daten und der Akku von NetGuard statt von den jeweiligen Apps verbraucht werden</string>
<string name="msg_filter4">Android 4 erfordert das Aktivieren der Filterung.</string>
<string name="msg_log_disabled">Der Datenverkehr wird nicht protokolliert. Zum Aktivieren den Schalter oben verwenden. Das Protokollieren kann den Akkuverbrauch erhöhen.</string>
<string name="msg_clear_rules">Dadurch werden die Regeln und Bedingungen auf ihre Standardwerte zurückgesetzt</string>
<string name="msg_reset_access">Dadurch werden die Zugriffsversuche im Protokoll ohne Erlaubt-/Blockier-Regeln gelöscht</string>
<string name="msg_import_last">Letzter Import: %s</string>
@ -195,23 +197,23 @@
<string name="msg_downloaded">Hosts-Datei heruntergeladen</string>
<string name="msg_download_last">Letztes Herunterladen: %s</string>
<string name="msg_start_forward">Weiterleitung von %2$d Port %1$s nach %3$s:%4$d von \'%5$s\' starten?</string>
<string name="msg_stop_forward">Weiterleitung von %1$s Port %2$d stoppen?</string>
<string name="msg_stop_forward">Weiterleitung von %1$s Port %2$d anhalten?</string>
<string name="msg_metered">Volumenbeschränktes Netzwerk</string>
<string name="msg_inactive">Keine aktive Internetverbindung</string>
<string name="msg_queue">NetGuard ist beschäftigt</string>
<string name="msg_update">Neue Version verfügbar, zum Herunterladen tippen</string>
<string name="msg_usage">Sie können den Wi-Fi- oder mobilen Internet-Zugang zulassen (grünlich) oder verweigern (rötlich), indem Sie auf die Symbole neben einer Anwendung tippen</string>
<string name="msg_fairemail">Falls Sie NetGuard installiert haben, um Ihre Privatsphäre zu schützen, könnten Sie auch an <a href="https://email.faircode.eu/">FairEmail</a>, einer Open-Source- und privatsphärenfreundlichen E-Mail-App, interessiert sein</string>
<string name="msg_whitelist">Internet-Zugang ist standardmäßig erlaubt. Das kann in den Einstellungen geändert werden</string>
<string name="msg_usage">Sie können den WLAN- oder mobilen Internetzugang erlauben (grünlich) oder blockieren (rötlich), indem Sie auf die Symbole neben einer App tippen</string>
<string name="msg_fairemail">Falls Sie NetGuard installiert haben, um Ihre Privatsphäre zu schützen, könnten Sie auch an <a href="https://email.faircode.eu/">FairEmail</a>, einer quelloffenen und datenschutzfreundlichen E-Mail-App, interessiert sein</string>
<string name="msg_whitelist">Internetzugang ist standardmäßig erlaubt. Das kann in den Einstellungen geändert werden</string>
<string name="msg_push">Push-Nachrichten werden normalerweise durch die Systemkomponente Play-Dienste gesteuert, dieser ist standardmäßig der Internetzugang erlaubt</string>
<string name="msg_system">Verwalten von Systemanwendungen kann in den erweiterten Optionen aktiviert werden</string>
<string name="msg_system">Verwalten von System-Apps kann in den erweiterten Optionen aktiviert werden</string>
<string name="msg_issue">Bitte beschreiben Sie Ihr Problem und geben Sie den Zeitpunkt an:</string>
<string name="msg_vpn_cancelled">VPN-Verbindung abgebrochen\nHaben Sie eine anderes VPN für die Funktion \'VPN immer eingeschaltet\' konfiguriert?</string>
<string name="msg_vpn_cancelled">VPN-Verbindung abgebrochen\nHaben Sie ein anderes VPN für die Funktion »Durchgehend aktives VPN« konfiguriert?</string>
<string name="msg_on">Wenn NetGuard beim Ausschalten aktiv war, dann startet NetGuard beim Einschalten automatisch wieder.</string>
<string name="msg_unavailable">Diese Funktion ist in dieser Android-Version nicht verfügbar</string>
<string name="msg_always_on">Ein anderes VPN ist als \'VPN immer eingeschaltet\' festgelegt</string>
<string name="msg_always_on_lockdown">Um NetGuard im Filtermodus benutzen zu können, deaktivieren Sie in den Android-VPN-Einstellungen \"Verbindungen ohne VPN blockieren\"</string>
<string name="msg_private_dns">\"Private DNS\" unter Android-Netzwerkeinstellungen deaktivieren, um NetGuard im Filtermodus zu verwenden</string>
<string name="msg_always_on">Ein anderes VPN ist als »Durchgehend aktives VPN« festgelegt</string>
<string name="msg_always_on_lockdown">Um NetGuard im Filtermodus verwenden zu können, deaktivieren Sie in den Android-VPN-Einstellungen »Verbindungen ohne VPN blockieren«</string>
<string name="msg_private_dns">»Privates DNS« in den Android-Netzwerkeinstellungen deaktivieren, um NetGuard im Filtermodus zu verwenden</string>
<string name="title_lockdown_enabled">Datenverkehr ist eingeschränkt</string>
<string name="title_unmetered_allowed">Netzwerkverkehr ohne Volumenbeschränkung ist erlaubt</string>
<string name="title_unmetered_blocked">Nicht volumenbeschränkter Verkehr ist blockiert</string>
@ -221,7 +223,7 @@
<string name="title_metered_disabled">Beschränkte Regeln wurden nicht angewendet</string>
<string name="title_host_allowed">Adresse ist erlaubt</string>
<string name="title_host_blocked">Adresse ist blockiert</string>
<string name="title_interactive_allowed">Erlauben, wenn Bildschirm an</string>
<string name="title_interactive_allowed">Erlauben, wenn Bildschirm eingeschaltet ist</string>
<string name="title_roaming_blocked">Bei Roaming blockieren</string>
<string name="title_metered">Standardmäßig wird eine WLAN-Verbindung als nicht volumenbeschränkt und eine mobile Verbindung als volumenbeschränkt betrachtet.</string>
<string name="title_internet">hat keine Internet-Berechtigung</string>
@ -231,27 +233,27 @@
<string name="title_apply">Regeln und Bedingungen anwenden</string>
<string name="title_conditions">Bedingungen</string>
<string name="title_screen_wifi">WLAN erlauben, wenn Bildschirm eingeschaltet ist</string>
<string name="title_screen_other">Mobilfunk erlauben, wenn Bildschirm eingeschaltet ist</string>
<string name="title_screen_other">Mobile Daten erlauben, wenn Bildschirm eingeschaltet ist</string>
<string name="title_roaming_symbol">R</string>
<string name="title_roaming">Bei Roaming blockieren</string>
<string name="title_lockdown">Im Zugriffsbeschränkungsmodus erlauben</string>
<string name="title_lockdown">Im zugriffsbeschränkten Modus erlauben</string>
<string name="title_related">Filterabhängig</string>
<string name="title_access">Zugriffsversuche</string>
<string name="title_precedence">Zugriffsregeln haben vor anderen Regeln Vorrang</string>
<string name="title_options">Optionen</string>
<string name="title_notify">Bei Internetzugriffsversuchen benachrichtigen</string>
<string name="title_logging_disabled">Protokollierung oder Filterung ist nicht aktiviert</string>
<string name="title_logging_enabled">Protokollierung und Filterung sind aktiviert</string>
<string name="title_logging_disabled">Protokollieren oder Filtern ist nicht aktiviert</string>
<string name="title_logging_enabled">Protokollieren und Filtern ist aktiviert</string>
<string name="title_logging_configure">Konfigurieren</string>
<string name="title_enable_logging">Nur die Protokollierung für blockierte Adressen aktivieren</string>
<string name="title_enable_filtering">Auch die Filterung für die Protokollierung erlaubter Adressen aktivieren</string>
<string name="title_enable_notify">Zugriffsbenachrichtigungen für kürzlich protokollierte Adressen aktivieren</string>
<string name="title_enable_logging">Das Protokollieren nur für blockierte Adressen aktivieren</string>
<string name="title_enable_filtering">Filtern aktivieren, um auch erlaubte Adressen zu protokollieren</string>
<string name="title_enable_notify">Zugriffsbenachrichtigungen für neu protokollierte Adressen aktivieren</string>
<string name="title_enable_help0">Diese Einstellungen sind globale Einstellungen, die für alle Apps gelten.</string>
<string name="title_enable_help1">Die Filterung ist auch für das Zulassen oder Blockieren einzelner Adressen erforderlich.</string>
<string name="title_enable_help2">Die Protokollierung (weniger) oder Filterung (mehr) kann den Batterieverbrauch erhöhen und die Netzwerkgeschwindigkeit beeinflussen.</string>
<string name="title_enable_help1">Das ist auch für das Zulassen oder Blockieren einzelner Adressen erforderlich</string>
<string name="title_enable_help2">Das Protokollieren (weniger) oder Filtern (mehr) kann den Akkuverbrauch erhöhen und die Netzwerkgeschwindigkeit beeinflussen</string>
<string name="title_rate">Bewerten</string>
<string name="title_allow">Erlauben</string>
<string name="title_block">Sperren</string>
<string name="title_block">Blockieren</string>
<string name="title_allow_wifi">WLAN erlauben</string>
<string name="title_block_wifi">WLAN blockieren</string>
<string name="title_allow_other">Mobile Daten erlauben</string>
@ -269,7 +271,7 @@
<string name="title_pro_filter">Netzwerkverkehr filtern</string>
<string name="title_pro_notify">Benachrichtigung über neue App</string>
<string name="title_pro_speed">Benachrichtigung mit Netzwerkgeschwindigkeitsgrafik</string>
<string name="title_pro_theme">Aussehen (Design, Farben)</string>
<string name="title_pro_theme">Erscheinungsbild (Design, Farben)</string>
<string name="title_pro_all">Alle oben stehenden Pro-Funktionen</string>
<string name="title_pro_dev">Entwicklung unterstützen</string>
<string name="title_pro_buy">Kaufen</string>

View File

@ -8,10 +8,12 @@
<string name="app_agree">I agree</string>
<string name="app_disagree">I disagree</string>
<string name="app_support">NetGuard needs your help. Tap to purchase pro features to keep the project going.</string>
<string name="app_qap">.</string>
<string name="channel_foreground">Running services</string>
<string name="channel_notify">General notifications</string>
<string name="channel_access">Access notifications</string>
<string name="menu_search">Search for app</string>
<string name="menu_filter">Menu_filtro</string>
<string name="menu_app_system">Show system apps</string>
<string name="menu_app_nointernet">Show apps without internet</string>
<string name="menu_app_disabled">Show disabled apps</string>

View File

@ -52,7 +52,7 @@
<string name="title_external">עבור שרת חיצוני בחר \'ללא\'</string>
<string name="setting_defaults">ברירות מחדל</string>
<string name="setting_whitelist_wifi">חסום Wi-Fi</string>
<string name="setting_whitelist_other">חסום נייד</string>
<string name="setting_whitelist_other">חסימת תקשורת סלולרית</string>
<string name="setting_screen_wifi">אפשר גישה לרשתות Wi-Fi כאשר המסך פועל</string>
<string name="setting_screen_other">אפשר גישה לרשתות סלולריות כאשר המסך פועל</string>
<string name="setting_whitelist_roaming">חסום נדידה</string>

View File

@ -4,7 +4,7 @@
<string name="app_disagree">ମୁଁ ସହମତ ନୁହେଁ</string>
<string name="menu_settings">ସେଟିଂସମୂହ</string>
<string name="menu_support">ସମର୍ଥନ</string>
<string name="menu_about">ବିଷୟରେ</string>
<string name="menu_about">ସମ୍ବନ୍ଧରେ</string>
<string name="menu_protocol_other">ଅନ୍ୟ</string>
<string name="title_protocol">ପ୍ରୋଟୋକଲ୍</string>
<string name="setting_theme">ଥିମ୍‌: %1$s</string>

View File

@ -325,6 +325,7 @@ Your internet traffic is not being sent to a remote VPN server.</string>
A monthly subscriptions of 1 or 2 euros (excluding local taxes) will activate all pro features.
You can cancel or manage a subscription via the subscriptions tab in the Play store app.
</string>
<string name="title_pro_already">The pro features are already activated</string>
<string-array name="themeNames">
<item>teal/orange</item>

View File

@ -46,6 +46,13 @@
package="com.google.android.apps.gcs"
roaming="false" />
<wifi
blocked="false"
package="com.samsung.android.fmm" />
<other
blocked="false"
package="com.samsung.android.fmm" />
<relation
package="com.android.vending"
related="com.google.android.gms,com.android.providers.downloads" />