D-Link DCS-8000LH — notas sobre transformar uma câmera em nuvem em uma câmera IP gerenciada localmente
(github.com/bmork)- Registro de trabalho e conjunto de ferramentas para transformar a D-Link DCS-8000LH em uma câmera IP gerenciada localmente, sem registrá-la no app mydlink nem no serviço de nuvem
- O firmware original 2.01.03 é vinculado ao app mydlink e ao serviço de nuvem, e não oferece API HTTP local compatível com NIPCA nem streaming de vídeo por HTTP, HTTPS ou RTSP
- Os principais recursos alcançados incluem configuração de rede e senha de administrador via Bluetooth LE, streaming direto MPEG-TS por HTTP/HTTPS, streaming direto por RTSP e configuração da API NIPCA com suporte a ajustes como LED e nightmode
- O
dcs8000lh-configure.pyincluído usa o PIN Code da etiqueta da câmera e o endereço MAC Bluetooth para fazer busca de Wi-Fi, configurar Wi-Fi, exibir informações de rede, despejar informações do sistema, executar comandos na câmera, ativar telnetd, lighttpd e RTSP, e permitir firmware sem assinatura - A modificação completa exige alterar um dos sistemas de arquivos dentro da câmera, com risco de inutilizar a câmera se algo der errado
- Os alvos de teste e desenvolvimento são os firmwares v2.01.03 e v2.02.02, e o procedimento final completo foi testado apenas na v2.02.02
- O ambiente necessário é um PC Linux com controlador Bluetooth, Python 3, bluepy, Wi-Fi WPA2-PSK e senha,
mksquashfsdosquashfs-tools, além de um servidor tftp para backup ou um servidor web que receba upload de arquivos - Após a modificação, o streaming por HTTP/HTTPS pode ser acessado em
https://IPDaCâmera/video/mpegts.cgiouhttps://IPDaCâmera/video/flv.cgi, usando autenticação com o usuárioadmine o PIN Code da câmera como senha - Se você precisar apenas de RTSP, é possível ativar acesso RTSP permanente no firmware original da D-Link usando a opção Bluetooth
--rtsp, sem modificar o firmware - A partição
userdataé usada pelas ferramentas de nuvem mydlink, e o exemplo de atualização de firmware altera apenas essa partição, mantendo intactos o kernel e o rootfs do sistema operacional da câmera D-Link - O backup é necessário antes das alterações, e a partição
pibcontém dados específicos daquela câmera, como número do modelo, revisão de hardware, endereço MAC, bits de recursos, chave privada, PIN Code e senha - O servidor web local não é uma GUI web, mas fornece uma API direta de gerenciamento da câmera que exige autenticação; com a API NIPCA, a maioria das configurações da câmera pode ser controlada por ferramentas de linha de comando como
curl
1 comentários
Comentários do Hacker News
Dá para montar algo parecido com quase qualquer câmera IP ou câmera USB, com baixa latência e na qualidade máxima suportada pela câmera
Se houver interesse, posso organizar rapidamente esse tipo de configuração ou montar um repositório com os arquivos de configuração necessários
Não consigo encontrar, entre as tomadas inteligentes vendidas por aí, nenhuma que não se conecte à nuvem só para permitir controle de qualquer lugar. Eu não quero controlar de qualquer lugar, só quero controlar dentro da minha LAN
Edit: pelo menos na amazon.in não encontrei
https://www.amazon.in/s?k=smart+plugs
Ganhei de presente uma câmera IP chinesa sem marca que nem aparece em buscas e estou usando como câmera de segurança externa. A câmera grava continuamente no cartão SD, e eu não uso a opção de nuvem paga. Pelo app KP WIFICAM, consigo ver o vídeo ao vivo até pela internet
Também dá para ver ou baixar pelo menu as gravações dos últimos dias salvas no cartão SD, mas elas vêm divididas em blocos de 10 minutos, então para baixar só um dia inteiro preciso fazer download manual de quase 100 arquivos
Como eu poderia automatizar ou simplificar o download desses clipes do cartão SD para o notebook? Como o app móvel obtém a lista de gravações e baixa os arquivos?
Testei o Agent-DVR e ele encontrou o feed da câmera no formato ONVIF. Então imagino que o app móvel também use esse protocolo https://stackoverflow.com/questions/29159422/get-data-from-l..., mas existe alguma ferramenta utilizável no Linux sem que eu precise passar dias instalando ambiente de desenvolvimento e escrevendo código por conta própria?
Meu cônjuge usa nada menos que 4 apps diferentes, um para cada câmera, e cada um tem problemas absurdos, os cartões SD são minúsculos e as taxas de armazenamento em nuvem, mal divulgadas antes da compra, são ridiculamente caras
Até daria para comprar tudo de novo, mas se escolhermos produtos baratos é bem provável repetir o mesmo erro pela quinta vez
Mesmo que o software custasse 6 vezes mais que a câmera, ainda valeria a pena
Também seria bom existir um serviço em que alguém de um país de baixos salários ficasse olhando uma parede de câmeras e monitorando uma por uma em rodízio. É exatamente o tipo de serviço pelo qual empresas de segurança ocidentais cobram milhares de dólares por mês; parece quase um assalto
É muito frustrante que, para um produto tão importante quanto uma câmera IP, não exista nenhum produto de consumo que funcione localmente sem a nuvem do fabricante
Sei que dá para montar algo com Raspberry Pi, mas também quero recursos práticos de produto comum, como controle de motor e alertas eficientes de detecção de movimento
Eu pagaria facilmente 2 a 3 vezes o preço atual de produtos de consumo se não precisasse desenvolver tudo isso por conta própria
Eu rodo o Synology Surveillance Station num NAS local e controlo câmeras ReoLink. Elas giram e também têm detecção de movimento
Há até casos de uso mais avançados com câmeras IP locais. Ontem comprei o NVR “deep learning” da Synology, que suporta detecção de pessoas, reconhecimento facial, reconhecimento de placas e mais, além dos recursos padrão de zoom, pan e tilt das minhas câmeras Domar locais
Todas as minhas câmeras são modelos baratos do Aliexpress, nunca deixei nenhuma acessar a internet e nunca instalei apps suspeitos do fabricante. Só coloco na mesma VLAN o equipamento que roda Blue Iris e faço tudo relacionado às câmeras por ali
Suporta PTZ, detecção de movimento muito detalhada, notificações e até gatilhos para executar apps externos, então dá para integrar do jeito que você quiser
O custo total é baixo: cerca de US$ 30 por câmera PoE IP barata e uns US$ 80 pelo Blue Iris
Só não são muito divulgadas nos canais de varejo para consumidor final
Recomendo isso para quem odeia nuvem ou, por motivos válidos, quer uma configuração em duas camadas
Usei isso por 2 anos com várias Wyze Cam V2 e, tirando a sensibilidade em baixa luz pior que a da V3, é uma configuração bastante sólida e rápida, sem grandes problemas
https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks
Faz um tempo que procuro câmeras baratas na faixa de US$ 20 a US$ 30 que possam ser usadas com uma configuração confiável como o Dafang-hacks, mas ainda não encontrei uma alternativa boa
Já pensei em substituir as câmeras em nuvem, mas ainda preciso de gravação, notificações e armazenamento off-site
Hoje em dia, qual seria a melhor configuração para isso? Rodar Zoneminder em casa e usar Syncthing para fazer o armazenamento externo num VPS?
Este tutorial é extremamente detalhado
Impressiona o tempo que Bjorn deve ter investido para desenvolver essa técnica e documentá-la com tanto cuidado
Entendo que é legal e tem espírito hacker, mas considerando a seriedade do caso de uso, só consigo pensar: “por quê?”
Por que alguém iria querer depender de um hack de firmware numa câmera D-Link ruim como único meio de impedir que um ladrão roube coisas? Com algumas centenas de dólares, dá para comprar uma câmera IP decente da Amcrest, Dahua ou TP-Link e ligá-la via PoE; pelo menos assim existe alguma chance de identificar quem roubou
Se você não colocar uma câmera de alta qualidade no lugar certo, no fim só vai sobrar uma foto borrada de alguém roubando suas coisas. Digo isso por experiência
Câmeras servem para monitorar um espaço e, na melhor das hipóteses, gravar alguém fazendo algo ruim com detalhes suficientes para usar em tribunal. Se a qualidade for boa o bastante e o evento tiver sido gravado corretamente, funcionalmente não há grande diferença entre uma D-Link hackeada e uma câmera Nest
A D-Link também está encerrando o suporte de várias câmeras, o que significa desligar os serviços em nuvem, tornar as câmeras inúteis e forçar a compra de um produto novo
Estou tentando hackear uma DCS-5030L. Já extraí o firmware da SPI EPROM e fiz engenharia reversa do u-boot no Ghidra para tentar aplicar um patch no secure boot
Na foto, o ID foi parcialmente coberto em preto, mas o código de barras embaixo não foi
Não sei se esses valores são apenas uma forma codificada, mas vale prestar atenção
[1] https://github.com/markusfisch/BinaryEye
Para acesso puramente local em rede, tenho escolhido câmeras de rede com suporte a ONVIF e conectado ao Netcam Studio
https://www.netcamstudio.com/
Depois, basta bloquear o acesso da câmera IP à rede externa para impedir que ela entre em contato com os servidores do fabricante
Eu simplesmente uso uma câmera USB comum e faço streaming HTTP em MJPEG com o ustreamer
Funciona surpreendentemente bem, mas todo o processamento e armazenamento precisa ser implementado por conta própria. O que você obtém é só uma URL de screenshot e uma URL de streaming
Gostei dessa ideia
Todas as minhas câmeras IP enviam por FTP para o meu servidor, e o servidor faz upload imediato para o Google Drive. Funciona perfeitamente e sai barato, mas continua sendo o caso de câmeras chinesas conectadas à internet
Existe alguma lista de câmeras que possam ser convertidas desse jeito?
Originalmente eu queria USB→GDrive, mas descobri que o scanner Brother não permite sobrescrever as configurações de digitalização na tela via USB, enquanto via FTP permite
O que você está usando para essa transferência?
Criar uma rede separada só para as câmeras, por exemplo com um roteador Wi‑Fi dedicado
Descobrir para qual IP de servidor a câmera envia o vídeo
Conectar um PC ou Raspberry Pi na porta WAN desse roteador Wi‑Fi das câmeras
Atribuir a esse PC ou Raspberry Pi todos os IPs de servidor da câmera que você encontrou antes
Assim, você deve conseguir receber todo o tráfego que iria da câmera para o servidor, e depois pode processá-lo como quiser
Eu carrego um firmware customizado por sideload numa câmera Yi e a uso como uma câmera Wi‑Fi estável. Essa VLAN não tem nenhum acesso à internet
Passei muito tempo tentando fazer algo assim. Tudo o que encontro não tem suporte a FTP/SFTP e quer mandar fotos por LTE para um endereço de e-mail
O objetivo é só uma câmera meteorológica simples. Basta enviar uma imagem por minuto. Algo simples como uma webcam antiga dos anos 2000
Encontrei problemas sem solução com um rPi3 e uma câmera Logitech, fiquei frustrado e quase desisti