NetGuard provides simple and advanced ways to block access to the internet

Related tags

App NetGuard
Overview

NetGuard

NetGuard provides simple and advanced ways to block access to the internet - no root required. Applications and addresses can individually be allowed or denied access to your Wi-Fi and/or mobile connection.


WARNING: there is an app in the Samsung Galaxy app store "Play Music - MP3 Music player" with the same package name as NetGuard, which will be installed as update without your confirmation. This app is probably malicious and was reported to Samsung on December 8, 2021.


Blocking access to the internet can help:

  • reduce your data usage
  • save your battery
  • increase your privacy

NetGuard is the first free and open source no-root firewall for Android.

Features:

  • Simple to use
  • No root required
  • 100% open source
  • No calling home
  • No tracking or analytics
  • Actively developed and supported
  • Android 5.1 and later supported
  • IPv4/IPv6 TCP/UDP supported
  • Tethering supported
  • Optionally allow when screen on
  • Optionally block when roaming
  • Optionally block system applications
  • Optionally forward ports, also to external addresses (not available if installed from the Play store)
  • Optionally notify when an application accesses the internet
  • Optionally record network usage per application per address
  • Optionally block ads using a hosts file (not available if installed from the Play store)
  • Material design theme with light and dark theme

PRO features:

  • Log all outgoing traffic; search and filter access attempts; export PCAP files to analyze traffic
  • Allow/block individual addresses per application
  • New application notifications; configure NetGuard directly from the notification
  • Display network speed graph in a status bar notification
  • Select from five additional themes in both light and dark version

There is no other no-root firewall offering all these features.

Requirements:

Downloads:

Certificate fingerprints:

  • MD5: B6:4A:E8:08:1C:3C:9C:19:D6:9E:29:00:46:89:DA:73
  • SHA1: EF:46:F8:13:D2:C8:A0:64:D7:2C:93:6B:9B:96:D1:CC:CC:98:93:78
  • SHA256: E4:A2:60:A2:DC:E7:B7:AF:23:EE:91:9C:48:9E:15:FD:01:02:B9:3F:9E:7C:9D:82:B0:9C:0B:39:50:00:E4:D4

Usage:

  • Enable the firewall using the switch in the action bar
  • Allow/deny Wi-Fi/mobile internet access using the icons along the right side of the application list

You can use the settings menu to change from blacklist mode (allow all in Settings but block unwanted applications in list) to whitelist mode (block all in Settings but allow favorite applications in list).

  • Red/orange/yellow/amber = internet access denied
  • Teal/blue/purple/grey = internet access allowed

For more screenshots, see here.

Compatibility

The only way to build a no-root firewall on Android is to use the Android VPN service. Android doesn't allow chaining of VPN services, so you cannot use NetGuard together with other VPN based applications. See also this FAQ.

NetGuard can be used on rooted devices too and even offers more features than most root firewalls.

Some older Android versions, especially Samsung's Android versions, have a buggy VPN implementation, which results in Android refusing to start the VPN service in certain circumstances, like when there is no internet connectivity yet (when starting up your device) or when incorrectly requiring manual approval of the VPN service again (when starting up your device). NetGuard will try to workaround this and remove the error message when it succeeds, else you are out of luck.

Some LineageOS versions have a broken Android VPN implementation, causing all traffic to be blocked, please see this FAQ for more information.

NetGuard is not supported for apps installed in a work profile, or in a Secure Folder (Samsung), or as second instance (MIUI), or as Parallel app (OnePlus), or as Xiaomi dual app because the Android VPN service too often does not work correctly in this situation, which can't be fixed by NetGuard.

Filtering mode cannot be used on CopperheadOS.

NetGuard will not work or crash when the package com.android.vpndialogs has been removed or otherwise is unavailable. Removing this package is possible with root permissions only. If you disable this package, you can enable it with this command again:

adb shell pm enable --user 0 com.android.vpndialogs

NetGuard is supported for phones and tablets only, so not for other device types like on a television or in a car.

Android does not allow incoming connections (not the same as incoming traffic) and the Android VPN service has no support for this either. Therefore managing incoming connections for servers running on your device is not supported.

Wi-Fi or IP calling will not work if your provider uses IPsec to encrypt your phone calls, SMS messages and/or MMS messages, unless there was made an exception in NetGuard for your provider (currently for T-Mobile and Verizon). I am happy to add exceptions for other providers, but I need the MCC codes, MNC codes and IP address ranges your provider is using. As an alternative you can enable the option 'Disable on call', which is available since version 2.113.

Frequently Asked Questions (FAQ)

