{"repo":"chrissnell/evan-proxy","free":true,"listed":false,"github":"https://github.com/chrissnell/evan-proxy","clone":"git clone https://github.com/chrissnell/evan-proxy.git","description":"A self-hosted proxy server designed for managing teenagers' phones","language":"Go","stars":39,"topics":[],"license":"BSD-2-Clause","category":"networking-infra","readme_excerpt":"evan-proxy I built this proxy out of parental necessity. I tried all of the prominent child web filtering solutions and they were all terrible and expensive. All I wanted was to keep my kids away from harmful content and to be able to quickly turn internet on and off for them, but these services all required installing their sketchy MDM profile and using some crappy app. I never knew what they were doing with my kids' info behind the scenes. I knew I could do better. I would create my own MDM profile with the excellent and free iMazing Profile Editor and manage it through SimpleMDM. I would use the profile to force my kids' phones through a proxy that I control. I would use NextDNS (free tier) to filter out the apps and categories of websites that I didn't want them to visit. The unsolved problem was the proxy server. There are a number of open-soruce proxy servers out there but none of them made it easy to turn on/off a single child's phone quickly and easily. And none of them would let me easily set a unique DNS resolver for each child--my kids get different levels of restriction depending on their age. I decided to write evan-proxy. It's a simple and secure web proxy with per-child DNS server selection, authentication, and logging. To make this work, follow this plan: 1. Set up evan-proxy on infrastructure of your choice. I run it on a homelab Kubernetes cluster and used the included Helm chart to install it, but you could easily run it on a single Raspberry Pi if you want","default_branch":null,"files":null,"tree":[],"storefront":"/r/chrissnell","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/chrissnell/evan-proxy/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}