An open API service indexing awesome lists of open source software.

https://github.com/eduard256/Strix

Smart IP camera stream finder. Tests 102K+ URL patterns in 30 seconds. Supports 67K camera models. Generates ready Frigate/go2rtc configs.
https://github.com/eduard256/Strix

camera-discovery cctv dahua docker ffmpeg frigate go2rtc golang hikvision home-assistant home-automation ip-camera mjpeg nvr onvif rtsp self-hosted selfhosted surveillance video-streaming

Last synced: 5 days ago
JSON representation

Smart IP camera stream finder. Tests 102K+ URL patterns in 30 seconds. Supports 67K camera models. Generates ready Frigate/go2rtc configs.

Awesome Lists containing this project

README

          



Strix

 | 
STRIX



GitHub Stars
Docker Pulls
GitHub Downloads
License

Camera stream discovery and Frigate config generator.

- 3,600+ camera brands with 100,000+ [URL patterns](#streams) in SQLite database
- automatic device [probing](#probe) in 100ms: ports, ARP/OUI, mDNS/HomeKit, HTTP
- 20 parallel workers [test every URL](#testing) with live screenshots
- supports [RTSP, HTTP, RTMP, Bubble, DVRIP](#supported-protocols) and more
- ready [Frigate config](#config-generation) with smart merge into existing setup
- auto-discovery of Frigate and [go2rtc](https://github.com/AlexxIT/go2rtc) on local network
- zero-dependency static [binary](#binary) for Linux amd64/arm64
- can be used as [standalone app](#binary), [Docker](#docker), or [Home Assistant add-on](#home-assistant-add-on)

---




Live Demo
 • 
Supported Cameras
 • 
Video
 • 
API Docs

## Install

Any Linux or Proxmox, one command:

```bash
bash <(curl -fsSL https://raw.githubusercontent.com/eduard256/Strix/main/install.sh)
```

Run as root (or with `sudo`). Interactive installer detects your system (Linux / Proxmox) and guides you through setup.

Open `http://YOUR_IP:4567`

## How it works

Enter camera IP. Strix probes the device - open ports, MAC vendor, mDNS, HTTP server.

![](https://github.com/eduard256/Strix/releases/download/v2.0.0/01-enter-ip.png)

Search camera model in database. Enter credentials if needed.

![](https://github.com/eduard256/Strix/releases/download/v2.0.0/02-camera-config.png)

Strix builds all possible stream URLs from database patterns.

![](https://github.com/eduard256/Strix/releases/download/v2.0.0/03-stream-urls.png)

20 parallel workers test every URL. Live screenshots, codecs, resolution, latency.

![](https://github.com/eduard256/Strix/releases/download/v2.0.0/04-testing.png)

Pick main and sub streams from results.

![](https://github.com/eduard256/Strix/releases/download/v2.0.0/05-results.png)

Generate ready Frigate config. Copy, download, or save directly to Frigate.

![](https://github.com/eduard256/Strix/releases/download/v2.0.0/06-frigate-config.png)

Camera works in Frigate. Done.

![](https://github.com/eduard256/Strix/releases/download/v2.0.0/07-frigate-result.png)

## Other install methods

### Docker

```bash
docker run -d --name strix --network host --restart unless-stopped eduard256/strix:latest
```

### Docker Compose

Strix only:

```bash
curl -O https://raw.githubusercontent.com/eduard256/Strix/main/docker-compose.yml
docker compose up -d
```

Strix + [Frigate](https://github.com/blakeblackshear/frigate):

```bash
curl -O https://raw.githubusercontent.com/eduard256/Strix/main/docker-compose.frigate.yml
docker compose -f docker-compose.frigate.yml up -d
```

Strix + [go2rtc](https://github.com/AlexxIT/go2rtc):

```bash
curl -O https://raw.githubusercontent.com/eduard256/Strix/main/docker-compose.go2rtc.yml
docker compose -f docker-compose.go2rtc.yml up -d
```

### Podman

Podman drops `NET_RAW` and `NET_ADMIN` by default, which Strix needs for network scanning. Add them explicitly:

```bash
podman run -d \
--name strix \
--network host \
--cap-add=NET_RAW \
--cap-add=NET_ADMIN \
--restart unless-stopped \
eduard256/strix:latest
```

Or run with `--privileged` if you prefer.

### Home Assistant Add-on

1. **Settings** > **Add-ons** > **Add-on Store**
2. Menu (top right) > **Repositories** > add `https://github.com/eduard256/hassio-strix`
3. Install **Strix**, enable **Start on boot** and **Show in sidebar**

### Umbrel


Install on Umbrel

Install in one click from the [Umbrel App Store](https://apps.umbrel.com/app/strix).

### Binary

Download from [GitHub Releases](https://github.com/eduard256/Strix/releases). No dependencies except `ffmpeg` for screenshot conversion.

```bash
chmod +x strix-linux-amd64
STRIX_LISTEN=:4567 ./strix-linux-amd64
```

## Supported protocols

| Protocol | Port | Description |
|----------|------|-------------|
| RTSP | 554 | Most IP cameras |
| RTSPS | 322 | RTSP over TLS |
| HTTP/HTTPS | 80/443 | MJPEG, JPEG snapshots, HLS, MPEG-TS |
| RTMP | 1935 | Some Chinese NVRs |
| Bubble | 80 | XMeye/NetSurveillance cameras |
| DVRIP | 34567 | Sofia protocol DVR/NVR |
| HomeKit | 51826 | Apple HomeKit cameras via HAP |

## Configuration

| Variable | Default | Description |
|----------|---------|-------------|
| `STRIX_LISTEN` | `:4567` | HTTP listen address |
| `STRIX_DB_PATH` | `cameras.db` | Path to SQLite camera database |
| `STRIX_LOG_LEVEL` | `info` | Log level: `debug`, `info`, `warn`, `error`, `trace` |
| `STRIX_FRIGATE_URL` | auto-discovery | Frigate URL, e.g. `http://localhost:5000` |
| `STRIX_GO2RTC_URL` | auto-discovery | go2rtc URL, e.g. `http://localhost:1984` |

## Camera database

SQLite database with 3,600+ brands and 100,000+ URL patterns. Maintained separately in [StrixCamDB](https://github.com/eduard256/StrixCamDB). Database is embedded in Docker image and bundled with binary releases.

[Browse supported cameras](https://gostrix.github.io/) - search by brand or model to check if your camera is in the database.

Three entity types:
- **Presets** - curated sets of popular URL patterns (e.g. "ONVIF", "Popular RTSP")
- **Brands** - all URL patterns for a brand (e.g. "Hikvision", "Dahua")
- **Models** - URL patterns for a specific model within a brand

Camera not in the database? [Add it here](https://gostrix.github.io/#/contribute).

**Developers:** integrate [Strix HTTP API](DEVELOPERS.md) into your smart home platform.

**Testing:** [StrixCamFake](https://github.com/eduard256/StrixCamFake) - IP camera emulator for development and testing. [StrixAHKCamFake](https://github.com/eduard256/StrixAHKCamFake) - Apple HomeKit camera emulator.