(0) How do I use NetGuard?

(1) Can NetGuard completely protect my privacy?

(2) Can I use another VPN application while using NetGuard?

(3) Can I use NetGuard on any Android version?

(4) Will NetGuard use extra battery power?

(6) Will NetGuard send my internet traffic to an external (VPN) server?

(7) Why are applications without internet permission shown?

(8) What do I need to enable for the Google Play™ store app to work?

(9) Why is the VPN service being restarted?

(10) Will you provide a Tasker plug-in?

(13) How can I remove the ongoing NetGuard entry in the notification screen?

(14) Why can't I select OK to approve the VPN connection request?

(15) Are F-Droid builds supported?

(16) Why are some applications shown dimmed?

(17) Why is NetGuard using so much memory?

(18) Why can't I find NetGuard in the Google Play™ store app?

(19) Why does application XYZ still have internet access?

(20) Can I Greenify/hibernate NetGuard?

(21) Does doze mode affect NetGuard?

(22) Can I tether (use the Android hotspot) / use Wi-Fi calling while using NetGuard?

(24) Can you remove the notification from the status bar?

(25) Can you add a 'select all'?

(27) How do I read the blocked traffic log?

(28) Why is Google connectivity services allowed internet access by default?

(29) Why do I get 'The item you requested is not available for purchase'?

(30) Can I also run AFWall+ on the same device?

(31) Why can some applications be configured as a group only?

(32) Why is the battery/network usage of NetGuard so high

(33) Can you add profiles?

(34) Can you add the condition 'when on foreground'?

(35) Why does the VPN not start?

(36) Can you add PIN or password protection?

(37) Why are the pro features so expensive?

(38) Why did NetGuard stop running?

(39) How does a VPN based firewall differ from a iptables based firewall?

(40) Can you add schedules?

(41) Can you add wildcards?

(42) Why is permission ... needed?

(43) I get 'This app is causing your device to run slowly'

(44) I don't get notifications on access

(45) Does NetGuard handle incoming connections?

(46) Can I get a refund?

(47) Why are there in application advertisements?

(48) Why are some domain names blocked while they are set to be allowed?

(49) Does NetGuard encrypt my internet traffic / hide my IP address?

(50) Will NetGuard automatically start on boot?

(51) NetGuard blocks all internet traffic!

(52) What is lockdown mode?

(53) The translation in my language is missing / incorrect / incomplete!

(54) How to tunnel all TCP connections through the Tor network?

(55) Why does NetGuard connect to Amazon / ipinfo.io?

(56) NetGuard allows all internet traffic!

(57) Why does NetGuard use so much data?

(58) Why does loading the application list take a long time?

(59) Can you help me restore my purchase?

(60) Why does IP (Wi-Fi) calling/SMS/MMS not work?

(61) Help, NetGuard crashed!

(62) How can I solve 'There was a problem parsing the package' ?

(63) Why is all DNS traffic allowed?

(64) Can you add DNS over TLS?

(65) Why can NetGuard not block itself?

Support

For questions, feature requests and bug reports, please use this XDA-Developers forum thread.

There is support on the latest version of NetGuard only.

There is no support on things that are not directly related to NetGuard.

There is no support on building and developing things by yourself.

NetGuard is supported for phones and tablets only, so not for other device types like on a television or in a car.

Contributing

Building

Building is simple, if you install the right tools:

The native code is built as part of the Android Studio project.

It is expected that you can solve build problems yourself, so there is no support on building. If you cannot build yourself, there are prebuilt versions of NetGuard available here.

Translating

  • Translations to other languages are welcomed
  • You can translate online here
  • If your language is not listed, please send a message to marcel(plus)netguard(at)faircode(dot)eu
  • You can see the status of all translations here.

Please note that by contributing you agree to the license below, including the copyright, without any additional terms or conditions.

Attribution

NetGuard uses:

License

GNU General Public License version 3

Copyright (c) 2015-2018 Marcel Bokhorst (M66B)

All rights reserved

This file is part of NetGuard.

NetGuard is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your discretion) any later version.

NetGuard is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with NetGuard. If not, see http://www.gnu.org/licenses/.

Trademarks

Android is a trademark of Google Inc. Google Play is a trademark of Google Inc

