5849898283
Unit tests functional and coverage back to 100% Add more routes to dictionary, add more credentials, add default port 5554, rename cameradar logs ENV variable, improve unit test readability, remove tmp file
40 lines
1.1 KiB
Go
40 lines
1.1 KiB
Go
package cmrdr
|
|
|
|
import "time"
|
|
|
|
// Stream represents a camera's RTSP stream
|
|
type Stream struct {
|
|
Device string `json:"device"`
|
|
Username string `json:"username"`
|
|
Password string `json:"password"`
|
|
Route string `json:"route"`
|
|
Address string `json:"address" validate:"required"`
|
|
Port uint16 `json:"port" validate:"required"`
|
|
|
|
CredentialsFound bool `json:"credentials_found"`
|
|
RouteFound bool `json:"route_found"`
|
|
Available bool `json:"available"`
|
|
}
|
|
|
|
// Credentials is a map of credentials
|
|
// usernames are keys and passwords are values
|
|
// creds['admin'] -> 'secure_password'
|
|
type Credentials struct {
|
|
Usernames []string `json:"usernames"`
|
|
Passwords []string `json:"passwords"`
|
|
}
|
|
|
|
// Routes is a slice of Routes
|
|
// ['/live.sdp', '/media.amp', ...]
|
|
type Routes []string
|
|
|
|
// Options contains all options needed to launch a complete cameradar scan
|
|
type Options struct {
|
|
Targets []string `json:"target" validate:"required"`
|
|
Ports []string `json:"ports"`
|
|
Routes Routes `json:"routes"`
|
|
Credentials Credentials `json:"credentials"`
|
|
Speed int `json:"speed"`
|
|
Timeout time.Duration `json:"timeout"`
|
|
}
|