I just adapt the code from [JS-IPFS-Gateway](github.com/ipfs/js-ipfs/tree/master/src/http/gateway) to work in Service Worker. So there can be an IPFS gateway running in user’s browser.
It’s basically a static website, so it’s very cheap and easy to host. You can even host it in a raspberry pie, no Go or JS environment is required.
But it still requires a domain, that enables HTTPS for Service Worker.
I’ve hosted one https://ipfsgateway.xyz/
But I’m using a server in China, so the government will block it soon I think.
The code is here and it’s MIT licensed GitHub - linonetwo/ipfs-browser-gateway: An IPFS gateway without server, by utilizing service worker. You can try it in localhost or host one your self!