2015-10-24 17:59:20 +00:00
# NetGuard
2015-10-24 18:01:55 +00:00
2016-02-28 15:57:50 +00:00
*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.
2015-10-29 10:03:14 +00:00
Blocking access to the internet can help:
2015-11-01 08:40:27 +00:00
* reduce your data usage
2015-10-29 10:03:14 +00:00
* save your battery
* increase your privacy
2015-10-25 12:02:25 +00:00
2015-11-18 17:48:11 +00:00
NetGuard is the first free and open source no-root firewall for Android.
2015-11-07 18:11:43 +00:00
2015-11-17 07:25:29 +00:00
Features:
2015-10-25 13:21:14 +00:00
* Simple to use
2016-02-28 15:57:50 +00:00
* No root required
* 100% open source
2016-07-19 05:10:07 +00:00
* No calling home
* No tracking or analytics
2016-02-28 15:57:50 +00:00
* No advertisements
2016-04-16 11:32:32 +00:00
* Actively developed and supported
2016-02-28 15:57:50 +00:00
* Android 4.0 and later supported
2015-10-26 12:43:37 +00:00
* IPv4/IPv6 TCP/UDP supported
2016-02-28 15:57:50 +00:00
* Tethering supported
* Multiple device users supported
2015-11-09 11:23:06 +00:00
* Optionally allow when screen on
2015-11-09 11:29:06 +00:00
* Optionally block when roaming
2015-11-09 11:23:06 +00:00
* Optionally block system applications
2016-03-08 11:05:17 +00:00
* Optionally forward ports, also to external addresses (not available if installed from the Play store)
2016-02-28 15:57:50 +00:00
* Optionally notify when an application accesses the internet
* Optionally record network usage per application per address
2016-03-20 10:52:59 +00:00
* Optionally [block ads using a hosts file ](https://github.com/M66B/NetGuard/blob/master/ADBLOCKING.md ) (not available if installed from the Play store)
2016-02-28 15:57:50 +00:00
* Material design theme with light and dark theme
2015-10-25 13:21:14 +00:00
2016-02-28 15:57:50 +00:00
PRO features:
2015-11-29 12:26:46 +00:00
2016-02-28 15:57:50 +00:00
* 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
2015-10-29 06:46:05 +00:00
2016-02-28 15:57:50 +00:00
There is no other no-root firewall offering all these features.
2015-11-17 07:25:29 +00:00
2015-12-27 15:21:45 +00:00
Requirements:
2016-02-25 12:41:45 +00:00
* Android 4.0 or later
2016-01-09 22:50:04 +00:00
* A [compatible device ](#compatibility )
2015-12-27 15:21:45 +00:00
2015-11-17 07:25:29 +00:00
Downloads:
* [GitHub ](https://github.com/M66B/NetGuard/releases )
2015-11-29 15:50:20 +00:00
* [On Google Play ](https://play.google.com/store/apps/details?id=eu.faircode.netguard ) (stable)
* [On Google Play ](https://play.google.com/apps/testing/eu.faircode.netguard ) (beta)
2015-11-17 07:25:29 +00:00
* [XDA Labs App ](http://forum.xda-developers.com/android/apps-games/labs-t3241866 ) ([web page](https://labs.xda-developers.com/store/app/eu.faircode.netguard))
Usage:
2015-11-17 10:51:40 +00:00
2015-10-25 13:06:16 +00:00
* Enable the firewall using the switch in the action bar
2015-11-15 19:18:48 +00:00
* Allow/deny Wi-Fi/mobile internet access using the icons along the right side of the application list
2015-10-25 12:02:25 +00:00
2016-02-28 15:57:50 +00:00
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).
2015-11-29 10:43:07 +00:00
2016-02-28 15:57:50 +00:00
* Red/orange/yellow/amber = internet access denied
* Teal/blue/purple/grey = internet access allowd
2015-11-29 07:24:20 +00:00
2016-02-25 12:41:45 +00:00
< img src = "https://raw.githubusercontent.com/M66B/NetGuard/master/screenshots/01-main.png" width = "320" height = "569" / >
< img src = "https://raw.githubusercontent.com/M66B/NetGuard/master/screenshots/02-main-details.png" width = "320" height = "569" / >
< img src = "https://raw.githubusercontent.com/M66B/NetGuard/master/screenshots/03-main-access.png" width = "320" height = "569" / >
< img src = "https://raw.githubusercontent.com/M66B/NetGuard/master/screenshots/08-notifications.png" width = "320" height = "569" / >
2015-10-25 13:21:14 +00:00
2016-02-25 12:41:45 +00:00
For more screenshots, see [here ](https://github.com/M66B/NetGuard/tree/master/screenshots ).
2015-10-25 13:21:14 +00:00
2015-10-31 09:01:28 +00:00
Compatibility
-------------
2016-07-10 10:29:02 +00:00
NetGuard will not work or crash when the package *com.android.vpndialogs* has been removed or otherwise is unavailable.
2015-10-31 09:01:28 +00:00
2015-11-03 09:44:34 +00:00
2015-11-17 07:25:29 +00:00
< a name = "FAQ" > < / a >
2015-10-26 10:12:35 +00:00
Frequently Asked Questions (FAQ)
--------------------------------
2015-10-25 12:13:52 +00:00
2015-11-29 10:43:07 +00:00
< a name = "FAQ0" > < / a >
[**(0) How do I use NetGuard?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ0 )
2015-10-25 12:13:52 +00:00
< a name = "FAQ1" > < / a >
2015-11-17 14:12:33 +00:00
[**(1) Can NetGuard completely protect my privacy?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ1 )
2015-10-25 12:13:52 +00:00
2015-10-25 13:25:42 +00:00
< a name = "FAQ2" > < / a >
2015-11-17 14:24:14 +00:00
[**(2) Can I use another VPN application while using NetGuard?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ2 )
2015-10-25 12:13:52 +00:00
2015-10-25 13:49:56 +00:00
< a name = "FAQ3" > < / a >
2015-11-17 14:12:33 +00:00
[**(3) Can I use NetGuard on any Android version?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ3 )
2015-10-25 13:49:56 +00:00
2015-10-25 15:36:14 +00:00
< a name = "FAQ4" > < / a >
2015-11-17 14:12:33 +00:00
[**(4) Will NetGuard use extra battery power?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ4 )
2015-10-25 15:36:14 +00:00
2015-10-30 12:32:59 +00:00
< a name = "FAQ6" > < / a >
2015-11-17 14:12:33 +00:00
[**(6) Will NetGuard send my internet traffic to an external (VPN) server?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ6 )
2015-10-30 12:32:59 +00:00
2015-11-01 06:13:18 +00:00
< a name = "FAQ7" > < / a >
2015-11-17 14:12:33 +00:00
[**(7) Why are applications without internet permission shown?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ7 )
2015-11-01 06:13:18 +00:00
2015-11-05 22:09:49 +00:00
< a name = "FAQ8" > < / a >
2015-11-29 15:50:20 +00:00
[**(8) What do I need to enable for the Google Play™ store app to work?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ8 )
2015-11-05 22:09:49 +00:00
2015-11-08 06:28:43 +00:00
< a name = "FAQ9" > < / a >
2015-11-17 14:24:14 +00:00
[**(9) Why is the VPN service being restarted?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ9 )
2015-11-08 06:28:43 +00:00
2015-11-08 12:18:16 +00:00
< a name = "FAQ10" > < / a >
2015-11-17 14:12:33 +00:00
[**(10) Will you provide a Tasker plug-in?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ10 )
2015-11-08 12:18:16 +00:00
2015-11-10 09:26:28 +00:00
< a name = "FAQ13" > < / a >
2015-11-17 14:12:33 +00:00
[**(13) How can I remove the ongoing NetGuard entry in the notification screen?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ13 )
2015-11-10 09:26:28 +00:00
2015-11-10 22:12:54 +00:00
< a name = "FAQ14" > < / a >
2015-11-17 14:12:33 +00:00
[**(14) Why can't I select OK to approve the VPN connection request?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ14 )
2015-11-10 22:12:54 +00:00
2015-11-13 08:49:19 +00:00
< a name = "FAQ15" > < / a >
2015-11-17 14:24:14 +00:00
[**(15) Why won't you support the F-Droid builds?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ15 )
2015-11-13 08:49:19 +00:00
2015-11-13 13:34:48 +00:00
< a name = "FAQ16" > < / a >
2015-11-17 14:12:33 +00:00
[**(16) Why are some applications shown dimmed?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ16 )
2015-11-13 13:34:48 +00:00
2015-11-14 12:26:57 +00:00
< a name = "FAQ17" > < / a >
2015-11-17 14:12:33 +00:00
[**(17) Why is NetGuard using so much memory?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ17 )
2015-11-14 12:26:57 +00:00
2015-11-14 18:40:29 +00:00
< a name = "FAQ18" > < / a >
2015-11-29 15:50:20 +00:00
[**(18) Why can't I find NetGuard in the Google Play™ store app?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ18 )
2015-11-14 18:40:29 +00:00
2015-11-16 10:08:12 +00:00
< a name = "FAQ19" > < / a >
2015-11-17 14:24:14 +00:00
[**(19) Why does aplication XYZ still have internet access?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ19 )
2015-11-16 10:08:12 +00:00
2015-11-17 07:33:40 +00:00
< a name = "FAQ20" > < / a >
2015-11-17 14:24:14 +00:00
[**(20) Can I Greenify/hibernate NetGuard?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ20 )
2015-11-17 07:33:40 +00:00
2015-11-29 10:43:07 +00:00
< a name = "FAQ21" > < / a >
[**(21) Does doze mode affect NetGuard?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ21 )
< a name = "FAQ22" > < / a >
2015-12-25 07:36:13 +00:00
[**(22) Can I tether / use Wi-Fi calling while using NetGuard?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ22 )
2015-11-29 10:43:07 +00:00
< a name = "FAQ24" > < / a >
2015-11-29 20:09:13 +00:00
[**(24) Can you remove the notification from the status bar?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ24 )
2015-11-29 10:43:07 +00:00
2015-12-26 07:34:18 +00:00
< a name = "FAQ25" > < / a >
[**(25) Can you add a 'select all'?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ25 )
2016-01-08 18:07:58 +00:00
< a name = "FAQ27" > < / a >
[**(27) How do I read the blocked traffic log?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ27 )
2015-12-27 15:14:46 +00:00
2016-01-09 15:38:07 +00:00
< a name = "FAQ28" > < / a >
[**(28) Why is Google connectivity services allowed internet access by default?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ28 )
2016-01-21 12:50:53 +00:00
< a name = "FAQ29" > < / a >
[**(29) Why do I get 'The item you requested is not available for purchase'?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ29 )
2016-02-07 10:11:00 +00:00
< a name = "FAQ30" > < / a >
[**(30) Can I also run AFWall+ on the same device?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ30 )
2016-03-02 10:13:12 +00:00
< a name = "FAQ31" > < / a >
[**(31) Why can some applications be configured as a group only?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ31 )
2016-03-09 13:10:01 +00:00
< a name = "FAQ32" > < / a >
[**(32) Why is the battery/network usage of NetGuard so high** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ32 )
2016-03-25 06:59:13 +00:00
< a name = "FAQ33" > < / a >
[**(33) Can you add profiles?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ33 )
2016-03-25 17:16:52 +00:00
< a name = "FAQ34" > < / a >
[**(34) Can you add the condition 'when on foreground'?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ34 )
2016-04-05 13:44:07 +00:00
< a name = "FAQ35" > < / a >
[**(35) Why does the VPN not start?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ35 )
2016-04-06 05:34:16 +00:00
< a name = "FAQ36" > < / a >
[**(36) Can you add PIN or password protection?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ36 )
2016-05-14 06:18:57 +00:00
< a name = "FAQ37" > < / a >
[**(37) Why are the pro features so expensive?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ37 )
2016-06-30 13:04:44 +00:00
< a name = "FAQ38" > < / a >
[**(38) Why did NetGuard stop running?** ](https://github.com/M66B/NetGuard/blob/master/FAQ.md#FAQ38 )
2015-11-17 07:25:29 +00:00
Permissions
-----------
2016-03-11 10:51:25 +00:00
* INTERNET ('*Full network access*'): to forward allowed (filtered) traffic to the internet
2016-03-05 07:09:19 +00:00
* ACCESS_NETWORK_STATE ('*View network connections*'): to check if the device is connected to the internet through Wi-Fi
* READ_PHONE_STATE ('*Device ID & call information*'): to detect mobile network changes, see [here ](http://forum.xda-developers.com/showpost.php?p=64107371&postcount=489 ) for more details
* ACCESS_WIFI_STATE ('*Wi-Fi connection information*'): to detect Wi-Fi network changes
* RECEIVE_BOOT_COMPLETED ('*Run at startup*'): to start the firewall when booting the device
* WAKE_LOCK ('*Prevent device from sleeping*'): to reliably reload rules in the background on connectivity changes
2016-06-26 17:32:06 +00:00
* READ/WRITE_EXTERNAL_STORAGE ('*Photos/Media/Files*'): to export/import settings on Android versions before 4.4 (KitKat) (there is no need to grant this permission on later Android versions)
2016-06-23 15:20:13 +00:00
* VIBRATE: to give feedback on widget tap
2016-03-05 07:09:19 +00:00
* com.android.vending.BILLING: to use in-app billing
2015-11-17 07:25:29 +00:00
2015-10-25 13:36:49 +00:00
Support
-------
2016-07-22 06:41:18 +00:00
For questions, feature requests and bug reports, please [use this XDA-Developers forum thread ](http://forum.xda-developers.com/showthread.php?t=3233012 )
2015-10-25 13:36:49 +00:00
2016-03-27 07:14:32 +00:00
**There is no support on ad blocking.**
2015-10-25 12:02:25 +00:00
Contributing
------------
2016-03-11 06:25:28 +00:00
*Building*
2016-03-24 09:02:54 +00:00
Building is simple, if you install the right tools:
2016-03-21 09:38:18 +00:00
* [Android Studio 2.1 ](http://developer.android.com/sdk/ )
2016-06-23 09:22:03 +00:00
* [Android NDK r12 ](http://developer.android.com/tools/sdk/ndk/ )
2016-03-11 06:25:28 +00:00
2016-03-24 09:02:54 +00:00
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.
2016-03-25 06:59:13 +00:00
If you cannot build yourself, there are prebuilt versions of NetGuard available [here ](https://github.com/M66B/NetGuard/releases ).
2016-03-24 09:02:54 +00:00
2016-03-11 06:25:28 +00:00
*Translating*
2015-10-26 08:06:39 +00:00
* Translations to other languages are welcomed
2015-11-21 09:07:11 +00:00
* You can translate online [here ](https://crowdin.com/project/netguard/ )
* If your language is not listed, please send a message to marcel(plus)netguard(at)faircode(dot)eu
2016-02-25 12:41:45 +00:00
* You can see the status of all translations [here ](https://crowdin.com/project/netguard ).
2015-11-23 07:45:59 +00:00
2015-10-25 12:02:25 +00:00
Please note that you agree to the license below by contributing, including the copyright.
2015-11-01 07:20:58 +00:00
Attribution
-----------
NetGuard uses:
* [Picasso ](http://square.github.io/picasso/ )
* [Android Support Library ](https://developer.android.com/tools/support-library/index.html )
2015-10-25 12:02:25 +00:00
License
-------
[GNU General Public License version 3 ](http://www.gnu.org/licenses/gpl.txt )
2016-02-25 12:41:45 +00:00
Copyright (c) 2015-2016 Marcel Bokhorst ([M66B](http://forum.xda-developers.com/member.php?u=2799345))
2015-10-25 12:02:25 +00:00
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/ ](http://www.gnu.org/licenses/ ).
2015-11-29 15:52:23 +00:00
2016-03-15 09:48:38 +00:00
Trademarks
----------
2015-11-29 15:52:23 +00:00
*Android is a trademark of Google Inc. Google Play is a trademark of Google Inc*