GitPedia
Ullaakut

Ullaakut/cameradar

Cameradar hacks its way into RTSP videosurveillance cameras

30 Releases
Latest: 3d ago
v6.2.0Latest
UllaakutUllaakut·3d ago·June 16, 2026
GitHub

📋 What's Changed

  • docs: add instructions on what targets to test against by @Ullaakut in https://github.com/Ullaakut/cameradar/pull/418
  • Bump docker/login-action from 3 to 4 in the all group by @dependabot[bot] in https://github.com/Ullaakut/cameradar/pull/420
  • Bump the all group with 2 updates by @dependabot[bot] in https://github.com/Ullaakut/cameradar/pull/422
  • feat: support http tunneled rtsp by @arryllopez in https://github.com/Ullaakut/cameradar/pull/419
  • Bump google.golang.org/grpc from 1.79.2 to 1.79.3 by @dependabot[bot] in https://github.com/Ullaakut/cameradar/pull/424
  • Bump github.com/bluenviron/gortsplib/v5 from 5.4.0 to 5.5.0 in the all group by @dependabot[bot] in https://github.com/Ullaakut/cameradar/pull/425
  • Bump github.com/urfave/cli/v3 from 3.7.0 to 3.8.0 in the all group by @dependabot[bot] in https://github.com/Ullaakut/cameradar/pull/426
  • Bump github.com/bluenviron/gortsplib/v5 from 5.5.0 to 5.5.1 in the all group by @dependabot[bot] in https://github.com/Ullaakut/cameradar/pull/427
  • + 10 more

New Contributors

  • @arryllopez made their first contribution in https://github.com/Ullaakut/cameradar/pull/419
  • @whiteboxsolutions made their first contribution in https://github.com/Ullaakut/cameradar/pull/421
  • @Noethix55555 made their first contribution in https://github.com/Ullaakut/cameradar/pull/440
  • Full Changelog: https://github.com/Ullaakut/cameradar/compare/v6.1.1...v6.2.0
v6.1.1
UllaakutUllaakut·3mo ago·March 9, 2026
GitHub

🐛 Critical bug fix

  • fix: command/flags to prevent subcommand being required by @Ullaakut in https://github.com/Ullaakut/cameradar/pull/411

📦 Misc

  • Bump the all group with 4 updates by @dependabot[bot] in https://github.com/Ullaakut/cameradar/pull/401
  • Bump go.opentelemetry.io/otel/sdk from 1.38.0 to 1.40.0 by @dependabot[bot] in https://github.com/Ullaakut/cameradar/pull/404
  • Bump goreleaser/goreleaser-action from 6 to 7 in the all group by @dependabot[bot] in https://github.com/Ullaakut/cameradar/pull/402
  • feat: add codeowners, fix typos, fix license badge by @Ullaakut in https://github.com/Ullaakut/cameradar/pull/407
  • docs: more precisions in contributing guide by @Ullaakut in https://github.com/Ullaakut/cameradar/pull/408
  • Bump the all group with 2 updates by @dependabot[bot] in https://github.com/Ullaakut/cameradar/pull/409
  • docs: remove config section in favor of wiki, add links to wiki by @Ullaakut in https://github.com/Ullaakut/cameradar/pull/412
  • Full Changelog: https://github.com/Ullaakut/cameradar/compare/v6.1.0...v6.1.1
v6.1.0
UllaakutUllaakut·3mo ago·February 28, 2026
GitHub

📋 What's Changed

  • fix: always add leading slash to routes by @Ullaakut in https://github.com/Ullaakut/cameradar/pull/397
  • feat: tui mode improvements by @Ullaakut in https://github.com/Ullaakut/cameradar/pull/395
  • feat: add version subcommand to help with issues by @Ullaakut in https://github.com/Ullaakut/cameradar/pull/400
  • feat: add masscan discovery backend by @Ullaakut in https://github.com/Ullaakut/cameradar/pull/403

📦 Maintenance

  • Bump the all group with 3 updates by @dependabot[bot] in https://github.com/Ullaakut/cameradar/pull/399
  • Bump the all group with 4 updates by @dependabot[bot] in https://github.com/Ullaakut/cameradar/pull/398

New Contributors

  • @dependabot[bot] made their first contribution in https://github.com/Ullaakut/cameradar/pull/399
  • Full Changelog: https://github.com/Ullaakut/cameradar/compare/v6.0.2...v6.1.0
v6.0.2
UllaakutUllaakut·4mo ago·February 1, 2026
GitHub

