summaryrefslogtreecommitdiffstats
path: root/internal/models/osint.go
blob: 950225df1fe42fe7813566405af687023f14d5ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package models

type BSSIDParams struct {
	BSSID  string
	All    bool
	Google bool
	OSM    bool
}

type LocationInfo struct {
	Latitude  float64 `json:"latitude"`
	Longitude float64 `json:"longitude"`
	Accuracy  int     `json:"accuracy"`
}

type BSSIDResult struct {
	BSSID         string        `json:"bssid"`
	Location      *LocationInfo `json:"location"`
	GoogleMap     string        `json:"google_map,omitempty"`
	OpenStreetMap string        `json:"openstreetmap,omitempty"`
}

type BSSIDLookupResponse []BSSIDResult

type ErrorResponse struct {
	Error string `json:"error"`
}

type BreachForumSearchParams struct {
	Search  string
	MaxHits int
}

type BreachForumSearchResponse struct {
	Query   string      `json:"query"`
	MaxHits int         `json:"max_hits"`
	Results interface{} `json:"results"`
}

type OpenDirectorySearchParams struct {
	URL       string
	Filename  string
	Extension string
	Exclude   string
	Size      int
	From      int
}

type OpenDirectorySearchResponse map[string]interface{}

type BucketsSearchParams struct {
	Limit int
	Start int
}

type BucketsFilesSearchParams struct {
	Keywords   string
	Extensions string
	Buckets    string
	Limit      int
	Start      int
}

type ShortlinksSearchParams struct {
	Keywords  string
	Ext       string
	Order     string
	Direction string
	Regexp    bool
	Limit     int
	Start     int
}

type CreditsInfo struct {
	Used      int `json:"used"`
	Remaining int `json:"remaining"`
}

type BucketsSearchResponse struct {
	Credits CreditsInfo `json:"credits"`
	Results interface{} `json:"results"`
}

type BucketsFilesSearchResponse struct {
	Credits CreditsInfo `json:"credits"`
	Results interface{} `json:"results"`
}

type ShortlinksSearchResponse struct {
	Credits CreditsInfo `json:"credits"`
	Results interface{} `json:"results"`
}