dgreif / ring

Unofficial packages for Ring Doorbells, Cameras, Alarm System, and Smart Lighting
MIT License
1.23k stars 164 forks source link

Video Stream is not Viewable With VPN (or AdGuard Pro) Enabled #662

Closed coledeb closed 3 years ago

coledeb commented 3 years ago

Hey there. I'm not entirely sure if this issue is fixable, but I wanted to report it anyways. I have the latest version of the Ring plugin (9.18.1), and it works great! My Ring 2 (battery powered) shows up as it should in my Home app on my iPhone, I am able to see snapshots when having the room open that I placed the Ring into, and I am able to view the livestream without trouble.

However, whenever I try to enable any form of VPN (or the AdGuard Pro DNS that creates a "VPN" connection on my iPhone), I no longer am able to view the livestream from the Doorbell. When I try, it spins and eventually goes to the "No Response, This camera is not responding" error. The logs from Homebridge are identical when I am attempting to connect without a VPN vs with a VPN (with the exception that attempting to connect with a VPN eventually returns the inactive message as shown below):

[6/7/2021, 9:57:34 AM] [Ring] Preparing Live Stream for Front Door [6/7/2021, 9:57:35 AM] [Ring] Waiting for stream data from Front Door (0.575s) [6/7/2021, 9:57:36 AM] [Ring] Received stream data from Front Door (1.657s) [6/7/2021, 9:57:36 AM] [Ring] Streaming active for Front Door [6/7/2021, 9:57:54 AM] [Ring] Live stream for Front Door appears to be inactive. (20.385s) [6/7/2021, 9:58:05 AM] [Ring] Stopped Live Stream for Front Door

This is consistent behavior, every time I have my VPN (or AdGuard DNS blocking) enabled, the Doorbell live feed will not show, and every time I have them disabled, it will show. I do not believe this is resulting from AdGuard DNS blocking specific requests, as I attempted to whitelist every domain that was blocked while opening the stream, and the behavior did not change (also, my actual VPN does not attempt to block requests, and the behavior still occurs when this is turned on and AdGuard is disabled).

dehness commented 3 years ago

Didn't notice this before but the same results for me when testing.

dgreif commented 3 years ago

@coledeb to clarify, are you running a VPN on your phone? If so, this is likely an issue with HomeKit not being able to send the stream properly

coledeb commented 3 years ago

@dgreif I tested it with both a traditional VPN app/connection (Windscribe for iOS) and with AdGuard Pro, which is a DNS based adblocking solution for iOS. AdGuard does utilize a "VPN" profile on my Phone to work when turned on. They describe it in the app as a "pseudo" VPN that uses their DNS based solution when enabled. The live feed would not load while either AdGuard or Windscribe were enabled.

I assume if the live feed issue is rooted in simply having a "VPN" enabled at all on my iPhone, that no amount of whitelisting domains in Adguard's block list would allow for it to work then? I did monitor which domains were being blocked in AdGuard while attempting to start the feed and whitelisted them, but it didn't change the behavior.

dgreif commented 3 years ago

Unfortunately I don't think there is anything I can do from the plugin to fix this issue. The problem likely lies in homebridge or HomeKit.