FWIW, I have been using it with Plex (just two users, me and my parents) and haven't gotten banned. The ToS are kind of unclear on whether this is allowed if I have to be honest.
https://old.reddit.com/r/PleX/comments/152wfdh/can_i_use_a_c...
Cloudflare threatened to terminate our $20k enterprise license last week for serving 50 TB of API JSON files last month (90% cache hits).
I moved half of the traffic to a new domain without a paid license to see what they say...
But on the flip side, this allows you to have a nice certificate on your outside connection without having to fiddle with letsencrypt or whathaveyou.
Can it be done? Sure. But do I want to spend money on this for my home lab if I can work around it? Not a chance.
I'm kinda sensitive to the "MITM as a service" argument, but for my use case, it's not a problem.
Afaik, every major registrar allows you to add an NS record for the _acme-challenge subdomain, allowing you to put the _acme-challenge subdomain on a custom, self-hosted DNS server.
That in turn allows you to make the permissions as specific as you'd like. Personally I just run powerdns in docker for this.
https://developers.cloudflare.com/ssl/origin-configuration/o...
I find fiddling with LE tedious because it has to be repeated too often.
Whatever happened to KISS?
https://developers.cloudflare.com/cloudflare-one/connections...
That said, personally I don't really have any devices that can use SSH but not a browser.
Read the docs, you can do it either way.
No headless boxes?
Also I wouldn't use Cloudflare Tunnels so this is a moot point.
It's encrypted between the browser and Cloudflare, but you can also create a cert and encrypt between Cloudflare and your origin server. (but that isn't mandatory)
– TLS termination mandatorily happens at Cloudflare (i.e. your traffic is mitm'ed). That's because this free product is meant as a gateway drug (aka a loss leader) to Cloudflare's WAF/Anti-DDOS products (which require TLS termination to happen on their side for technical reasons).
– Other TCP protocols (including SSH) require every client to run the software too. So if you were thinking about bypassing the TLS termination restriction by creating a TCP tunnel instead of an HTTP(S) tunnel you can't.
– Max 100 MB uploads for HTTP(S).
– No media servers allowed.
Otherwise it's a really good service!