Comments
  •  use new session per ICMP ID

    use new session per ICMP ID

    restore ICMP id change and use new session instead: I always try to save memory but this wents this time bad, we do need a new session for each port/id or ICMP will never work right.

    opened by top-master 10
  • Misc compatibility settings

    Misc compatibility settings

    In debugging for now:

    • forcerestart - fix #345 for ROMs that bypass the VPN for DNS calls on switch to mobile (eg. Xperia 5.1.1) by using the same reload method (destroy VPN) as used already for SDK<22
    • routedns - https://github.com/M66B/NetGuard/commit/7673dceb8df28d76bc0ba5b085b41249d26e8b82 with a toggle (might help some Samsung users)
    • ignoresysdns - create VPN without system DNS servers, if no server is set up in app then Google's 8.8.8.8 is used
    opened by licaon-kter 8
  • increase BOOT_COMPLETED intent priority to 999

    increase BOOT_COMPLETED intent priority to 999

    This is to increase the priority of Netguard being launched at startup.

    The developer docs used to be a bit clearer on this, for some reason they removed the section about possible values from the intent filter overview page ( https://developer.android.com/guide/topics/manifest/intent-filter-element#priority )

    But it can be derived from here: https://developer.android.com/reference/android/content/IntentFilter.html#setPriority(int) ("Applications should use a value that is larger than SYSTEM_LOW_PRIORITY and smaller than SYSTEM_HIGH_PRIORITY ." )

    Their values (SYSTEM_LOW_PRIORITY: -1000, SYSTEM_HIGH_PRIORITY: 1000) are listed here: https://developer.android.com/reference/android/content/IntentFilter.html#SYSTEM_HIGH_PRIORITY

    opened by timepigeon 7
  • Update strings.xml

    Update strings.xml

    Update. How about a line break, if it does not fit into one line? Half of text of not visible. Or it will affect the visual component of the application?

    opened by Ivan4537 7
  • Decprecated AsyncTask has been replaced and Kotlin support added to the project.

    Decprecated AsyncTask has been replaced and Kotlin support added to the project.

    1. :fire: Added kotlin support to the project.
    2. :+1: Activities and adapters has been converted to kotlin.
    3. :rocket: Deprecated AsyncTask is replaced by Kotlin CoroutineAsyncTask.
    opened by it5prasoon 6
  • Change DNS + connectivity check

    Change DNS + connectivity check

    If I understand correctly, Google is unlikely to be contacted under normal operation of NetGuard.

    This PR tries to reduce connections to Google further, for privacy reasons.

    opened by kasnder 5
  • AndroidManifest.xml: Enable backups

    AndroidManifest.xml: Enable backups

    Having a backup of the rules configuration would be very useful in case of data loss.

    Background: As smartphones can easily be lost or get stolen or break, it is useful to have regular backups. I recommend to back up the smartphone at least once a month or even once per week. Prior to this change, NetGuard would not be backed up, i.e. in case of data loss and the user restoring a backup, both the NetGuard app and all its config would be missing.

    opened by genodeftest 4
  • Reformat the code

    Reformat the code

    I'm learning how to use VpnService, then I meet this project, and I found it full of warnings ... So I decide to make it less warnings to let me learn faster.

    ( Can you please re-package those classes? They are all under the same package... )

    opened by DevDengChao 4
  • Attempting to redirect 'no' to 'nb'

    Attempting to redirect 'no' to 'nb'

    To the degree I understood your comments on #515, and Linux command line syntaxes, I've now instead attempted to tie values-no to values-nb, on the presumption that it'll make the Norwegian Crowdin translation project apply to both of those files.

    opened by DandelionSprout 4
  • ICMP management Fix

    ICMP management Fix

    the first ICMP session that gets created did never stop, when there comes unstop other requests for an other port/id after the first all others will fail since the requestor checks the ICMP id that it last used but it did got from NetGuard the first id used for that site.

    we did find the bug using Apps whichs only propose are to ping and only the first ping got ever answered

    opened by top-master 4
  • Validate hosts file URL

    Validate hosts file URL

    This patchset adds logic needed to validate hosts file's URL, using both a custom EditTextPreference to just verify if it's a tangible URL (all done using Android parsing and validation facilities), and a simple conditional statement to make sure we never create URL objects without the http/https prefix.

    opened by gsora 4
  • Show blocked ads notification

    Show blocked ads notification

    I have added one extra notification, which shows, how many times ads are blocked and which ads are blocked with use of our application.

    For that I have added

    1. Extra notification channel (from where user can disable this notification).

    I love to use your app, so as an Android Developer, I want to contribute.

    Please let me know if you like my idea. Thank you so much for making this App.

    opened by panchalamitr 10
Releases(2.303)
  • 2.303(Nov 10, 2022)

  • 2.302(Jun 14, 2022)

  • 2.301(Jun 4, 2022)

  • 2.300(Jan 24, 2022)

    • Improved Android 12 compatibility
    • Removed subscriptions (due to new Play store policies)
    • Updated builds tools and translations

    All changes: https://github.com/M66B/NetGuard/compare/2.299...2.300?w=1

    Source code(tar.gz)
    Source code(zip)
  • 2.299(Nov 13, 2021)

  • 2.298(Oct 1, 2021)

  • 2.297(Sep 10, 2021)

  • 2.296(Jun 14, 2021)

    • Android 12 compatibility
    • Updated libraries
    • Updated build tools
    • Updated translations

    All changes: https://github.com/M66B/NetGuard/compare/2.295...2.296

    Source code(tar.gz)
    Source code(zip)
  • 2.295(Mar 22, 2021)

  • 2.294(Mar 2, 2021)

    • Allowing private DNS / non filtering mode requires enabling subnet routing
    • Updated translations

    All changes: https://github.com/M66B/NetGuard/compare/2.293...2.294

    Source code(tar.gz)
    Source code(zip)
  • 2.293(Feb 23, 2021)

  • 2.292(Feb 23, 2021)

    • Allow custom private DNS servers in non filtering mode
    • Updated translations

    All changes: https://github.com/M66B/NetGuard/compare/2.291...2.292

    Source code(tar.gz)
    Source code(zip)
  • 2.291(Feb 6, 2021)

    • Updated build tools
    • Updated translations

    All changes: https://github.com/M66B/NetGuard/compare/2.290...2.291

    Firefox/Fennec users: long press the APK file link and select 'Save as'

    Source code(tar.gz)
    Source code(zip)
  • 2.290(Dec 3, 2020)

    • Updated libraries
    • Updated translations

    All changes: https://github.com/M66B/NetGuard/compare/2.289...2.290

    Firefox/Fennec users: long press the APK file link and select 'Save as'

    Source code(tar.gz)
    Source code(zip)
  • 2.289(Oct 3, 2020)

    • Disabled VPN handover for Android 11
    • Small improvements
    • Updated translations

    All changes: https://github.com/M66B/NetGuard/compare/2.288...2.289

    There seems to be download problems with Firefox and Fennec, so try another browser if needed.

    Source code(tar.gz)
    Source code(zip)
  • 2.288(Aug 26, 2020)

    • Removed built-in rule to allow Android when disconnected
    • Removed autostart error notification

    All changes: https://github.com/M66B/NetGuard/compare/2.287...2.288

    Source code(tar.gz)
    Source code(zip)
  • 2.287(Aug 18, 2020)

  • 2.286(Aug 16, 2020)

    • Switched to direct download of StevenBlack's hosts file
    • Disabled VPN handover by default
    • Updated translations

    All changes: https://github.com/M66B/NetGuard/compare/2.285...2.286

    Source code(tar.gz)
    Source code(zip)
  • 2.285(Jul 17, 2020)

  • 2.284(Jul 8, 2020)

  • 2.283(Jun 14, 2020)

  • 2.282(Jun 12, 2020)

    • Added workaround to get correct connection status
    • Small improvements
    • Updated translations

    All changes: https://github.com/M66B/NetGuard/compare/2.281...2.282

    Source code(tar.gz)
    Source code(zip)
  • 2.281(May 18, 2020)

  • 2.280(Apr 24, 2020)

  • 2.279(Apr 19, 2020)

  • 2.278(Apr 17, 2020)

  • 2.277(Apr 16, 2020)

  • 2.276(Mar 22, 2020)

  • 2.275(Mar 20, 2020)

  • 2.274(Feb 14, 2020)

    • Small improvements
    • Updated translations

    All changes: https://github.com/M66B/NetGuard/compare/2.273...2.274

    This version will be available in the Play store after Google's approval.

    Source code(tar.gz)
    Source code(zip)
Owner
Marcel Bokhorst
Marcel Bokhorst
A music picker library for React Native. Provides access to the system's UI for selecting songs from the phone's music library.

Expo Music Picker A music picker library for React Native. Provides access to the system's UI for selecting songs from the phone's music library. Supp

Bartłomiej Klocek 60 Dec 29, 2022
A simple Android app to demonstrate the use of Hover SDK for M-PESA Send Money while offline. This SDK does not require an internet connection, it automates USSD sessions in the background of an android application.

HoverSDKDemo Hover SDK is an Android SDK that lets mobile developers to add money features to the applications. This SDK does not require an internet

Joel Kanyi 9 Dec 21, 2022
An app that is a one-stop destination for all the CS enthusiasts, providing resources like Information scrapping techniques, best YT channels, courses available free-of-cost, etc. & knowledge about every domain and field that exists on the Internet related to Computer Science along with News, Jobs, and Internships opportunities in these domains along with valuable tips and hacks from mentors for a particular domain.

An app that is a one-stop destination for all the CS enthusiasts, providing resources like Information scrapping techniques, best YT channels, courses available free-of-cost, etc. & knowledge about every domain and field that exists on the Internet related to Computer Science along with News, Jobs, and Internships opportunities in these domains along with valuable tips and hacks from mentors for a particular domain.

CSwala 48 Nov 26, 2022
Olalekan Fagbemi 0 Nov 7, 2021
Simple access to Firebase Realtime Database.

FbRemoteDb Simple access to Firebase Realtime Database. Everything is inside a Bucket, there you can store your items. This is for simplifying the acc

null 1 Dec 28, 2021
An easy to use android library to let devs know how much internet-data their app is consuming

EasyAnalytics! an easy to use android library to let developers know how much internet-data their app is consuming. We can identify this as we want ba

Sachin Rajput 13 Feb 21, 2022
Just another Quotes app with beautiful UI which shows random quotes from the internet

RandomQuotes Just another Quotes app with beautiful UI which shows random quotes from the internet. Screenshots Libraries Volley Android Material API

Hamza Aziz 5 Mar 2, 2022
Connect to internet to get photos of mars

MarsPhotos - Starter Code Starter code for Android Basics in Kotlin. Introductio

Vipul Chaudhary 0 Dec 18, 2021
android-delicious Delicious Android is an Android app which helps you access and save bookmarks via Delicious. It's available over at Google Play.

Delicious Android Delicious Android is an Android app which helps you access and save bookmarks via Delicious. It's available over at Google Play. Fea

Alexander Blom 137 Nov 20, 2022
Android app built with MVP architectural approach and uses Marvel Comics API that allows developers everywhere to access information about Marvel's vast library of comics. :zap:

Villains & Heroes Android app built with MVP architectural approach and uses Marvel Comics API that allows developers everywhere to access information

André Mion 53 Jul 13, 2022
NativeScript empowers you to access native platform APIs from JavaScript directly. Angular, Capacitor, Ionic, React, Svelte, Vue and you name it compatible.

NativeScript empowers you to access native APIs from JavaScript directly. The framework currently provides iOS and Android runtimes for rich mobile de

NativeScript 22k Dec 31, 2022
This is a Interview application which made by me in interview task what it do? that will give you the result from Api and also save data in the cache using RoomDb so that we can access it offline.

Clean-MVVM-App An Android application built using Clean + MVVM architecture. Components used in the app. Kotlin - As a programming language. Material

Android1500 2 Oct 29, 2022
An easy way to create and access JSON Files!

JsonFile This is the JsonFile API, this class is meant to facilitate the process of creating and accessing a JSON file UPDATES Updates Version About C

Next 2 Nov 11, 2022
Aplikasi-Kuliner-Jowo - Beta Access Aplikasi Kuliner Jowo (v1.1.0 BETA 1)

Kuliner-Jowo Kuliner Jowo merupakan aplikasi resep masakan khas jawa yang dapat

Rizki Delaga Prasetya 0 Feb 2, 2022
A liteweight Android application to access your hanger!

星河避难所 这是一个星际公民 Android 客户端,可以简化部分官网操作以及信息查询。 A Star Citizen Android Application. 实现功能 官网登录相关 免代理登录/注册 多账号一键切换 光谱账号一键切换 官网信息相关 玩家个人信息显示 官网玩家查询 舰船信息查询 玩

Kirakira 19 Dec 19, 2022
MEGA Android Client - A fully-featured client to access your Cloud Storage provided by MEGA

A fully-featured client to access your Cloud Storage provided by MEGA. This document will guide you to build the application on a Linux machine with Android Studio.

Mega Limited 1.1k Jan 3, 2023
A sample Android app which showcases advanced usage of Dagger among other open source libraries.

U+2020 A sample Android app which showcases advanced usage of Dagger among other open source libraries. Watch the corresponding talk or view the slide

Jake Wharton 5.7k Dec 27, 2022
This is an Android project allowing you to use the advanced biometric authorization features.

PLEASE NOTE: If your project has minSDK 23 and should support only basic Fingerprint Authorization on most devices - take a look first at the AndroidX

Sergej Komlach 82 Dec 30, 2022
An advanced DEX editor for Android.

An advanced DEX editor for Android.

Mike Anderson 75 Jan 3, 2023