This post was intended a week ago but then the week just happened and now here I am in the middle of the night jotting down the happenings with my Outreachy project.
In the last post (lemme check) we talked about basic app architecture and I tried explaining the logic of the app in the prior posts and what we intend to do.
During this tenure my time and energy has been devoted to contemplating on technical situations the app can face and avoid it from crashing, managing consistency with the database for it was shared by the application and background service for reads and writes, picking up proper data structures and scheduling the reads and writes in batches to save time, considering the maximum space a running app may need , how should Privacy Badger get the desktop browser filter settings, how it intends to update them periodically, and discussions on several other crucial points including the implementation of logic to identify trackers.
Rest was devoted on how to intercept the traffic without directly modifying the wifi setting to add proxy server (127.0.0.1:8090) manually. The suggestion was to understand how androidVpnService helps making that possible.
I studied apps like disconnect that uses openVPN and orbot that provides tor for android.
Till now its been figured out that while it is possible to direct one app’s traffic to a proxy server, getting a system-wide proxy on android has no simple way.
The strategy I tried was having a proxy server in place on the device i.e. locally hosted, the app will make a vpn connection to this server and the server will then connect to the internet. The bidirectional flow, http/https requests and logging the count per URL in the database is all been tracked at the proxy server’s end.
Also, it consumes resources of the system to maintain a consistent VPN connection too.
Since there is no way yet employed to create a system-wide proxy on the android device programmatically, presently the aim is to figure out other possibilities for the same , and if not make it app-specific. Once that is figured, then comes the tracker logic in picture.
Hoping that the issue is resolved soon and the next post hits the blog within few days describing the route we have finally chosen to move ahead with.
Here are couple of screenshots of the application presently, the right pane shows system wide URL requests been tracked:
So that has been all about work, might have missed out on finer details, I will try to cover them in the coming post.
Till then, keep hacking, stay secure , meanwhile I am like where is my cup of:
MUSIIC: Eddie Vedder