NetGuard/README.md

248 lines
10 KiB
Markdown
Raw Normal View History

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
2015-10-25 13:21:14 +00:00
* No calling home
* No tracking or analytics
2016-02-28 15:57:50 +00:00
* No advertisements
* 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
* Optionally block when roaming
2015-11-09 11:23:06 +00:00
* Optionally block system applications
* 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:
* 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)
* [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
<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
For more screenshots, see [here](https://github.com/M66B/NetGuard/tree/master/screenshots).
2015-10-25 13:21:14 +00:00
Compatibility
-------------
2015-11-02 18:40:07 +00:00
NetGuard will crash when the package *com.android.vpndialogs* has been removed or otherwise is unavailable.
2015-11-03 09:44:34 +00:00
2015-11-17 07:25:29 +00:00
<a name="FAQ"></a>
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
<a name="FAQ8"></a>
[**(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-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
<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)
<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-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
<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-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>
[**(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)
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
* READ/WRITE_EXTERNAL_STORAGE ('*Photos/Media/Files*'): to export/import settings on Android versions before 5.0 (Lollipop) (there is no need to grant this permission on later Android versions)
* 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
-------
* Questions: please [use this XDA-Developers forum thread](http://forum.xda-developers.com/showthread.php?t=3233012)
* Feature requests and bugs: please [create an issue on GitHub](https://github.com/M66B/NetGuard/issues/new)
2015-10-25 13:36:49 +00:00
Please do not use GitHub for questions.
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/)
* [Android NDK r11](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.
If you cannot build yourself, there are prebuilt version of NetGuard available [here](https://github.com/M66B/NetGuard/releases).
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
* 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.
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)
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*