Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1 2 След.
RSS
Предупреждение: неподдерживаемый браузер (Safari, macOS), UniFi Protect
 
Привет! Я только что настраиваю Protect и удивлён, что вход в Protect через Safari на macOS заблокирован. Unifi Video нормально работал в Safari, почему Protect нет? Есть ли какой-то способ обойти это? Внимание: неподдерживаемый браузер. Рекомендуем использовать Chrome или Firefox на компьютере. Если вы на мобильном устройстве, установите приложение UniFi Protect.
 
Похоже, возникла путаница с браузером Safari на macOS, поэтому решил поделиться информацией. Если попытаться войти в Protect через Safari на macOS, появится сообщение «Unsupported Browser» — дело в том, что Safari не поддерживает списки управления доступом (ACL), а они нужны для работы Protect.

Кстати, мой старый MacBook с Big Sur работает нормально, а новый MacBook с macOS Monterey выдает ошибки. Я пробовал устранять их по гайду — Fix macOS 12 Monterey errors с блога themacios. Частично помогло, но всё еще работает не идеально.

Это из-за проблем совместимости с новым macOS? Нужно ли ждать, пока Apple выпустит обновление для большей стабильности с внешними приложениями?
 
При локальном подключении мы всё равно используем WebRTC для видео, при этом локальный контроллер выступает в роли брокера вместо облака. На это есть несколько причин, но главная — сохранить как можно более схожие пути выполнения кода, что значительно упрощает поддержку и отладку.
 
Ладно, но вот... весь этот трёхэтапный обмен рукопожатиями необходим для работы гибридного облака, я понимаю, но что мешает Safari работать, когда ты подключаешься напрямую к контроллеру?
 
Пока нет. Мы будем следить за обновлениями Safari, но пока они очень медленно внедряют новые функции. До недавнего времени у них вообще не было WebRTC.
 
Я видел множество изменений в WebRTC, упоминавшихся в предварительных версиях Technology Preview, доступных на webkit.org. Есть ли среди них какие-то, которые исправляют несоответствующую стандартам реализацию WebRTC?
 
Я понимаю, что оригинального автора раздражает ситуация, но, мне кажется, ему стоит понять, что в целом Ubnt значительно опережает конкурентов в этом вопросе. Большая часть традиционного софта для CCTV/IP камер до сих пор устарела и ужасна в плане интерфейса, даже когда была новой.

Перед тем как выбрать UniFi Protect, я смотрел несколько «коммерческих» NVR-систем, которые стоят больше 1000 долларов за базовую модель, и не только они не поддерживали браузер Safari, но и для работы с клиентом нужно было устанавливать их фирменные расширения. Последней каплей стало то, что даже при использовании их проприетарного софта он чаще всего не работал или был таким медленным и глючным, что оставался совершенно неприемлемым.

Хотя я тоже хотел бы полноценной поддержки Safari, наличие надежной альтернативы в виде браузера Chrome — вполне приемлемое решение. Меня гораздо больше волнует отсутствие важных функций, которые не доступны вообще ни при каком интерфейсе или клиенте.

Это куда более серьезное ограничение, чем необходимость «задержать дыхание» и иногда запустить Chrome, если не получается использовать мобильное приложение или другие платформы. Очевидно, что виноват неполноценный WebRTC у Apple. Я думаю, что автор изначального поста не сталкивался с «радостями» общения с Apple в роли разработчика. Я сталкивался и могу понять UniFi в этом плане.

Apple известна тем, что ставит односторонние барьеры — они говорят, что хотят, а остальное игнорируют. Разработчики регулярно пытаются привлечь внимание Apple, но в ответ — тишина. Это полностью непрозрачные отношения: Apple свяжется с тобой только если сама по своему усмотрению решит, что хочет решить проблему или узнать о ней больше.

Я не оправдываю UniFi за другие вещи, например, отсутствие поддержки iPad в родном разрешении, но в данном случае они демонстрируют вполне разумный подход, который применяют почти все остальные разработчики.
 
Спасибо. Я уже пробовал, но это ничего не изменило. Устройство показывает «Подключено к облаку», но когда я выключаю Wi-Fi на мобильном и пытаюсь подключиться, появляется ошибка «Не удалось установить соединение, Err -2».

Как только я подключаюсь к Wi-Fi, всё работает (что, естественно).

А как это вообще должно работать? protect.ubnt.com выступает в роли динамического DNS и обновляется, чтобы указывать на публичный IP-адрес и порт?

@fg1921

- Когда вы отключаете Wi-Fi и переходите на сотовую связь: какой у вас мобильный оператор и модель телефона? Случайно не знаете, поддерживает ли ваш оператор IPv6 больше, чем IPv4?
 
Я никогда не занимался анализом протоколов, но, возможно, стоит этим заняться. На моём офисном компьютере для доступа в интернет нужно использовать прокси-сервер. И кроме этого, для моего компьютера нет никаких правил входящего или исходящего трафика. Я использую Chrome, чтобы зайти на protect.ubnt.com и смотреть поток с камеры. В домашней сети для моего Protect NVR нет никаких правил входящего трафика, и ограничений на исходящий трафик тоже нет. Я не понимаю, как Protect NVR устанавливает сессию с моим компьютером при входе из офиса. Я точно знаю, что офисный файрвол не пропускает никакой UDP-трафик. Есть ли какие-нибудь схемы потока данных и того, как устанавливаются сессии?
 
