|
STRIX
Camera stream discovery and Frigate config generator.
- 3,600+ camera brands with 100,000+ [URL patterns](#camera-database) 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
•
Video
•
API Docs
## Install
Any Linux, one command:
```bash
curl -fsSL https://raw.githubusercontent.com/eduard256/Strix/main/install.sh | sudo bash
```
Open `http://YOUR_IP:4567`
## How it works
Enter camera IP. Strix probes the device -- open ports, MAC vendor, mDNS, HTTP server.

Search camera model in database. Enter credentials if needed.

Strix builds all possible stream URLs from database patterns.

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

Pick main and sub streams from results.

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

Camera works in Frigate. Done.

## Other install methods
### Docker
```bash
docker run -d --name strix --network host --restart unless-stopped eduard256/strix:latest
```
### 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**
### 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 |
## 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.