Rewrite Strix from scratch as single binary

Complete architecture rewrite following go2rtc patterns:
- pkg/ for pure logic (camdb, tester, probe, generate)
- internal/ for application glue with Init() modules
- Single HTTP server on :4567 with all endpoints
- zerolog with password masking and memory ring buffer
- Environment-based config only (no YAML files)

API endpoints: /api/search, /api/streams, /api/test,
/api/probe, /api/generate, /api/health, /api/log

Dependencies: go2rtc v1.9.14, go-sqlite3, miekg/dns, zerolog
This commit is contained in:
eduard256
2026-03-25 10:38:46 +00:00
parent 3b29188924
commit 27117900eb
3742 changed files with 2801 additions and 283718 deletions
+34
View File
@@ -0,0 +1,34 @@
package main
import (
"github.com/eduard256/strix/internal/api"
"github.com/eduard256/strix/internal/app"
"github.com/eduard256/strix/internal/generate"
"github.com/eduard256/strix/internal/probe"
"github.com/eduard256/strix/internal/search"
"github.com/eduard256/strix/internal/test"
)
func main() {
app.Version = "2.0.0"
type module struct {
name string
init func()
}
modules := []module{
{"", app.Init},
{"api", api.Init},
{"search", search.Init},
{"test", test.Init},
{"probe", probe.Init},
{"generate", generate.Init},
}
for _, m := range modules {
m.init()
}
select {}
}