Add Strix camera discovery system with comprehensive database
This commit adds the complete Strix IP camera stream discovery system: - Go-based API server with SSE support for real-time updates - 3,600+ camera brand database with stream URL patterns - Intelligent fuzzy search across camera models - ONVIF discovery and stream validation - RESTful API with health check, camera search, and stream discovery - Makefile for building and deployment - Comprehensive README documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,631 @@
|
||||
{
|
||||
"brand": "Tapo",
|
||||
"brand_id": "tapo",
|
||||
"last_updated": "2025-10-17",
|
||||
"source": "ispyconnect.com",
|
||||
"entries": [
|
||||
{
|
||||
"models": [
|
||||
"100",
|
||||
"15C200",
|
||||
"200",
|
||||
"210",
|
||||
"211",
|
||||
"220",
|
||||
"3.20",
|
||||
"310",
|
||||
"310C",
|
||||
"320ws",
|
||||
"325WB",
|
||||
"420",
|
||||
"500c",
|
||||
"510",
|
||||
"510W",
|
||||
"520SW",
|
||||
"520ws",
|
||||
"5326",
|
||||
"950 A",
|
||||
"apiha2",
|
||||
"aTC70",
|
||||
"c 510W",
|
||||
"c100",
|
||||
"C100",
|
||||
"C101",
|
||||
"c1030",
|
||||
"C110",
|
||||
"C111",
|
||||
"c113",
|
||||
"C120",
|
||||
"c120b",
|
||||
"C121",
|
||||
"C125",
|
||||
"c200",
|
||||
"C200",
|
||||
"C200C",
|
||||
"c201",
|
||||
"C202",
|
||||
"c210",
|
||||
"C210",
|
||||
"C210P2",
|
||||
"C211",
|
||||
"C211-2k",
|
||||
"C212",
|
||||
"C21A",
|
||||
"C220",
|
||||
"C222",
|
||||
"C225",
|
||||
"C230",
|
||||
"C250",
|
||||
"c300",
|
||||
"C300",
|
||||
"C310",
|
||||
"C-310",
|
||||
"C31O",
|
||||
"C320",
|
||||
"c320ws",
|
||||
"C320WS",
|
||||
"C325",
|
||||
"C325WB",
|
||||
"C325WS",
|
||||
"C357",
|
||||
"C420",
|
||||
"C425",
|
||||
"c500",
|
||||
"C500",
|
||||
"C500W",
|
||||
"C500WS",
|
||||
"c510",
|
||||
"c510w",
|
||||
"C51A",
|
||||
"C520",
|
||||
"C5200",
|
||||
"C520W",
|
||||
"C520WA",
|
||||
"C520ws",
|
||||
"C520WS",
|
||||
"C52A",
|
||||
"C530WS",
|
||||
"C560WS",
|
||||
"c5a",
|
||||
"c60",
|
||||
"C65",
|
||||
"C70",
|
||||
"c72",
|
||||
"C720",
|
||||
"CCWS10",
|
||||
"CT70",
|
||||
"Cubi",
|
||||
"D130",
|
||||
"D225",
|
||||
"D235",
|
||||
"D30C",
|
||||
"Dalam Bilik",
|
||||
"E20A",
|
||||
"E6E3-HD",
|
||||
"ENTRADA",
|
||||
"Entre",
|
||||
"Etupiha2",
|
||||
"G510W",
|
||||
"IPC22A",
|
||||
"IPC33A",
|
||||
"NC41",
|
||||
"Other",
|
||||
"Study Roo",
|
||||
"T40",
|
||||
"Tapo",
|
||||
"Tapo 200",
|
||||
"TAPO 200",
|
||||
"Tapo 500",
|
||||
"TAPO C100",
|
||||
"TAPO C110",
|
||||
"Tapo C200",
|
||||
"tapo c210",
|
||||
"tapo c212",
|
||||
"Tapo c220",
|
||||
"Tapo C225",
|
||||
"Tapo C310",
|
||||
"tapo_c200_646f",
|
||||
"tapo200",
|
||||
"tapo-c310",
|
||||
"TC40",
|
||||
"TC41",
|
||||
"TC43",
|
||||
"TC55",
|
||||
"TC60",
|
||||
"TC65",
|
||||
"TC70",
|
||||
"tc701",
|
||||
"tc702",
|
||||
"TC71",
|
||||
"TC72",
|
||||
"TC73",
|
||||
"TC85",
|
||||
"TCB72",
|
||||
"TP-70",
|
||||
"tplink",
|
||||
"ttapo",
|
||||
"Window",
|
||||
"WS320"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/stream1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"200",
|
||||
"425",
|
||||
"500",
|
||||
"520WS",
|
||||
"c 425",
|
||||
"C100",
|
||||
"c110",
|
||||
"C111",
|
||||
"C120",
|
||||
"C121",
|
||||
"C130",
|
||||
"C200",
|
||||
"c210",
|
||||
"C210",
|
||||
"C210c210",
|
||||
"C211",
|
||||
"C212",
|
||||
"c220",
|
||||
"C225",
|
||||
"c310",
|
||||
"C310",
|
||||
"c320w",
|
||||
"c320ws",
|
||||
"C320WS",
|
||||
"C400",
|
||||
"C410",
|
||||
"C420",
|
||||
"C425",
|
||||
"c500",
|
||||
"c510",
|
||||
"C510W",
|
||||
"C510W_FB19",
|
||||
"C520W",
|
||||
"C520WS",
|
||||
"C600",
|
||||
"C65",
|
||||
"C70",
|
||||
"cs520-ws",
|
||||
"d225",
|
||||
"EC71",
|
||||
"tapo c200",
|
||||
"tapo c210",
|
||||
"tapotc70",
|
||||
"tc65",
|
||||
"TC70",
|
||||
"UNLISTED"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 8090,
|
||||
"url": "/video.mjpg?q=30&fps=33&id=0.5"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"200",
|
||||
"310",
|
||||
"500",
|
||||
"510W",
|
||||
"520ws",
|
||||
"C120",
|
||||
"C121",
|
||||
"C200",
|
||||
"C202",
|
||||
"c211",
|
||||
"C212",
|
||||
"C216",
|
||||
"C220",
|
||||
"C222",
|
||||
"C225",
|
||||
"C310",
|
||||
"C325WB",
|
||||
"C500",
|
||||
"C500_813E",
|
||||
"c510w",
|
||||
"C51a",
|
||||
"C520WS",
|
||||
"D235",
|
||||
"TC40",
|
||||
"TC70",
|
||||
"TC71",
|
||||
"yyy"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/onvif/stream1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"200",
|
||||
"2000",
|
||||
"310",
|
||||
"510W",
|
||||
"c100",
|
||||
"C100",
|
||||
"C110",
|
||||
"C120",
|
||||
"C200",
|
||||
"C200C",
|
||||
"C202",
|
||||
"c210",
|
||||
"C210",
|
||||
"C212",
|
||||
"C216",
|
||||
"C222",
|
||||
"C225",
|
||||
"c235",
|
||||
"C300",
|
||||
"c310",
|
||||
"C-310",
|
||||
"C-310 ht",
|
||||
"C-310Panos",
|
||||
"c310wc",
|
||||
"C320WS",
|
||||
"C325WB",
|
||||
"C425",
|
||||
"C500",
|
||||
"C510",
|
||||
"C510W",
|
||||
"C51A",
|
||||
"C520",
|
||||
"C520ws",
|
||||
"C520WS_B53D",
|
||||
"C52A",
|
||||
"C65",
|
||||
"C70",
|
||||
"C720",
|
||||
"CP220",
|
||||
"CT70",
|
||||
"D130",
|
||||
"D225",
|
||||
"D235",
|
||||
"NC41",
|
||||
"Other",
|
||||
"Phone",
|
||||
"T60",
|
||||
"Tapo",
|
||||
"TAPO C100",
|
||||
"Tapo C200",
|
||||
"tapo c212",
|
||||
"Tapo C310",
|
||||
"TC40",
|
||||
"TC60",
|
||||
"TC65",
|
||||
"TC70",
|
||||
"TC70_5D76",
|
||||
"TC71",
|
||||
"unlisted"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/stream2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"310",
|
||||
"510W",
|
||||
"89DC",
|
||||
"c 500",
|
||||
"C100",
|
||||
"C110",
|
||||
"c111",
|
||||
"C120",
|
||||
"c200",
|
||||
"c210",
|
||||
"c211",
|
||||
"C212",
|
||||
"C216",
|
||||
"C220",
|
||||
"C222",
|
||||
"C225",
|
||||
"c300",
|
||||
"C310",
|
||||
"c3200ws",
|
||||
"c320ws",
|
||||
"C320WS",
|
||||
"C325WB",
|
||||
"C500",
|
||||
"c500ws",
|
||||
"C510",
|
||||
"C510W",
|
||||
"C510WS",
|
||||
"c520",
|
||||
"C520WS",
|
||||
"CCWS10",
|
||||
"CS520-WS",
|
||||
"cw520ws",
|
||||
"Other",
|
||||
"Tapo C200",
|
||||
"TC40",
|
||||
"TC41",
|
||||
"TC70",
|
||||
"TC72",
|
||||
"W510"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/live/stream1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"310",
|
||||
"asfasg",
|
||||
"c120",
|
||||
"C200",
|
||||
"C211",
|
||||
"C-310",
|
||||
"C500",
|
||||
"C51A",
|
||||
"C520WS",
|
||||
"TAPO C310"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 8090,
|
||||
"url": "/video.mp4"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"520SW",
|
||||
"C510W"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/1/stream1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"a72",
|
||||
"C120",
|
||||
"c211",
|
||||
"C212",
|
||||
"C220",
|
||||
"C222",
|
||||
"C225",
|
||||
"C310",
|
||||
"c320",
|
||||
"C325WB",
|
||||
"C500",
|
||||
"C720",
|
||||
"D235",
|
||||
"TC40",
|
||||
"TC55",
|
||||
"TC70",
|
||||
"TC72"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/onvif/stream2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"c100",
|
||||
"C110",
|
||||
"c120",
|
||||
"C200",
|
||||
"C210",
|
||||
"C310",
|
||||
"C320WS",
|
||||
"C60",
|
||||
"TAPO C100",
|
||||
"Tapo C200",
|
||||
"tapo c210",
|
||||
"Tapo C310",
|
||||
"tapo100",
|
||||
"TC70"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"c120",
|
||||
"Tapo C200"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 8090,
|
||||
"url": "/?action=stream"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"C120",
|
||||
"C211",
|
||||
"C500",
|
||||
"tc41",
|
||||
"TC72",
|
||||
"WS320"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/stream2%20640%20x%20360"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"c121",
|
||||
"c320ws",
|
||||
"c500",
|
||||
"C520WS",
|
||||
"CCWS10",
|
||||
"TC70"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/live/stream2"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"C200"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/stream11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"C200"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/video.h264"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"C200",
|
||||
"C500",
|
||||
"Tapo 500",
|
||||
"Tapo C200",
|
||||
"TC60"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"C200",
|
||||
"TAPO C100",
|
||||
"Tapo C310"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Stream1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"c210",
|
||||
"TC70"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "mms",
|
||||
"port": 554,
|
||||
"url": "/img/video.asf"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"C210"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/Streaming/Channels/1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"C225",
|
||||
"c500"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/stream=1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"c310"
|
||||
],
|
||||
"type": "JPEG",
|
||||
"protocol": "http",
|
||||
"port": 0,
|
||||
"url": "snapshot"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"C310",
|
||||
"c500",
|
||||
"C60",
|
||||
"Tapo C200",
|
||||
"TC60"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 5544,
|
||||
"url": "/11"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"C520WS",
|
||||
"CT70"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/stream1r"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"C520WS"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/0/av0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Other"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/stream8"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"TAPO C100",
|
||||
"Tapo C200",
|
||||
"Tapo C310"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "http",
|
||||
"port": 2020,
|
||||
"url": "/onvif/device_service"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"TAPO C100"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/onvif1"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"TAPO C100"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 554,
|
||||
"url": "/tcp/av0_0"
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Tapo C200"
|
||||
],
|
||||
"type": "FFMPEG",
|
||||
"protocol": "rtsp",
|
||||
"port": 8001,
|
||||
"url": "/H264/sub"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user