Хорошая аналогия, @LLigetfa.

И ваш клиент (мобильное приложение или protect.ubnt.com), и система Protect технически являются «клиентами» в традиционной модели клиент-сервер. Но когда вы подключаете свой телефон или браузер напрямую к системе Protect, мы фактически работаем как одноранговая (P2P) система.

У нас действительно есть резервный ретрансляционный сервер на случай, если метод P2P не сработает — он размещён у стороннего провайдера (Twilio). К нему обращаются только в том случае, если система исчерпала все возможные способы P2P-подключения.
 
Термин «за файрволом» очень общий и не относится к конкретным правилам. Если слишком придираться к деталям правил файрвола, то, да, это не сработает. Если у клиента есть свободный исходящий доступ и он инициирует соединение через файрвол, то файрвол пропустит входящий ответ. Облачный портал работает как посредник P2P, похожий на другие P2P-приложения. Если у вас есть правила, запрещающие P2P, эти правила могут также блокировать Protect.
 
Итак, как происходит передача данных? UBNT Cloud даёт команду моему Protect NVR установить исходящее соединение с моим Protect клиентом? Значит, если мой Protect клиент за файрволом, это не будет работать? Не думаю, что это так.

Мы используем WebRTC для соединения. Если вы технически подкованы, вам может быть интересно разобраться в деталях установления сессии WebRTC и обхода NAT. Кратко опишу здесь, как это работает в контексте Protect:

Если вы включаете облачный доступ в вашей системе Protect, она подключается к нашим облачным серверам. Это постоянное соединение с нашими серверами при этом почти не передаёт данных: в основном “пинг-понг”, чтобы связь оставалась живой. Когда вы открываете protect.ubnt.com, ваш браузер устанавливает второе соединение с нашими облачными серверами и запрашивает подключение к вашей системе Protect. Наши облачные серверы затем выполняют трёхстороннее рукопожатие, чтобы ваш браузер напрямую связался с вашей системой Protect, без необходимости пропускать видеоданные через серверы Ubiquiti.

На практике это не работает только тогда, когда пользователи добавляют исходящие правила файрвола, блокирующие нужные порты для связи, как уже говорил Коди.
 
Итак, как происходит передача данных? UBNT Cloud приказывает моему Protect NVR установить исходящее соединение с моим Protect клиентом? Значит, если мой Protect клиент за файрволом, это не сработает? Не думаю, что это так.
 
Верно; WebRTC использует случайные исходящие UDP-порты в рамках своей работы с сетью и обходом NAT, поэтому открыть конкретные порты специально для WebRTC невозможно.
 
Вся суть облачного сервиса — не открывать входящие порты. С Protect входящие порты в любом случае не статичны. Коди говорил о том, что ограничения на исходящий трафик могут помешать.
 
@UBNT-Cody

Я не помню, чтобы открывал какие-то входящие правила фаервола, разрешающие трафик к моему Protect NVR или Unifi Controller. Я думал, что Protect и контроллер сами «звонят домой», чтобы установить сессию и передавать данные через неё. Честно говоря, не совсем понимаю, как именно идёт передача данных.
 
@fg1921,

protect.ubnt.com занимается только аутентификацией и загрузкой ресурсов для интерфейса (в Chrome). Затем он использует WebRTC для установления прямого соединения между NVR и клиентом (браузером Chrome или телефоном) — можно представить это как согласование IP-адресов и портов для общения. После этого всё видео передаётся зашифрованным напрямую между NVR и клиентом.

Один из первых тестов, который я бы посоветовал — попробовать подключиться из удалённой сети через Chrome. Если получится, значит проблема скорее всего в мобильном устройстве. Если нет — скорее всего, дело в сетевом подключении самого NVR. В обоих случаях ваша сеть не должна явно блокировать исходящие подключения или WebRTC, поэтому часто пользователям, которые в своём шлюзе прописывают белый список исходящих портов, приходится использовать VPN.

Если проблемы не исчезнут, создайте новую тему, и мы поможем с мобильным подключением.
 
UBNT позволяет вам хранить собственные данные. UBNT предлагает гибридное облако, где вы проходите аутентификацию через их системы, а оно выступает в роли прокси для доступа к вашим данным. Источник: https://community.ui.com/questions/38d72fa6-2acf-471c-938e-75df2ec7966d#comment/b4895422-1ce9-4b19-a6cf-01087f8de108 Если у вас возникают проблемы, стоит подробнее описать вашу сетевую топологию и все задействованные компоненты.
 
Я думал, что @UBNT-TomS ясно объяснил, что Safari не полностью поддерживает WebRTC, а Protect требует браузер с полной поддержкой WebRTC. Мне тоже хотелось бы пользоваться Safari, но позиция, похоже, такова: либо используйте браузер с полной поддержкой WebRTC, либо не пользуйтесь Protect. Не думаю, что это катастрофа — использовать Chrome или другой браузер.
 
Спасибо. Я уже это сделал, но это ничего не изменило. Статус показывает «Подключено к облаку», но когда я выключаю Wi-Fi на телефоне и пытаюсь подключиться, возникает ошибка «Не удалось установить соединение, Err -2». Как только я подключаюсь к Wi-Fi, все работает (естественно). Но как это вообще должно работать? protect.ubnt.com выступает в роли динамического DNS и обновляется, чтобы указывать на публичный IP-адрес/порт?
Страницы: 1 2 След.
Читают тему (гостей: 1)