📋 What's Changed

  • feat: small UI improvements by @Ullaakut in https://github.com/Ullaakut/cameradar/pull/394
  • Added build metadata support (version, commit, date) with display methods
  • Implemented startup configuration logging for plain/debug mode
  • Added Ctrl+C (SIGINT) handling in TUI mode to gracefully cancel operations
  • Reformatted log output to display timestamp first and normalize log levels to 4 characters
  • fix: docker image tags
  • Fixed Docker image tags in goreleaser to include "v" prefix
  • Full Changelog: https://github.com/Ullaakut/cameradar/compare/v6.0.1...v6.0.2
v6.0.1
UllaakutUllaakut·4mo ago·February 1, 2026
GitHub

📋 What's Changed

  • chore: resize cameradar logo by @Ullaakut in https://github.com/Ullaakut/cameradar/pull/387
  • fix: no longer give up on detecting auth type when getting a 401 by @Ullaakut in https://github.com/Ullaakut/cameradar/pull/391
  • Adds AuthUnknown enum value to gracefully handle unknown/undetected authentication states instead of treating them as fatal errors
  • Implements a custom RTSP DESCRIBE probe (probeDescribeHeaders) that retrieves response headers even on error responses, working around limitations in the gortsplib library
  • Adds fallback authentication detection using case-insensitive substring matching when structured header parsing fails
  • Implements a retry mechanism with 5 attempts for 503 Service Unavailable responses during stream validation
  • Updates route handling to support paths without leading slashes and adds empty route support for default paths
  • Full Changelog: https://github.com/Ullaakut/cameradar/compare/v6.0.0...v6.0.1
  • + 1 more
v6.0.0
UllaakutUllaakut·4mo ago·January 27, 2026
GitHub

📦 Highlights

  • Rewrote core scanning and attack flows into modular, testable components with clear interfaces.
  • Replaced the legacy curl-based RTSP stack with a Go RTSP client for better reliability and maintainability.
  • Introduced a new UI system with TUI, plain, and auto modes, plus progress tracking and summaries.
  • Added structured reporting and M3U output generation.

📦 CLI and UX

  • Replaced the previous CLI parsing with urfave/cli and improved validation.
  • Added --skip-scan mode to bypass discovery and attack known targets directly.
  • Added --ui mode selection and enhanced interactive/non-interactive behavior.
  • Improved logging and error reporting across steps.

📦 Architecture and Core

  • Introduced a new App orchestration layer with explicit dependencies and context-aware execution.
  • Added typed steps, progress messages, and summary helpers.
  • Added target loading from files and more robust target parsing.
  • Added a worker pool to parallelize attacks safely.

📦 Scanning

  • Added a scan builder that selects between nmap and skip-scan strategies.
  • Implemented nmap scanning with structured parsing and warnings.
  • Added robust target expansion and IPv4 range handling.

📦 Attacks

  • Implemented a new RTSP attacker with route probing, auth detection, credential attacks, and validation.
  • Added re-attack logic for devices with non-standard RTSP behavior.
  • Improved authentication detection and route/credential discovery logic.

📦 Dictionaries

  • Moved dictionaries into embedded assets and added a new loader.
  • Added support for custom dictionary paths with clear error handling.

📦 Output and Reporting

  • Added M3U playlist output with labels and RTSP URLs.
  • Added plain and TUI reporters with live progress updates.
  • Added formatted summaries for accessible and discovered streams.

📦 Build, CI, and Tooling

  • Replaced Travis CI with GitHub Actions workflows for build, test, and release.
  • Added Dependabot config and GoReleaser v2 configuration.
  • Added a Makefile for common tasks (fmt, test, lint, build).
  • Updated Dockerfile to use prebuilt binaries and simplified runtime image.

📝 Documentation

  • Reworked README with updated usage, security guidance, and examples.
  • Added CONTRIBUTING guide and refreshed issue/PR templates.

🧪 Tests

  • Added extensive tests for the new scanner, attacker, dictionary loader, UI, and helpers.
  • Removed legacy tests tied to deleted components and APIs.
v5.4.0 - JSON output supportv5.0.4
UllaakutUllaakut·11mo ago·July 13, 2025
GitHub

📋 What's Changed

  • feat: write output to file by @Ullaakut in https://github.com/Ullaakut/cameradar/pull/361
  • Full Changelog: https://github.com/Ullaakut/cameradar/compare/v5.0.3...v5.0.4
Dictionary update / RU readmev5.0.3
UllaakutUllaakut·1y ago·October 11, 2024
GitHub

