What does HackerNews think of cloudflared?

Cloudflare Tunnel client (formerly Argo Tunnel)

Language: Go

It's not an issue anymore. Your main concerns are power and internet stability. Plus, upload speed. The rest can be worked out.

https://www.cloudflare.com/products/tunnel/

https://github.com/cloudflare/cloudflared

https://developers.cloudflare.com/cloudflare-one/connections...

Edit: If anyone is interested in self-hosting, it's stupid simple with cloudflared. I have a 2017 Google Pixelbook running Ubuntu on custom firmware that's serving a Flask-based website. It sits on my desk charging while connected to a guest wifi network. It receives a 100/100 Mobile PageSpeed score and takes 0.8 seconds to fully load.

An alternative to relying on your static IP (and all that comes with it, like needing a strong firewall and awareness/monitoring of activity there) would be to use the Cloudflared proxy/tunnel. https://github.com/cloudflare/cloudflared
Cloudflare already does this: https://github.com/cloudflare/cloudflared

It works with all NATs/CGNATs by connecting from the pi over a bidirectional WS connection. PI <-> WS <-> Cloudflare. SSL is done on the cloud, not on the pi.

Install any web server on the pi and "cloudflared" to proxy it.

https://developers.cloudflare.com/cloudflare-one/connections...

> This is similar to installing something under /usr/sbin/

As someone who's trying to get to grips with the Linux filesystem conventions, would you mind elaborating on a) why that's wrong, and b) what you would suggest instead? This reference[0] suggests that `/usr/sbin` is for "general system-wide binaries with superuser (root) privileges required" (and `/usr/bin` for those that don't require root privileges). I've therefore been using them in my homelab for binaries like the Cloudflare Tunnel Client[1]. Where instead should I have installed it?

* If to a "well-known location" that is commonly-used by convention, how should I find out what that is?

* If to a custom location of my choosing, how should I communicate its location to scripts/tools that _use_ that binary? I see later in your comment that you suggest "Add whatever folder to the user's PATH environment variable to make it easy to run.", but that doesn't seem like a scalable solution for a multi-user environment?

[0] https://askubuntu.com/a/308048

[1] https://github.com/cloudflare/cloudflared

I recently did something like this myself with an RPi 4 and an external drive over USB to replace Google Photos (with PhotoPrism). For tunneling (and custom domain) I used cloudflared which works surprisingly well: https://github.com/cloudflare/cloudflared. I wrote about it here: https://domh.dev/blog/replacing-google-photos-with-photopris...

That being said, I love that someone is working on making this stuff easier to do, it was finicky to get it setup myself. I would be backing it if I hadn't just done it already.

I wish Kubesail all the best and I hope they succeed.

Frequent user of argo/argo tunnel checking in. As far as I know, the network/lower level parts are not yet in the open, but the tunnel bits are:

- Tunnel (cloudflared): https://github.com/cloudflare/cloudflared

- Argo as ingress (k8s): https://github.com/cloudflare/cloudflare-ingress-controller/

I'm using Cloudflare's cloudflared [0] on all of my machines and it working well and does what you are looking for. Nice bonus is being able to collect metrics from each of the agents in Prometheus.

[0] https://github.com/cloudflare/cloudflared

I'm using cloudflared [0] for this. Allows me to have system level DoH and everything uses it (unless explicitly configured not to). Working on Linux machines (amd64 and aarch64) and MacOS.

The documentation is not great / accurate but with a bit of fiddling I have it running as a systemd service (launchctl on MacOS). I'm using the /metrics endpoint to get details in Prometheus on the stats.

0. https://github.com/cloudflare/cloudflared