Zero-Trust TCP not working for Moonlight
I have a moonlight and sunshine system to remote access my computer and play video games. I cant port forward my ip because my ISP does not allow me to configure ipv4(i dont have a public ipv4). I decided to use cloudflare and bought myself a domain. The https tunnels work but not the TCP ones.
When i try to connect to the TCP tunnel i get a timeout issue using moonlight:
I dont get this issue when using a ngrok link.
Here is my TCP configuration :
21 Replies
also here's my cloudflared logs :
?tunnel-tcp
Cloudflare Tunnels use Cloudflare's proxy, which only supports proxying HTTP Traffic. If you want to use non-http applications over your tunnel, Cloudflare has a few other options:
For a few specific protocols such as SSH, RDP, and SMB, Cloudflare has guides for them here:
https://developers.cloudflare.com/cloudflare-one/applications/non-http/
For Arbitrary TCP like Minecraft, MySQL, and any other tcp application, Cloudflare has a guide here: https://developers.cloudflare.com/cloudflare-one/applications/non-http/arbitrary-tcp/
For Arbitrary UDP like Minecraft Bedrock, SMTP, and any other udp application, you will need to use Private Networking with WARP: https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/private-net/connect-private-networks/
Please note for all of these except SSH and VNC which can be browser-rendered, you will either need to use cloudflared (Cloudflare's tunnel daemon) on the client machine running in the background or Private Networking with WARP, and have WARP installed on the client machine logged into your Zero Trust Team.
isnt this same as doing it on the dashborad ?
The key part is needing to have cloudflared running on your local machine
i do have it running
cloudflared.service is running in the background
it works for https
On the server or the client machine you are trying to access from?
client machine
and cloudflared running on host
How are you connecting from the client machine?
by entering moonlight.klownie.me as the ip
isnt the whole point being able to access the ressouce via a website link
On the client you are running
cloudflared tunnel --hostname moonlight.klownie.me --url tcp://localhost:7870
then the application points to localhost:7870
?
Only for HTTP/S tunnelsah
then whats the point of configuring the tcp on the dashboard if you cant use it ?
You can use it. It is just different ways to access TCP and UDP
so just entering moonlight,klownie.me does not allow me to acces the tcp throught the internet
i cant make a request like this then ?
http://moonlight.klownie.me:47989/serverinfo?uniqueid=0123456789ABCDEF&uuid=3980cd91395e4600b4e9d2bab92ca862
Correct
but why
ngrok can do it
this prevents me from just sharing links to be able to access the cloudflare ressources
forcing the client to have cloudflare
That is the way tunnels are designed
then how does ngrok do it ?
Not sure but their system is designed to be open vs tunnels which are not
ok
ill make it solved then
actually i dont know how to do that
can you do it
Done