NxFilter Tutorial
Tutorial Index

NxProxy for Android
We provide a remote filtering agent for Android.

You need to open TCP/80, TCP/443 port on NxFilter.


Install NxProxy on Android
You can install it from Play Store: https://play.google.com/store/apps/details?id=com.jahastech.nxproxy

NxProxy requires 'Contacts' permission. This is because we need Android usernames to differentiate users from each other.

After you set Server IP and Login Token, test your setup and then start it.


How it works
NxProxy for Android starts a VPN service on the device it is running on. It uses the VPN service to inspect DNS traffic. If there's an A or AAAA type DNS request, it queries to NxFilter to see if it's blocked or not. If it's blocked then it answers with 127.0.0.1. So, it's like a fake VPN which does not connect any VPN server. All other traffic except UDP/53 will be bypassed.

It has 5 minute cache for query results from its server.


NxFilter as a policy server
The Android version of NxProxy utilizes the DNS server set for its current network as its upstream DNS server. Therefore, when outside your local network, it does not send DNS requests to NxFilter. Instead, it sends Policy Queries to NxFilter to determine if a domain is blocked or not. For the Android version of NxProxy, NxFilter is a policy server rather than an upstream DNS server.

The Windows version of NxProxy uses NxFilter as its upstream DNS server.


With NxFilter in a local network
You can use it with NxFilter in a local network by setting up a port forwarding rule for TCP/443 to NxFilter on your router. In this scenario, NxFilter serves not only as a policy server but also as a DNS server for NxProxy. So, you could have a user authentication problem. To resolve this problem, you can create a default user that associates with the entire IP range of your network.


Bypassing specific apps
You may want to bypass some apps from filtering. You can add the package names of the apps you want to bypass into 'NxProxy > Android > Bypassed Apps'.