Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Experience to date? #5

Open
aniqueta opened this issue Mar 8, 2021 · 6 comments
Open

Experience to date? #5

aniqueta opened this issue Mar 8, 2021 · 6 comments

Comments

@aniqueta
Copy link

aniqueta commented Mar 8, 2021

Hi @danielewood Thanks for creating this. Not an issue per se, and I’m curious about unintended consequences of using this. I read that CF is not keen on using its network for Plex, and they may ban zones and IPs associated with high bandwidth usage.

What has been your experience to date, assuming a large amount of video bandwidth goes through the tunnel? How often do you change your tunnel URL? And, do you have other CF services associated with the same origin IP? Thanks!

@danielewood
Copy link
Owner

danielewood commented Mar 14, 2021

I would guess that CloudFlare would be less likely to have an issue with using Argo for this purpose than normal service endpoints.

My reasoning is that trycloudflare.com is a TEST environment, so cloudflare is less likely to mind traffic like this as it provides useful data for testing against.

It is certainly more difficult to ban individuals for this usage as there are no accounts/domains. It would be trivial for CloudFlare to just drop the X-Plex-Token header for trycloudflare.com and break all Plex sessions going over Argo. That they haven't done so indicates that the activity does not yet rise to the level of annoyance for them to take any actions.

That said, who knows? 🤷🏻‍♀️

@aniqueta
Copy link
Author

@danielewood I've been testing this, and interestingly compared to a direct connection, Argo makes Plex quicker to load a library (lower latency) but less performant in playback (~ 50% less bandwidth; intermittent buffering). Plex's automatic bandwidth adjustment doesn't seem to be aggressive enough. Did you experience something similar, and would you have any suggestions for optimization? This may just be the nature of routing via CF in my case. Thanks.

@duceduc
Copy link

duceduc commented Apr 13, 2021

I believe I have setup the cloudflared correctly on a rpi3. I can use domain and login via a browser. How do I configure the mobile app to use this custom domain?
In the gui plex settings, I can see the domain added to Custom server access URLs tab.

@danielewood
Copy link
Owner

@danielewood I've been testing this, and interestingly compared to a direct connection, Argo makes Plex quicker to load a library (lower latency) but less performant in playback (~ 50% less bandwidth; intermittent buffering). Plex's automatic bandwidth adjustment doesn't seem to be aggressive enough. Did you experience something similar, and would you have any suggestions for optimization? This may just be the nature of routing via CF in my case. Thanks.

Plex auto adjustment probably won't work. You'll have to set your client to use a max bandwidth to force your server to transcode the video.

I have watched what happens with my Plex server and as soon as a client starts a video without transcoding, CF caches the entire video immediately.

Not a problem for me with a 100Mbps upload and clients with equal or better download speeds. I should probably add this as a note to the readme.

@danielewood
Copy link
Owner

I believe I have setup the cloudflared correctly on a rpi3. I can use domain and login via a browser. How do I configure the mobile app to use this custom domain?

In the gui plex settings, I can see the domain added to Custom server access URLs tab.

Turn off WiFi on your phone and your app should still connect. The script calls to the Plex API and updates the access URLs; this means your phone should access the Plex server via any route or can.

If it works with WiFi off, you're good to go. You may need to kill the app to force a url refresh.

The order of precedence is, IIRC:

  • L2 broadcast/bonjour
  • Same subnet (if advertised in the access urls)

After that, I think it just tries all the other URLs and sees who replies.

@duceduc
Copy link

duceduc commented Apr 24, 2021

Ok. It was a setting user error. I had to uncheck Limit Cellular Data in the mobile app. Now it is playing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants