InternetChowkidar is a tool that aggregates data on Internet Service Provider (ISP) blockages.
This initiative is designed to monitor and record instances where certain websites are blocked or restricted by different ISPs across various regions.
To achieve this, we’ll be building a CLI+GUI application in Go that users can run with minimal hassle, that will periodically check the availability of specific websites.
This data will then be compiled on a dedicated website, providing a comprehensive view of which sites are blocked by which ISPs in each region, with various methods of visualization.
We will allow users to look at the list of websites blocked by an ISP, or list of ISPs which block a website, making it easier for users to also make decisions regarding choosing ISPs and the like.
In the long term, we plan to add a web extension, better blocking detection, and tools to recognize the type of block each ISP implements for the website.
- Where did we start: We only had an idea, and didn't begin work on anything until the hackathon started
- What stage is it at now: We can report blocked sites via a CLI tool/Daemon, and all the data is visible on a website: https://internet-chowkidar.kat.directory
- How did we get here: We first designed the APIs to be consumed using OpenAPI/Swagger, and shared this among the team. The Frontend and CLI developers mocked data that matched the OpenAPI spec, and build the frontend. Once the backend was ready, we simply changed the Base URL and everything worked!
- What is working/not working: The API, CLI, and website work just fine, but we planned to have a GUI app and a Plugin as well, which we could not implement. We also planned to add a form for suggesting new sites to monitor, and an abuse reporting mechanism.
- Scope for improvement/features: We wanted to add graphs so people could correlate reports with events happening in Real Life, as well as integrate with the Internet Shutdowns API.
We also want to allow the user to report custom sites not in our list via the plugin/extension which would monitor any sites they visit in real-time.
Finally, we want to improve the detection heuristics to include more subtle censorship such as DPI (Deep Packet Inspection).
Repository URLs:
https://github.com/gnulinuxindia/internet-chowkidar - Backend API/CLI Tool
https://github.com/gnulinuxindia/internet-chowkidar-site - Frontend