Local Cache server

My family recently switched from a low-speed uncapped service to a relatively High speed capped service.

I want to build a local cache server.This is to reduce traffic on the link from my home to my isp.
It would be really neat if I could manually access cached multimedia content, however, this is not a requirement.

I have no idea where to start though? Does anyone have any suggestions for a user-friendly setup I can try to implement?

Knowledge base:
Java -(intermediate to advanced)
c-(elementary -intermediate specialising in embedded systems)
CPP-elementary
python-elementary
networking - very very basic/theoretical

Im willing to write the thing myself but i feel like that may take a while.:confused:

Https kills caching and filtering unless you implement a proxy server and register certs locally. Browser authors are working hard to make even authorized mitm problem.

Deep packet inspection, proxying, caching and filtering can still be done but https is making it tough to stop shit at the firewall.

1 Like

I will admit my ignorance here.

But surely there is a way to only download one copy of that 1080p cat video from youtube that my mom will play 15 times on all her devices.

Sure. And how do you know what the content is if its encrypted? Cant cache it if its just random unintelligible data.

You'd have to man in the middle the connection with your own certificates on the client side.

Most multimedia is cached anyway locally on the persons computer. (see chrome://cache for an example)

That's essentially what I want to do.When HTTP sends out its conditional get, I want my (MITM)/cache server to service the request.

Do you know of any pre packaged suit/service i might use to implement this.

Put a squid proxy on pfsense or something, generate your own certificate and inject them into all your computers and devices (might be hard on certain mobile devices) and use squid to hijack the traffic as it leaves and enters the network.

Make sure anyone using the network is aware that your intercepting their secure traffic though, as there is sometimes legal ramifications if you do not.

I dont know of any simple setup all in one package.