Bypass ISP DNS hijack by changing DNS port on Ubiquiti USG router

The Background We talked earlier about how certain ISPs block websites by using DNS hijack methods and I had recommended using DNSCrypt to bypass it. Well, as part of my home network overhaul, I moved over from the consumer grade (but still decent enough) Asus router over to Ubiquiti stack which, among other things, lead me to use their “Unify Security Gateway (USG)” as the router. Now, this router is pretty decent and is running Ubiquiti’s EdgeOS (derived from Vyatta OS, which in turn is based on linux/debian). [Read More]

ACT Fibernet blocks sites using deep packet inspection

ISPs in India have been blocking websites since many years. It’s often done without much sense to it. The goveernment/telecom bodies and courts sometimes tell the ISPs to block content instead of telling the same to the websites that host the content. Sometimes, the orders are to block certain urls and ISPs are over-enthusiastic in implementing the orders and block complete websites. It’s all frustrating but it becomes enraging when you find out that the ISPs are messing with your traffic in a less than ethical way to implement this. [Read More]

Indian ISP ACT Fibernet blocks bit.ly. Does DNS Hijacking

TLDR; Indian ISP ACT Fibernet (aka Beam Telecom) hijacks its users’ DNS requests (even when using public DNS servers like Google or OpenDNS) and blocks websites through this method. This has huge implications beyond website blocking and you can’t rely on anything that you are browsing anymore though there are ways available to make yourself safe. Aside: Indian ISPs are blocking benign/collateral damage sites now like bit.ly for ACT and behance. [Read More]

Fixing the problem of matplotlib and ggplot not showing graphs in python

While trying to make some graphs for one of my side projects recently, I came across an issue that both matplotlib and ggplot did not show up the graphs. I was able to save the graphs to an image file just fine, but if I tried to show them directly on screen while running the script, it just printed a number and exited. After tearing apart my hair for some time, I checked the backend being used by matplot lib: [Read More]

NTP Driver For ESP8266

I’m building a smartwatch project based around the new IoT posterkid on the block, ESP8266. Apart from the usual “smart” stuff, it does still need to display correct time :) and hence, the need for an ntp driver/client. I couldn’t find anyone working on that yet, so wrote up a quick and dirty implementation here: NTP Implementation for ESP8266 ESP8266 Smartwatch NTP Demo It still has a lot of stuff left to be done to make it good enough for the smartwatch project but it works. [Read More]