I’m also interested. Ubuntu 64bit.
Very Interested.
Thanks!
Still interested in testing any builds if available!
The fix has been confirmed by people in this thread. It’ll be live next week.
@StSimm1 I just tested 1.19.1.2589 and still see Cloudflare’s IPv6 address in the dashboard. X-Forwarded-For definitely shows up in the verbose logs, but what is displayed in the dashboard is Cloudflare’s IPv6 address since I have cloudflare connect to plex over IPv6 instead of IPv4.
Here’s a snip from the verbose log
Mar 31, 2020 15:49:46.747 [0x80ba23d00] DEBUG - Request: [[2400:cb00:4:1024::a29e:fff6]:34686 (WAN)] GET /:/timeline?playbackTime=237000&time=253000&duration=1336768&state=playing&ratingKey=12580&key=%2Flibrary%2Fmetadata%2F12580&playQueueItemID=4607900 (68 live) TLS GZIP Signed-in Token (Jimmy.ahern)
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * Accept => application/xml
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * Accept-Encoding => gzip
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * Accept-Language => en
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * CDN-Loop => cloudflare
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * CF-Connecting-IP => 75.128.20.110
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * CF-IPCountry => US
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * CF-RAY => 57cda0230d0a966c-SJC
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * CF-Visitor => {“scheme”:“https”}
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * Connection => Keep-Alive
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * Host => hostname
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * User-Agent => Roku/DVP-9.20 (509.20E04807A)
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * X-Forwarded-For => 75.128.20.110
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * X-Forwarded-Proto => https
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * X-Plex-Advertising-DoNotTrack => 0
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * X-Plex-Advertising-Identifier => a23ab338-e7a6-5605-93bc-daa21da27dc8
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * X-Plex-Client-Capabilities => videoDecoders=h264{profile:high&resolution:1080&level=41};audioDecoders=aac{channels:2},ac3{channels:6}
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * X-Plex-Client-Identifier => 91a34dc158009c157f9a0d36dc2d7134
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * X-Plex-Device => Roku Streaming Stick+
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * X-Plex-Device-Name => Roku Streaming Stick+
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * X-Plex-Device-Vendor => Roku
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * X-Plex-Features => external-media
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * X-Plex-Model => 3810X
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * X-Plex-Platform => Roku
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * X-Plex-Platform-Version => 9.x
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * X-Plex-Product => Plex for Roku
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * X-Plex-Provides => player,pubsub-player
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * X-Plex-Token => xxxxxxxxxxxxxxxxxxxx
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * X-Plex-Version => 6.4.14.6276-d1658ba87-Plex - Stream Free TV & Movies
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * playbackTime => 237000
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * time => 253000
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * duration => 1336768
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * state => playing
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * ratingKey => 12580
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * key => /library/metadata/12580
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - * playQueueItemID => 4607900
Mar 31, 2020 15:49:46.747 [0x80ba23d00] VERBOSE - Auth: tokens were refreshed recently enough
Mar 31, 2020 15:49:46.748 [0x80ba23d00] DEBUG - Client [91a34dc158009c157f9a0d36dc2d7134] reporting timeline state playing, progress of 253000/1336768ms for guid=, playbackTime=237000ms ratingKey=12580 url=, key=/library/metadata/12580, containerKey=, metadataId=12580, source=
Mar 31, 2020 15:49:46.749 [0x80ba23d00] DEBUG - Play progress on 12580 ‘Insheeption’ - got played 253000 ms by account 1345008!
Mar 31, 2020 15:49:46.750 [0x80ba23d00] DEBUG - [Now] User is XXXXX (ID: xxxxx)
Mar 31, 2020 15:49:46.750 [0x80ba23d00] DEBUG - [Now] Device is Roku (Roku Streaming Stick+).
Mar 31, 2020 15:49:46.750 [0x80ba23d00] DEBUG - [Now] Profile is Roku-7.x
Mar 31, 2020 15:49:46.750 [0x80ba23d00] DEBUG - [Now] Updated play state for /library/metadata/12580.
@ps0ps - The issue raised in this thread is that X-Forwarded-For headers with IPv6 addresses didn’t work (when connecting through IPv4)
Your issue is the inverse - IPv6 connection, but an IPv4 address in the header.
I’ll take a peek tomorrow, but your issue is not one I looked to fix in the recent release.
@stsimm1 It is also to have IPv6 connection and IPv6 in the address header as well. You can see the case in this log snippet.
Mar 31, 2020 15:49:46.923 [0x80ba23d00] DEBUG - Request: [[2400:cb00:14:1024::a29e:4a1b]:26698 (WAN)] GET /:/timeline?audioStreamID=1462166&bufferedTime=183281&duration=5165
760&guid=com.plexapp.agents.thetvdb%3A%2F%2F362540%2F1%2F1%3Flang%3Den&key=%2Flibrary%2Fmetadata%2F173721&playbackTime=19979&playQueueItemID=4608698&ratingKey=173721&state=p
laying&time=19719&token=xxxxxxxxxxxxxxxxxxxx (69 live) TLS GZIP Signed-in Token (USERNAME)
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * Accept => application/xml
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * Accept-Encoding => gzip
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * Accept-Language => en-us
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * CDN-Loop => cloudflare
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * CF-Connecting-IP => 2600:8806:8200:bf0:a0c5:fd89:7cac:d4d
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * CF-IPCountry => US
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * CF-Pseudo-IPv4 => 254.93.197.104
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * CF-RAY => 57cda0235f19560a-ORD
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * CF-Visitor => {“scheme”:“https”}
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * Connection => Keep-Alive
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * Host => HOSTNAME
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * User-Agent => Dalvik/2.1.0 (Linux; U; Android 9; SHIELD Android TV Build/PPR1.180610.011)
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Forwarded-For => 2600:8806:8200:bf0:a0c5:fd89:7cac:d4d
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Forwarded-Proto => https
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Advertising-DoNotTrack => 0
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Advertising-Identifier => bfba0cf2-b56d-4d80-95ee-71e7dd9a81f5
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Client-Identifier => 47ffceb5fad32f1e-com-plexapp-android
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Client-Identifier => 47ffceb5fad32f1e-com-plexapp-android
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Device => SHIELD Android TV
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Device-Name => SHIELD Android TV
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Device-Screen-Density => 320
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Device-Screen-Resolution => 1920x1080 (Android TV)
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Device-Vendor => NVIDIA
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-DRM => widevine:video
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Features => external-media
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Model => sif
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Online => 1
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Platform => Android
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Platform-Version => 9
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Product => Plex for Android (TV)
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Provider-Version => 1.3.0
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Provides => player,pubsub-player,controller
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Token => xxxxxxxxxxxxxxxxxxxx
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Username => USERNAME
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Version => 7.30.1.16475
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * audioStreamID => 1462166
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * bufferedTime => 183281
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * duration => 5165760
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * guid => com.plexapp.agents.thetvdb://362540/1/1?lang=en
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * key => /library/metadata/173721
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * playbackTime => 19979
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * playQueueItemID => 4608698
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * ratingKey => 173721
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * state => playing
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * time => 19719
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * token => xxxxxxxxxxxxxxxxxxxx
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Client-Identifier => 47ffceb5fad32f1e-com-plexapp-android
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - * X-Plex-Token => xxxxxxxxxxxxxxxxxxxx
Mar 31, 2020 15:49:46.923 [0x80ba23d00] VERBOSE - Auth: tokens were refreshed recently enough
@ps0ps I don’t have your problem, but, I have shut-off Pseudo IPv4 functionality in Cloudflare and changed the X-Forwarded-For line in nginx to make use of the ngx_http_realip_module (which you need to have compiled, I’m not sure if it is usually compiled with it), iow changed this
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
to this
proxy_set_header X-Forwarded-For $http_x_forwarded_for,$realip_remote_addr;
I’m not sure if you’ve done this already (or equivalent, if you’re using a different server for reverse proxy purposes) or even if it’s made a difference for me (I made this change, saw good results, but only then noticed that Plex Media Server had updated itself to 1.19.1.2589 and read the changelog) but figured it couldn’t hurt to mention it.
X-forwarded-for is already set. I don’t need to do the real ip mods. Also why would you need to use nginx when CF can speak directly to plex. Just more things to break and more data copies wasting memory bandwidth.
I finally got the update. Working perfectly! Thanks again for fixing such a long-standing bug. <3
Set in what, exactly, if you aren’t using a reverse proxy? Cloudflare, I guess, but they give you little control there. Do you actually have need of the Pseudo IPv4 functionality? Any case, as for me, I don’t have a choice but to run a reverse proxy, as I am running other sites/domains on the same standard http and https ports, so I need to the reverse proxy to send Plex traffic where it needs to go. As far as ‘waste’ goes, it doesn’t appear to affect my use case negatively, properly configured (proxy_redirect and proxy_buffering set to off).
since I’m using v6 I can just have CF speak directly to plex over with v6 without a reverse proxy.
So glad this is finally out! Thank you!
How are you supposed to define IPv6 networks/addresses in the “LAN Networks” section of the settings? I’ve tried defining both netmasks and specific addresses (with and without surrounding square brackets) but the IPv6 clients seem to always show as “Remote”.
EDIT: Found this related post
@stsimm1 Any idea when the issue of an IPv6 connection speaking to plex but X-Forwarded-For has an IPv4 or IPv6 address in it might be addressed so we can see the real ip the end user is connecting from?
@stsimm1 Ping on this? Shouldn’t be too hard to get this resolved if you solved it for IPv4.
Thanks
Please oh plex fix this mighty Plex Admins
This is still not working for me even on IPv4. Running caddy reverse proxy that is showing the correct X-Forwarded-For IP of my remote client through Wireshark trace. I’m also using Cloudflare and already did Pseudo IPv4 Overwrite headers.
same this does not work even on ipv4
eagerly awaiting a solution
Also having this issue in 2025 and posted here: