CFSworks / shrdvr

Tools for interfacing with Samsung SHR-brand (and SHR-based) SmartViewer DVRs
5 stars 1 forks source link

Samsung SHR-series DVR tools

This repository contains some Python scripts for communicating with Samsung SHR-series DVRs that speak the SmartViewer protocol.

These DVRs DO contain an RTSP server, however it's very poorly-implemented and extremely sensitive to deviations in the messaging format, making it impossible to view with an existing RTSP client. In my testing I have found the following problems:

Tools in this repository

This repository provides 2 scripts:

Caveats

Supported DVRs

I'm not sure how many DVRs are supported here. I've only tested against the SRD-1650DC. Strings from one of Samsung's DLLs suggest the following model numbers follow this protocol as well:

Getting help

I make no promises about my ability to provide support, but please provide packet captures (tcpdump, Wireshark, ...) when reporting issues here on GitHub.

PSA

Please keep your DVR devices off of the public internet! Devices like DVRs, IP cameras, and the like are notorious for having extremely poor security. Malware threats are starting to target these kinds of devices exclusively, and the upload bandwidth from these devices alone has been enough to mount record-breaking cyberattacks against critical internet infrastructure. If you leave your device on the internet, bad people can and will get into it!!!

I recommend installing a good software solution to watch your CCTV systems for you instead of putting the CCTV systems on the internet directly. Expose it to the internet if you must, but update often.