Compare commits

...

46 Commits

Author SHA1 Message Date
M66B 51ad97a368 Updated copyright 2024-06-20 13:01:13 +02:00
M66B 6cb4d591cc 2.329 release 2024-06-20 08:44:15 +02:00
M66B 92021e05ab Fixed translations 2024-06-20 08:43:25 +02:00
M66B 52cd02736e Crowdin sync 2024-06-20 08:40:16 +02:00
M66B 399651e9a6 Added content descriptions 2024-06-18 12:28:01 +02:00
M66B 9030325487 Fixed default roaming option 2024-06-08 17:00:40 +02:00
M66B 836c95e49d Merge branch 'master' of github.com:M66B/NetGuard 2024-06-04 12:34:02 +02:00
M66B 8fa72e48ee Reload on network changed 2024-06-04 12:33:45 +02:00
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
76 changed files with 271 additions and 178 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.329"
minSdkVersion 22
targetSdkVersion 34
versionCode = 2023100301
versionCode = 2024062001
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

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.content.Intent;

View File

@ -17,7 +17,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.app.Activity;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.content.DialogInterface;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.content.ClipData;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.Manifest;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.app.PendingIntent;
@ -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

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.Manifest;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.content.Context;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.content.Context;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.content.Context;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.content.Context;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.annotation.TargetApi;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
public class Allowed {

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.annotation.TargetApi;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.content.ContentValues;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.app.Activity;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.content.Context;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
public class Forward {

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.os.Bundle;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.app.PendingIntent;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.util.Log;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
public class Packet {

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2023 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.app.PendingIntent;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.content.BroadcastReceiver;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.content.BroadcastReceiver;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import java.text.DateFormat;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.content.Context;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.app.IntentService;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.annotation.TargetApi;
@ -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();
@ -2599,8 +2619,9 @@ public class ServiceSinkhole extends VpnService implements SharedPreferences.OnS
builder.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
ConnectivityManager.NetworkCallback nc = new ConnectivityManager.NetworkCallback() {
private Network last_network = null;
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 +2629,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 +2656,37 @@ 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 && !Objects.equals(network, last_network))
reason = "Network changed";
if (last_generation != null && !last_generation.equals(generation)) {
if (reason == null && last_connected != null && !last_connected.equals(connected))
reason = "Connected state changed";
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_network = network;
last_connected = connected;
last_unmetered = unmetered;
last_metered = metered;
last_generation = generation;
}
@ -3220,6 +3251,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 +3263,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 +3322,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

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.content.Context;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import java.text.DateFormat;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.Manifest;
@ -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

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
public class Version implements Comparable<Version> {

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.app.AlarmManager;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.app.PendingIntent;

View File

@ -16,7 +16,7 @@ package eu.faircode.netguard;
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
import android.app.PendingIntent;

View File

@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
#include "netguard.h"

View File

@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
#include "netguard.h"

View File

@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
#include "netguard.h"

View File

@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
#include "netguard.h"

View File

@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
#include "netguard.h"
@ -1113,4 +1113,4 @@ Java_eu_faircode_netguard_Util_dump_1memory_1profile(JNIEnv *env, jclass type) {
log_android(ANDROID_LOG_ERROR, "pthread_mutex_unlock failed");
#endif
}
}

View File

@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
#include "netguard.h"

View File

@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
#include "netguard.h"
@ -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

@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
#include "netguard.h"

View File

@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
#include "netguard.h"

View File

@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
#include "netguard.h"

View File

@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with NetGuard. If not, see <http://www.gnu.org/licenses/>.
Copyright 2015-2019 by Marcel Bokhorst (M66B)
Copyright 2015-2024 by Marcel Bokhorst (M66B)
*/
#include "netguard.h"

View File

@ -88,7 +88,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:button="@drawable/wifi" />
android:button="@drawable/wifi"
android:contentDescription="@string/title_block_wifi" />
</RelativeLayout>
<LinearLayout
@ -128,7 +129,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:button="@drawable/other" />
android:button="@drawable/other"
android:contentDescription="@string/title_block_other" />
</RelativeLayout>
<LinearLayout

View File

@ -8,6 +8,7 @@
<string name="app_agree">أنا أوافق</string>
<string name="app_disagree">لا أوافق</string>
<string name="app_support">NetGuard يحتاج لدعمكم. اضغط لشراء الخصائص المتقدمة ودعم استمرارية المشروع.</string>
<string name="app_qap">.</string>
<string name="channel_foreground">الخدمات قيد التشغيل</string>
<string name="channel_notify">الإشعارات العامة</string>
<string name="channel_access">إشعارات النفاذ</string>
@ -156,6 +157,7 @@
<string name="msg_hosts">%1$d مسموحة ، %2$d محظورة ، %3$d مضيفين</string>
<string name="msg_waiting">في انتظار حدث</string>
<string name="msg_disabled">التطبيق غير مُفعّل، قم بتنشيط نات غارد بالضغط على الزر في الأعلى</string>
<string name="msg_notifications">انقر لمنح أذونات الإشعارات (لإشعارات محاولة الوصول، رسائل الخطأ، إلخ)</string>
<string name="msg_revoked">تم تعطيل NetGuard، يُحتمل أنّ السبب راجع إلى استخدام تطبيق VPN آخر في آن واحد</string>
<string name="msg_installed">\'%1$s\' مثبت</string>
<string name="msg_installed_n">تم تثبيته</string>

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="channel_access">Internetzugriffsversuche</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

@ -1,18 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_description">NetGuard provides simple and advanced ways to block access to the internet - no root required. Apps and addresses can individually be allowed or denied access to your Wi-Fi and/or mobile connection.</string>
<string name="app_android">NetGuard requires Android 5.1 or later</string>
<string name="app_xposed">Xposed causes too many crashes, which might result in NetGuard being removed from the Google Play Store, therefore NetGuard isn\'t supported while Xposed is installed</string>
<string name="app_privacy"><a href="https://www.netguard.me/privacy/">Privacy policy</a></string>
<string name="app_first">Great care has been taken to develop and test NetGuard, however it is impossible to guarantee NetGuard will work correctly on every device.</string>
<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="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_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>
</resources>
<resources></resources>

View File

@ -8,6 +8,13 @@
<string name="app_agree">می‌پذیرم</string>
<string name="app_disagree">نمی‌پذیرم</string>
<string name="app_support">NetGuard به کمک شما نیاز دارد. برای خرید ویژگی‌های حرفه‌ای به‌خاطر یاری پروژه ضربه بزنید.</string>
<string name="app_qap">گوگل این برنامه را از فروشگاه Play حذف می‌کند، زیرا می‌خواهد مجوز جستجوی همه برنامه‌ها را داشته باشد.
پنج ایراد که توجیه خوبی برای لزوم این مجوز ارائه می کرد، رد شد.
با این حال، این نسخه از برنامه دیگر به این مجوز نیاز ندارد
به جز برخی از برنامه های (سیستم) که نمی توانند به صورت دستی از لیست برنامه های Android راه اندازی شوند
تقریباً همه برنامه‌ها لیست خواهند شد.
ترافیک اینترنت از این برنامه‌ها همیشه مجاز خواهد بود تا دستگاه شما به درستی کار کند.
اگر فکر می کنید این مشکل است، می توانید برنامه را به نسخه GitHub به روز کنید و دوباره همه برنامه های (سیستم) را اجرا کنید. </string>
<string name="channel_foreground">خدمات درحال اجرا</string>
<string name="channel_notify">اعلان‌های عمومی</string>
<string name="channel_access">اعلان‌های دسترسی</string>
@ -85,6 +92,7 @@
<string name="setting_access">آگاه سازی هنگام دسترسی به اینترنت</string>
<string name="setting_filter">فیلتر کردن ترافیک</string>
<string name="setting_filter_udp">فیلتر ترافیک UDP</string>
<string name="setting_handover">تحویل یکپارچه VPN در بارگذاری مجدد</string>
<string name="setting_clear_onreload">بستن اتصال‌ها هنگام بارگذاری مجدد</string>
<string name="setting_lockdown">قفل کردن ترافیک</string>
<string name="setting_track_usage">مصرف شبکه را ردیابی کن</string>

View File

@ -209,7 +209,7 @@ Votre trafic Internet n\'est pas envoyé vers un serveur VPN distant.</string>
<string name="msg_system">La gestion des applications système peut être activée dans les options avancées</string>
<string name="msg_issue">Veuillez décrire le problème et indiquer l\'heure à laquelle il est survenu :</string>
<string name="msg_vpn_cancelled">La connexion VPN a été arrêtée\nAvez-vous configuré un autre VPN destiné à être un VPN toujours actif ?</string>
<string name="msg_on">Si vous éteignez votre appareil avec NetGuard activé, celui ci démarrera automatiquement lorsque vous rallumerez votre appareil</string>
<string name="msg_on">Si NetGuard est activé lorsque vous éteignez votre appareil, il redémarrera automatiquement lorsque vous rallumerez l\'appareil</string>
<string name="msg_unavailable">Cette fonctionnalité nest pas disponible sur cette version dAndroid</string>
<string name="msg_always_on">Un autre VPN est défini comme VPN permanent</string>
<string name="msg_always_on_lockdown">Désactiver \"Bloquer les connexions sans VPN\" dans les paramètres VPN d\'Android pour utiliser le filtrage de NetGuard</string>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_description">NetGuard provides simple and advanced ways to block access to the internet - no root required. Apps and addresses can individually be allowed or denied access to your Wi-Fi and/or mobile connection.</string>
<string name="app_android">NetGuard requires Android 5.1 or later</string>
<string name="app_xposed">Xposed causes too many crashes, which might result in NetGuard being removed from the Google Play Store, therefore NetGuard isn\'t supported while Xposed is installed</string>
<string name="app_privacy"><a href="https://www.netguard.me/privacy/">Privacy policy</a></string>
<string name="app_description">NetGuard इंटरनेट तक पहुंच को अवरुद्ध करने के लिए सरल और उन्नत तरीके प्रदान करता है - कोई रूट आवश्यक नहीं है। ऐप्स और पते व्यक्तिगत रूप से आपके वाई-फाई और/या मोबाइल कनेक्शन तक पहुंच की अनुमति या अस्वीकार किए जा सकते हैं।</string>
<string name="app_android">NetGuard को Android 5.1 या बाद के संस्करण की आवश्यकता है</string>
<string name="app_xposed">Xposed बहुत से दुर्घटनाओं का कारण बनता है, जिसके परिणामस्वरूप Google Play Store से NetGuard को हटाया जा सकता है, इसलिए NetGuard समर्थित नहीं है, जब तक Xposed स्थापित है</string>
<string name="app_privacy"><a href="https://www.netguard.me/privacy/">गोपनीयता नीति</a></string>
<string name="app_first">नेटगार्ड को विकसित करने और परीक्षण करने के लिए बहुत सावधानी बरती गई है, हालांकि यह गारंटी देना असंभव है कि नेटगार्ड हर डिवाइस पर सही ढंग से काम करेगा।</string>
<string name="app_agree">मैं सहमत हूँ</string>
<string name="app_disagree">मैं असहमत हूं</string>

View File

@ -8,6 +8,13 @@
<string name="app_agree">Slažem se</string>
<string name="app_disagree">Ne slažem se</string>
<string name="app_support">NetGuard treba Vašu pomoć. Dodirnite za kupnju pro-značajki za pomoć projektu.</string>
<string name="app_qap"> Google je planirao ukloniti aplikaciju iz Trgovine Play jer je tražila dopuštenje da čita aktivnost svih aplikacija.
Pet žalbi uz dobro opravdanje o razlogu traženja takvog dopuštenja odbijeno je.
Ova verzija aplikacije više ne traži to dopuštenje,
a unatoč tomu, skoro će se sve aplikacije prikazivati
uz iznimku nekih (sustavnih) aplikacija koje se ne mogu ručno pokrenuti s popisa aplikacija sustava Android.
Internetski promet tih aplikacija uvijek će biti dopušten kako bi vaš uređaj ispravno funkcionirao.
Ako vam ovo smeta, možete ažurirati aplikaciju na verziju s GitHuba kako biste ponovno upravljali svim (sustavnim) aplikacijama. </string>
<string name="channel_foreground">Pokrenuti servisi</string>
<string name="channel_notify">Opće obavijesti</string>
<string name="channel_access">Pristup obavijestima</string>
@ -156,6 +163,7 @@
<string name="msg_hosts">%1$d dopušteno, %2$d blokirano, %3$d hostovi</string>
<string name="msg_waiting">Čekanje na događaj</string>
<string name="msg_disabled">NetGuard je onemogućen, koristitite gornji prekidač kako bi omogućili NetGuard</string>
<string name="msg_notifications">Pritisni za davanje dopuštenja za obavijesti (o pokušajima pristupa, pogreškama itd.)</string>
<string name="msg_revoked">NetGuard je onemogućen, vjerojatno koristeći drugu VPN aplikaciju</string>
<string name="msg_installed">\'%1$s\' je instalirano</string>
<string name="msg_installed_n">Je instalirano</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

@ -198,7 +198,7 @@
<string name="msg_metered">ネットワークは従量制です</string>
<string name="msg_inactive">アクティブなインターネット接続がありません</string>
<string name="msg_queue">NetGuard はビジーです</string>
<string name="msg_update">アップデートが利用できます。タップするとダウンロードします</string>
<string name="msg_update">更新できます。タップするとダウンロードします</string>
<string name="msg_usage">アプリの横にあるアイコンをタップして、Wi-Fi またはモバイルインターネットアクセスを、許可 (緑) または拒否 (赤) することができます</string>
<string name="msg_fairemail">プライバシーを保護するために NetGuard をインストールした場合、オープンソースのプライバシーフレンドリーなメールアプリ <a href="https://email.faircode.eu/">FairEmail</a> にもご興味ありませんか</string>
<string name="msg_whitelist">デフォルトで、インターネットアクセスが許可されます。これは設定で変更することができます</string>

View File

@ -69,7 +69,7 @@
<string name="setting_lan">LAN-toegang toestaan</string>
<string name="setting_ip6">Schakel IPv6-verkeer in</string>
<string name="setting_wifi_home">Wifi-thuisnetwerken: %1$s</string>
<string name="setting_metered">Beheer gemeten wifi-netwerken: %1$s</string>
<string name="setting_metered">Beheer gemeten wifi-netwerken</string>
<string name="setting_metered_2g">Beschouw 2G als ongemeten</string>
<string name="setting_metered_3g">Beschouw 3G als ongemeten</string>
<string name="setting_metered_4g">Beschouw 4G als ongemeten</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

@ -8,6 +8,7 @@
<string name="app_agree">Zgadzam się</string>
<string name="app_disagree">Nie zgadzam się</string>
<string name="app_support">NetGuard potrzebuje Twojej pomocy. Kliknij, aby zakupić funkcje pro i wspomóc dalszy rozwój projektu.</string>
<string name="app_qap"></string>
<string name="channel_foreground">Uruchomione usługi</string>
<string name="channel_notify">Ogólne powiadomienia</string>
<string name="channel_access">Powiadomienia dostępu</string>
@ -151,7 +152,7 @@
<string name="summary_watchdog">Sprawdź okresowo, czy NetGuard nadal działa (wpisz zero, aby wyłączyć tę opcję). Może to spowodować większe zużycie baterii.</string>
<string name="summary_stats">Pokazuj wykres prędkości sieci w powiadomieniach aplikacji</string>
<string name="msg_sure">Czy jesteś pewien?</string>
<string name="msg_started">Wymuś Reguły</string>
<string name="msg_started">Zastosowane Reguły</string>
<string name="msg_packages">%1$d dozwolone, %2$d zablokowane</string>
<string name="msg_hosts">%1$d zezwolono, %2$d zablokowano, %3$d hosts</string>
<string name="msg_waiting">Czekam na zdarzenie</string>

View File

@ -8,6 +8,13 @@
<string name="app_agree">Concordo</string>
<string name="app_disagree">Discordo</string>
<string name="app_support">NetGuard necessita da sua ajuda. Toque para comprar funcionalidades pro para manter o projeto em andamento.</string>
<string name="app_qap">O Google iria remover o aplicativo da Play Store porque solicitou permissão para consultar todos os aplicativos.
Cinco recursos e uma boa justificativa sobre a necessidade dessa permissão foram rejeitados.
Esta versão do aplicativo não solicita mais essa permissão,
e apesar disso, quase todos os aplicativos ainda estarão listados,
exceto alguns aplicativos (do sistema) que não podem ser iniciados manualmente na lista de aplicativos Android.
O tráfego de internet desses aplicativos sempre será permitido para garantir que seu dispositivo continue funcionando corretamente.
Se você acha que isso é um problema, você pode atualizar para a versão GitHub do aplicativo e gerir todos os aplicativos (do sistema) novamente. </string>
<string name="channel_foreground">Serviços em execução</string>
<string name="channel_notify">Notificações gerais</string>
<string name="channel_access">Aceder às notificações</string>
@ -156,6 +163,7 @@
<string name="msg_hosts">%1$d permitidos, %2$d bloqueados, %3$d anfitriões</string>
<string name="msg_waiting">A aguardar o evento</string>
<string name="msg_disabled">NetGuard desativado, use o interruptor acima para o ativar</string>
<string name="msg_notifications">Toque para conceder permissões de notificação (para notificações de tentativas de acesso, mensagens de erro, etc.)</string>
<string name="msg_revoked">NetGuard foi desativado, provavelmente está a ser utilizada outra aplicação que usa uma VPN</string>
<string name="msg_installed">\'%1$s\' instalado</string>
<string name="msg_installed_n">Foi instalada</string>

View File

@ -81,7 +81,7 @@
<string name="setting_metered_2g">Consideră 2G necontorizat</string>
<string name="setting_metered_3g">Consideră 3G necontorizat</string>
<string name="setting_metered_4g">Consideră 4G/LTE necontorizat</string>
<string name="setting_national_roaming">Ignoră roamingul național</string>
<string name="setting_national_roaming">Ignoră roaming național</string>
<string name="setting_eu_roaming">Ignoră roaming în UE</string>
<string name="setting_call">Dezactivare în timpul apelului</string>
<string name="setting_lockdown_wifi">Închide Wi-Fi</string>
@ -132,7 +132,7 @@
<string name="setting_technical_networks">Reţele</string>
<string name="setting_technical_subscription">Abonamente</string>
<string name="summary_install">Arată o notificare în bara de stare pentru a configura aplicațiile noi instalate (versiune pro)</string>
<string name="summary_auto">După dezactivare din widget, activează automat NetGuard după numărul selectat de minute (valoarea zero dezactivează opțiunea)</string>
<string name="summary_auto">După dezactivarea din widget, activează automat NetGuard după numărul selectat de minute (valoarea zero dezactivează opțiunea)</string>
<string name="summary_delay">După oprirea ecranului, păstrează regulile ecran pornit pentru numărul selectat de minute (valoarea zero dezactivează opțiunea)</string>
<string name="summary_update">De două ori pe zi se va verifica dacă a fost publicată pe GitHub o nouă versiune</string>
<string name="summary_tethering">În funcție de versiunea de Android, partajarea conexiunii (tethering/hotspot) ar putea funcționa sau nu. Traficul partajat nu poate fi filtrat.</string>

View File

@ -8,6 +8,14 @@
<string name="app_agree">Я согласен</string>
<string name="app_disagree">Я не согласен</string>
<string name="app_support">NetGuard нуждается в вашей помощи. Нажмите, чтобы приобрести функции PRO для помощи проекту.</string>
<string name="app_qap">Google собирался удалить приложение из Play Store, поскольку оно запросило разрешение на список всех приложений.
Пять апелляций и убедительное обоснование того, почему необходимо это разрешение, были отклонены.
Эта версия приложения больше не запрашивает это разрешение,
и несмотря на это, почти все приложения все равно будут в списке,
за исключением некоторых (системных) приложений, которые невозможно запустить вручную из списка приложений Android.
Интернет-трафик этих приложений всегда будет разрешен, чтобы обеспечить правильную работу вашего устройства.
Если вы считаете, что это проблема, вы можете обновить версию приложения на GitHub и снова управлять всеми (системными) приложениями.
</string>
<string name="channel_foreground">Запущенные службы</string>
<string name="channel_notify">Общие уведомления</string>
<string name="channel_access">Доступ к уведомлениям</string>
@ -156,6 +164,7 @@
<string name="msg_hosts">%1$d разрешен, %2$d заблокирован, %3$d хостов</string>
<string name="msg_waiting">Ожидание события</string>
<string name="msg_disabled">NetGuard отключен, используйте переключатель выше для его включения</string>
<string name="msg_notifications">Нажмите, чтобы предоставить доступ к уведомлениям (для уведомлений о попытках доступа, сообщений об ошибках и т. д.)</string>
<string name="msg_revoked">NetGuard был отключен, скорее всего, из-за применения другого VPN-подключения</string>
<string name="msg_installed">\'%1$s\' установлено</string>
<string name="msg_installed_n">Было установлено</string>

View File

@ -8,6 +8,10 @@
<string name="app_agree">நான் ஏற்கிறேன்</string>
<string name="app_disagree">நான் மறுக்கிறேன்</string>
<string name="app_support">நெட்கார்டுக்கு உங்கள் உதவி தேவை. திட்டத்தை தொடர சார்பு அம்சங்களை வாங்க தட்டவும்.</string>
<string name="app_qap">இந்தப் பயன்பாடு, இதர அனைத்து பயன்பாடுகளையும் கோற அனுமதி கேட்பதால், கூகுள்(Google) இதனைப் பிளே ஸ்டோரிலிருந்து(Play Store) நீக்க முடிவெடுத்திருந்தது.
இந்த அனுமதி ஏன் தேவைப்படுகிறது என்று ஐந்துமுறை விளக்கமளித்தும் ஏற்றுக்கொள்ளப்படவில்லை.
எனவே இந்தப் பதிப்பு அந்த அனுமதியைக் கோறாது, அதனால் சில சிஸ்டம்(System) பயன்பாடுகளின் இணய உபயோகம் எப்பொழுதும் அனுமதிக்கப்பட்டிருக்கும்.
இதனை ஒரு பிழையாக கருதினால், ஜிட்ஹப்(GitHub)-லுள்ள பதிப்பிற்க்கு மாறி அனைத்து சிஸ்டம் பயன்பாட்டு இணைய இணைப்புகளையும் கட்டுப்படுத்தலாம். </string>
<string name="channel_foreground">இயங்கும் சேவைகள்</string>
<string name="channel_notify">பொது அறிவிப்புகள்</string>
<string name="channel_access">அறிவிப்புகளை அணுகவும்</string>
@ -33,7 +37,7 @@
<string name="menu_traffic_blocked">தடுக்கப்பட்டவை</string>
<string name="menu_live">நேரடி புதுப்பித்தல்கள்</string>
<string name="menu_refresh">புதுப்பி</string>
<string name="menu_resolve">பெயர்களை காண்பி</string>
<string name="menu_resolve">பெயர்களைக் காண்பி</string>
<string name="menu_organization">நிறுவனத்தை காண்பி</string>
<string name="menu_pcap_enabled">PCAP செயலாக்கம்</string>
<string name="menu_pcap_export">PCAP ஏற்றுமதி</string>
@ -48,16 +52,16 @@
<string name="title_raddr">இலக்கு முகவரி</string>
<string name="title_rport">இலக்கு முணையம்</string>
<string name="title_ruid">இலக்குச் செயலி</string>
<string name="title_external">ஒரு வெளிப்புற சேவையகத்திற்காக தேர்ந்தெடுத்து \'யாரும்\'</string>
<string name="setting_defaults">இயல்புநிலைகள்</string>
<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_screen_wifi">Wi-Fi அனுமதிக்கும் போது திரை மீது</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>
<string name="setting_options">விருப்பங்கள்</string>
<string name="setting_theme">கருப்பொருள்: %1$s</string>
<string name="setting_dark">கருத்த கருப்பொருளை உபயோகி</string>
<string name="setting_dark">கருமையான தோற்றத்தை பயன்படுத்து</string>
<string name="setting_install">புதிய நிறுவல்களை தெரிவி</string>
<string name="setting_screen_on">\'ஸ்கிரீன் ஆன்\' விதிகளைப் பயன்படுத்துங்கள்</string>
<string name="setting_auto">%1$s நிமிடங்களுக்கு பிறகு தானாக இயக்கு</string>
@ -75,7 +79,7 @@
<string name="setting_metered_4g">LTE unmetered சிந்திக்கவும்</string>
<string name="setting_national_roaming">தேசிய சுற்றும் புறக்கணி</string>
<string name="setting_eu_roaming">ஐரோப்பிய ஒன்றிய ரோமிங்கை புறக்கணிக்கவும்</string>
<string name="setting_call">அழைப்பில் முடக்கு</string>
<string name="setting_call">அழைப்பு வரும்பொழுது முடக்கு</string>
<string name="setting_lockdown_wifi">வைஃபையை பூட்டு</string>
<string name="setting_lockdown_other">மொபைலை பூட்டு</string>
<string name="setting_reload_onconnectivity">ஒவ்வொரு இணைப்பு மாற்றத்திலும் மீண்டும் ஏற்றவும்</string>
@ -156,6 +160,7 @@
<string name="msg_hosts">%1$d அனுமதிக்கப்பட்டவை, %2$d தடுக்கப்பட்டவை, %3$d மந்தமான</string>
<string name="msg_waiting">நிகழ்வுக்காக காத்திருக்கிறது</string>
<string name="msg_disabled">NetGuard முடக்கப்பட்டது, NetGuard செயல்படுத்த மேலுள்ள பொத்தான் பயன்படுத்தவும்</string>
<string name="msg_notifications">அறிவிப்பு அனுமதிக்கு தட்டவும் (இணைப்பு முயற்ச்சி அறிவிப்புகள், பிழை தகவல்கள், மேலும்)</string>
<string name="msg_revoked">NetGuard முடக்கப்பட்டுள்ளது, தெரிகிறது நாளுக்கு பயன்படுத்தி வேறு VPN அடிப்படையிலான பயன்பாடு</string>
<string name="msg_installed">\'%1$s\' நிறுவப்பட்டவை</string>
<string name="msg_installed_n">நிறுவப்பட்டது</string>
@ -216,7 +221,7 @@
<string name="title_roaming_blocked">தொகுதி சுற்றும் போது</string>
<string name="title_metered">இயல்புநிலை ஒரு Wi-Fi இணைப்பு இருக்கும்படி கொள்ளப்படும் unmetered மற்றும் மொபைல் இணைப்பை metered இருக்க</string>
<string name="title_internet">இணைய அனுமதி இல்லை</string>
<string name="title_disabled">%s முடக்கப்பட்டது</string>
<string name="title_disabled">முடக்கப்பட்டது</string>
<string name="title_messaging">உள்வரும் செய்திகள் Google Play சேவைகளால் பெறப்படுகின்றன, இந்த பயன்பாட்டின் மூலம் அல்ல, எனவே இந்த பயன்பாட்டைத் தடுப்பதன் மூலம் தடுக்க முடியாது</string>
<string name="title_download">பதிவிறக்கங்கள் பதிவிறக்க மேலாளரால் செய்யப்படுகின்றன, இந்த பயன்பாட்டால் அல்ல, எனவே இந்த பயன்பாட்டைத் தடுப்பதன் மூலம் தடுக்க முடியாது</string>
<string name="title_apply">விதிகள் மற்றும் நிபந்தனைகள் பயன்படுத்து</string>

View File

@ -8,6 +8,13 @@
<string name="app_agree">同意</string>
<string name="app_disagree">拒绝</string>
<string name="app_support">NetGuard需要您帮助。请点击购买应用的专业版支持此项目的开发工作。</string>
<string name="app_qap"> 谷歌本打算从 Play 商店中移除本应用,因为本应用需要查询所有应用的权限。
尽管我已提出了五次申诉,并充分说明了需要此权限的理由,但均被驳回。
此版本不再请求此权限,
尽管如此,几乎所有应用仍会被列出,
除了一些无法从 Android 应用列表中手动启动的(系统)应用。
这些应用将始终允许使用互联网流量,以确保您的设备保持正常工作。
如果您认为这会造成困扰,您可以选择使用应用的 GitHub 版本从而再次管理所有(系统)应用。 </string>
<string name="channel_foreground">正在运行的服务</string>
<string name="channel_notify">常规通知</string>
<string name="channel_access">访问通知</string>
@ -19,7 +26,7 @@
<string name="menu_app_disabled">显示已停用的应用</string>
<string name="menu_sort">应用排序</string>
<string name="menu_sort_name">按名称排序</string>
<string name="menu_sort_uid">按UID排序</string>
<string name="menu_sort_uid"> UID 排序</string>
<string name="menu_sort_data">按数据使用量排序</string>
<string name="menu_log">显示日志</string>
<string name="menu_settings">设置</string>
@ -138,7 +145,7 @@
<string name="summary_metered_4g">将Wi-Fi网络规则应用于LTE数据连接</string>
<string name="summary_national_roaming">SIM卡与移动网络为相同国家时不使用漫游规则</string>
<string name="summary_eu_roaming">使用欧洲国家SIM卡与移动网络时不应用漫游规则如家漫游</string>
<string name="summary_call">通话时停用NetGuard。这可解决IP/Wi-Fi呼叫问题。</string>
<string name="summary_call">通话时停用 NetGuard这可用来解决 IP/Wi-Fi 通话问题</string>
<string name="summary_system">设订系统应用规则(仅供高级用户使用)</string>
<string name="summary_log_app">记录应用的网络访问尝试。装置可能会消耗更多电量。</string>
<string name="summary_access">当应用程序试图访问一个新的互联网地址时显示状态栏通知(过滤禁用时仅通知被阻止网络的访问尝试)</string>
@ -155,8 +162,9 @@
<string name="msg_packages">已允许%1$d个应用拦截%2$d个应用</string>
<string name="msg_hosts">已允许%1$d个应用拦截%2$d个应用%3$d个host</string>
<string name="msg_waiting">等待中</string>
<string name="msg_disabled">NetGuard已停用请使用上方的开关启用NetGuard</string>
<string name="msg_revoked">NetGuard已停用您可能启动了另一个VPN应用</string>
<string name="msg_disabled">NetGuard 已停用,请使用上方的开关启用 NetGuard</string>
<string name="msg_notifications">轻触以授予通知权限(用于访问尝试通知、错误消息等)</string>
<string name="msg_revoked">NetGuard 已被停用,可能是开启了另一个基于 VPN 的应用</string>
<string name="msg_installed">已安装“%1$s”</string>
<string name="msg_installed_n">已安装</string>
<string name="msg_access">%1$s曾尝试连接网络</string>

View File

@ -1,7 +1,7 @@
<resources>
<string name="app_name" translatable="false">NetGuard</string>
<string name="app_description">NetGuard provides simple and advanced ways to block access to the internet - no root required. Apps and addresses can individually be allowed or denied access to your Wi-Fi and/or mobile connection.</string>
<string name="app_copyright" translatable="false">Copyright \u00A9 20152023 by M. Bokhorst (M66B)</string>
<string name="app_copyright" translatable="false">Copyright \u00A9 20152024 by M. Bokhorst (M66B)</string>
<string name="app_android">NetGuard requires Android 5.1 or later</string>
<string name="app_xposed">Xposed causes too many crashes, which might result in NetGuard being removed from the Google Play Store, therefore NetGuard isn\'t supported while Xposed is installed</string>
<string name="app_eula" translatable="false">THIS SOFTWARE IS PROVIDED BY THE AUTHOR \'\'AS IS\'\' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</string>
@ -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

@ -29,7 +29,7 @@
android:key="screen_other"
android:title="@string/setting_screen_other" />
<CheckBoxPreference
android:defaultValue="false"
android:defaultValue="true"
android:key="whitelist_roaming"
android:title="@string/setting_whitelist_roaming" />
</PreferenceCategory>

View File

@ -29,7 +29,7 @@
android:key="screen_other"
android:title="@string/setting_screen_other" />
<eu.faircode.netguard.SwitchPreference
android:defaultValue="false"
android:defaultValue="true"
android:key="whitelist_roaming"
android:title="@string/setting_whitelist_roaming" />
</PreferenceCategory>

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" />