Features

  • Update dictionary https://github.com/Ullaakut/cameradar/pull/326
  • Update dictionary by @Mr-xn https://github.com/Ullaakut/cameradar/pull/346
  • Readme RU translation by @VoroninMichael https://github.com/Ullaakut/cameradar/pull/324
  • Better logging for unknown auth types by @baryy100 https://github.com/Ullaakut/cameradar/pull/345

🐛 Fixes

  • Fixed typo in loader code https://github.com/Ullaakut/cameradar/pull/311
  • Fixed typo in error by @testwill https://github.com/Ullaakut/cameradar/pull/332
Add new default credentialsv5.0.2
UllaakutUllaakut·4y ago·March 20, 2022
GitHub

New default credentials

  • Add new default credentials
  • [#304](https://github.com/Ullaakut/cameradar/pull/304) by @supremepot
  • [#295](https://github.com/Ullaakut/cameradar/pull/295) by @ArturFormella
  • Update install instructions [#291](https://github.com/Ullaakut/cameradar/pull/291) by @Ullaakut
Fix curl dependencyv5.0.1
UllaakutUllaakut·5y ago·April 5, 2021
GitHub

📋 Changes

  • [Update curl-dev dependency version](https://github.com/Ullaakut/cameradar/pull/282)
  • [Add crossplatform docker builds](https://github.com/Ullaakut/cameradar/pull/283)
  • [Update README to warn about binary builds and curl version](https://github.com/Ullaakut/cameradar/pull/284)
Multi route stream supportv5.0.0
UllaakutUllaakut·6y ago·May 4, 2020
GitHub

Features

  • [Support multi-route detection](#267) (#264)
  • Change stream model to support multiple routes
  • Simplify attack algorithm
  • Use dummy route to detect cameras which accept all routes
  • [Set module version to v5](#267) (#265)
  • Update README to reflect changes
  • Various README improvements

🐛 Bugfixes

  • [Fix stream discovery on non-standard ports by using service info mode in nmap scan](#267) (#266)
  • No longer enables debug by default
  • Makes verbose mode work (used to not do anything)

📦 Misc

  • Move issue template to .github and remove old changelog file
  • Reword error message when no stream is found
  • Remove unnecessary import alias
Bugfix & Dictionary Improvementv4.1.3
UllaakutUllaakut·6y ago·January 21, 2020
GitHub

📋 Changes

  • Add routes and credentials for Besder IP cameras ([#256](https://github.com/Ullaakut/cameradar/pull/256))
  • Remove spam from curl verbose mode ([#257](https://github.com/Ullaakut/cameradar/pull/257))
Fix digest authenticationv4.1.2
UllaakutUllaakut·6y ago·January 17, 2020
GitHub

📋 Changes

  • Digest authentication is fixed by using an older curl version (#252)
Bugfixes & small improvementsv4.1.1
UllaakutUllaakut·6y ago·December 2, 2019
GitHub

📦 [v4.1.1](https://github.com/Ullaakut/cameradar/tree/v4.1.1) (2019-11-30)

  • [All Commits](https://github.com/Ullaakut/cameradar/compare/v4.1.0...v4.1.1)
  • Enhancements:
  • [binary,enhancement,library] Add scan interval option ([#245](https://github.com/Ullaakut/cameradar/pull/245) by [Ullaakut](https://github.com/Ullaakut))
  • [enhancement] Update dictionaries & dependencies for dictionary fetch tool ([#240](https://github.com/Ullaakut/cameradar/pull/240) by [Ullaakut](https://github.com/Ullaakut))
  • Bug fixes:
  • [bug] Update nmap dependency to v2.0.0 ([#250](https://github.com/Ullaakut/cameradar/pull/250) by [Ullaakut](https://github.com/Ullaakut))
  • [bug] Fix scan interval option ([#246](https://github.com/Ullaakut/cameradar/pull/246) by [Ullaakut](https://github.com/Ullaakut))
  • [bug] Fix capitalization issues in import path ([#244](https://github.com/Ullaakut/cameradar/pull/244) by [Ullaakut](https://github.com/Ullaakut))
  • + 3 more
Multiple auth type supportv4.0.0
UllaakutUllaakut·7y ago·May 26, 2019
GitHub

Improvements and features

  • Cameradar can now access cameras with both basic and digest authentication methods
  • Previously, only basic auth was supported due to 90% of cameras using it over digest
  • A tool to automatically update the route dictionary has been added to the repository
  • The Cameradar API is now [much simpler to use](#cameradar-api) (#209)
  • UX has been improved
  • Spinner removed (#211)
  • Better logs using [disgo](https://github.com/ullaakut/disgo)
  • Two new verbosity levels: debug being the default and verbose showing extra logs for each curl request
  • + 5 more

📝 Removed unmaintained documentation

  • Contributing guide has been removed. It was very outdated and considering the low amount of contributions at the moment (🙁) I don't think it's worth the maintenance cost
  • Documentation of the library in the readme was removed in favor of godoc. AFAIK no one uses cameradar as a library at the moment so I don't think it was necessary for it to be such a focus of the readme file.

📦 Cameradar API

  • In the 3.0.0 version, the API of the cameradar API forces you to:
  • Initialize, manipulate and clean a curl handle
  • Call 5 or 6 functions from the library, with 4 to 6 arguments each, to perform a complete scan and attack process
  • Print your own summary of the attack

📦 User Experience

  • ![Screenshot 2019-05-25 at 4 11 07 PM](https://user-images.githubusercontent.com/6976628/58373051-a4644e80-7f27-11e9-8c7f-dc17a24de64a.png)
  • The new interface is cleaner, provides a better picture of what is going on during the attack process and keeps the same attack summary as the previous interface has.
  • Its debug and verbose mode are significantly more readable than the previous `--log` mode.

📦 Thanks

  • Thanks to @rikosintie for his issue about digest authentication (#199)
Update disgo dependencyv3.0.2
UllaakutUllaakut·7y ago·April 6, 2019
GitHub
v3.0.1 Custom dictionary fixv3.0.1
UllaakutUllaakut·7y ago·January 24, 2019
GitHub

🐛 Bugfixes

  • Fixes a bug where the `CAMERADAR_CUSTOM_CREDENTIALS` and `CAMERADAR_CUSTOM_ROUTES` environment variables were no longer used, in favor of `CAMERADAR_CUSTOM-CREDENTIALS` and `CAMERADAR_CUSTOM-ROUTES` because of a regression introduced in v3.0.0. (#189)
  • Fixes a bug where it was impossible to override the default dictionaries using the docker image. (#189)
v3.0.0
UllaakutUllaakut·7y ago·January 22, 2019
GitHub

📦 Enhancements

  • The cameradar library is now more intuitive and easier to use by removing useless arguments from the `Discover` method
  • Added more routes and credentials to the dictionaries #185
  • Cameradar scans one more port by default (`5554`) #186
  • Cameradar uses [nmap](https://github.com/Ullaakut.nmap) to improve error handling, make cameradar faster and easier to read #187
  • Removed legacy code #187
  • Finally reached 100% test coverage by completely mocking `nmap` #187

📦 Disclaimer

  • I don't think any developers use it, so I guess it isn't a big deal, but just in case, I'll bump up the major version.
v2.1.0 File inputv2.1.0
UllaakutUllaakut·7y ago·November 12, 2018
GitHub

📦 Enhancements

  • Cameradar can now take a file as an input, to make it easier to automatize #169
  • Issuing of RTSP SETUP requests to improve route & credential detection #182
  • Add more default credentials #176
  • Increase test coverage #159

🐛 Bugfixes

  • Fix multi address hosts #180
  • Fix nmap not taking multiple hosts in docker #177
v2.0.0: Cameradar is now a golang lib2.0.0
UllaakutUllaakut·8y ago·September 19, 2017
GitHub

📦 Cameraccess

  • Cameraccess will serve as both a replacement for the old Cameradar C++ app and an example on how to use the Cameradar library
  • The Cameradar docker image uses Cameraccess as an entrypoint
  • Cameraccess is more performant than the old C++ Cameradar
  • Cameraccess has a better and more user-friendly UX than the old C++ Cameradar
  • The new docker image is somehow exactly two times lighter than the previous one (187MB vs 374MB)

📦 Cameradar golang library

  • The Cameradar golang library provides the necessary tools to quickly build a tiny program to discover and attack RTSP streams, and makes it easy to build on top of it.
  • The code is much cleaner and all legacy code has been removed
v1.1.4 : Latest minor release before 2.0.01.1.4
UllaakutUllaakut·9y ago·January 18, 2017
GitHub

📦 v1.1.4

  • This version is the latest minor release before the 2.0.0. However, there might be other hotfixes coming after it if there are issues with the current state of Cameradar.
  • Simplified use of Docker image
  • Renamed MySQL table name to be more explicit
  • Refactoring of the Golang functional tester done
  • The output was made more human readable
  • Added automatic code quality checks for pull requests
  • Added contribution documentation
  • Updated dictionaries to add user suggestions for Chinese cameras
  • + 2 more
v1.1.3 : Minor fixes and testing in Travis CI1.1.3
UllaakutUllaakut·9y ago·November 23, 2016
GitHub

📦 v1.1.3

  • Added automatic pushes to DockerHub to the travis integration
  • Made travis configuration file better
  • Changed the package generation scripts to make them report errors
  • Removed old etix_rtsp_server binary from the test folder
  • Fixed an issue that made it mandatory to launch tests at least once so that they can work the second time
  • Fixed an issue that made the golang testing tool not compile in the testing script
  • Fixed an issue that made the golang testing tool sometimes ignore some tests
  • The previous known issue has been investigated and we don't know where it came from. However after a night of testing I have been unable to reproduce it, so I will consider it closed

📦 v1.1.2

  • Added travis integration
  • Added default environment value for Docker deployment
  • Updated docker image description with new easy usage
  • Updated README badges style (replaced flat with square-flat)
  • Build last package can now also generate a debug package if given the `Debug` command-line argument
Multithreading bugfixes1.1.1
UllaakutUllaakut·9y ago·November 12, 2016
GitHub

📦 v1.1.1

  • Removed unnecessary null pointer checks (thanks to https://github.com/elfring)
  • Updated package description
  • Removed debug message in CMake build
  • Added `/ch01.264` to the URL dictionary in the deployment (Comelit default RTSP URL)
  • Updated tests partially (still needs work to make the code cleaner)
  • Variable names are now compliant with Golang best practices
  • JSON variable names are back to normal
  • Functions have been moved in more appropriate source files
  • + 12 more
Cameradar UX Update1.1.0
UllaakutUllaakut·9y ago·October 29, 2016
GitHub

📦 v1.1.0

  • There are more command line options
  • Port can now be overridden in the command line
  • Subnet can now be overridden in the command line
  • Bruteforce is now multithreaded and will use as many threads as there are discovered cameras
  • Thumbnail generation is now multithreaded and will use as many threads as there are discovered cameras
  • There are now default configuration values in order to make cameradar easier to use
  • The algorithms take external input into account (so that a 3rd party can change the DB to help Cameradar in real-time) and thus check the persistent data at each iteration
  • The default log level is now DEBUG instead of INFO
  • + 4 more

📦 v1.0.5

  • Fixed error in MySQL Cache Manager in which thumbnail generation on valid streams could not be done
  • Fixed potential crash in the case the machine running cameradar has no memory left to allocate space for the dynamic cache manager
Cameradar Patch Bundle1.0.4
UllaakutUllaakut·9y ago·August 31, 2016
GitHub

📋 Changes

  • v1.0.1 : Updated to 16.04 & removed boost dependency
  • v1.0.2 : Fix issues with MySQL Cache Manager
  • v1.0.3 : Corrected GStreamer check
  • v1.0.4 : Fixed nmap package detection
Cameradar is tested and ready for production1.0.0
UllaakutUllaakut·10y ago·June 21, 2016
GitHub

📋 Changes

  • Added functional testing
Camera Support Update0.2.2
UllaakutUllaakut·10y ago·May 27, 2016
GitHub

📋 Changes

  • Cameradar can access Cameras that are configured to always send 400 Bad Requests responses
  • Changed iterator name from it to stream in dumb cache manager to improve code readability
  • Cameradar no longer considers a timing out Camera as an accessible stream
MySQL CM Release0.2.1
UllaakutUllaakut·10y ago·May 24, 2016
GitHub

📦 Version 0.2.0

  • Major changes :
  • MySQL Cache Manager
  • Minor changes :
  • Removed legacy code
  • Removed boost dependency
  • Improved debugging logs
  • Updated README

📦 Version 0.2.1

  • Minor changes :
  • New docker deployment package
  • Updated README
Docker release0.1.1
UllaakutUllaakut·10y ago·May 21, 2016
GitHub

📋 Major changes

  • Added a quick Docker deployment process
  • Added automatic dependencies downloading through CMake for the manual installation
  • Added CPack packaging for the Docker deployment

📋 Minor changes

  • Changed recommended cloning method to HTTPS
  • Added lots of informations to README.md
Open Source Release0.1.0
UllaakutUllaakut·10y ago·May 20, 2016
GitHub

This release contains a basic cache manager and all of Cameradar's basic functions.