cloudflare / cloudflared

Cloudflare Tunnel client (formerly Argo Tunnel)

Home Page:https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

💡Self hosted Cloudflare Tunnel server side

ShiinaRinne opened this issue · comments

Describe the feature you'd like
In certain regions, using Cloudflare Tunnel may introduce significant latency.
Therefore, I’m interested in deploying the backend on my own server, which is closer to the visitors, instead of accessing through Cloudflare’s servers.

Describe alternatives you've considered
I’ve tried nps and also considered writing my own management tools to implement this feature with frp.
However, I ultimately want to do this because I prefer the way Cloudflare Tunnel works and aim to emulate it.

Additional context
If Cloudflare Tunnel could support self-hosting of the backend, it would likely attract many users who are facing similar latency issues. This feature would enhance the flexibility and adaptability of Cloudflare Tunnel, making it an even more powerful tool for a wider range of applications.

I'm sorry that I have no experience with Go or related fields, so I’m not sure where to start implementing this feature after briefly reviewing the code

Hello,
You can use Docker to create backend. You can also create frontend in Docker, too. Then expose your frontend via Cloudflare Tunnel.

Hello, You can use Docker to create backend. You can also create frontend in Docker, too. Then expose your frontend via Cloudflare Tunnel.

Thank you for your reply~
But after I posted this issue, I did some more searching, and it seems that the server side of Cloudflare Tunnel is closed source.

What you’re suggesting seems to be deploying a backend service in the intranet on my own, and then making it public to the internet through Cloudflare Tunnel, but this is not what I’m looking for.

Similar to the server and client in FRP, Cloudflared is the client side, and my idea is to deploy the server side on my own server, then manage it directly from the Zero Trust panel, or generate a private site for configuration.
If this feature is supported, I think it's not a problem if it's closed source. But I’m not sure if Cloudflare will support this method, and now I think there’s almost no hope.

Although I have the idea of reverse engineering, and I have done some simple reverse engineering work before, but I don’t have much experience, and I can’t implement this kind of service just by analyzing the code of Cloudflared.

Cloudflared heavily relies on multiple Cloudflare services, therefore it is not possible to self-host the backend, you wouldn't even have enough hardware power for that 😉. Therefore, I will close this ticket since it is not possible to be done.

Wish you the best!