An out-of-spec DNS server implementation that helps me understand and control my internet usage.
The DNS server resolves queries based on rules I've set up. Essentially, I can configure certain categories of websites to only resolve at certain time periods.
For example, I could make it so reddit, HN, etc, only resolve for a 5 minute time period (either anytime or only in the mornings) every day.
The point of the server is to track my web usage across all personal devices, and then make conscious decisions to control my internet usage based on this data. (All personal devices are on the same tailscale VPN... that's how I ensure I am always using my DNS no matter the network I am on.)
It's still a WIP, but I've probably easily sunk over 40 hours on it by now. I also wrote a custom Rust async runtime (single-threaded) for fun.
The DNS server resolves queries based on rules I've set up. Essentially, I can configure certain categories of websites to only resolve at certain time periods.
For example, I could make it so reddit, HN, etc, only resolve for a 5 minute time period (either anytime or only in the mornings) every day.
The point of the server is to track my web usage across all personal devices, and then make conscious decisions to control my internet usage based on this data. (All personal devices are on the same tailscale VPN... that's how I ensure I am always using my DNS no matter the network I am on.)
It's still a WIP, but I've probably easily sunk over 40 hours on it by now. I also wrote a custom Rust async runtime (single-threaded) for fun.