Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sundowndev
GitHub Repository: sundowndev/phoneinfoga
Path: blob/master/lib/remote/googlesearch_scanner.go
988 views
1
package remote
2
3
import (
4
"github.com/sundowndev/dorkgen"
5
"github.com/sundowndev/dorkgen/googlesearch"
6
"github.com/sundowndev/phoneinfoga/v2/lib/number"
7
)
8
9
const Googlesearch = "googlesearch"
10
11
type googlesearchScanner struct{}
12
13
// GoogleSearchDork is the common format for dork requests
14
type GoogleSearchDork struct {
15
Number string `json:"number" console:"-"`
16
Dork string `json:"dork" console:"-"`
17
URL string `json:"url" console:"URL"`
18
}
19
20
// GoogleSearchResponse is the output of Google search scanner.
21
// It contains all dorks created ordered by types.
22
type GoogleSearchResponse struct {
23
SocialMedia []*GoogleSearchDork `json:"social_media" console:"Social media,omitempty"`
24
DisposableProviders []*GoogleSearchDork `json:"disposable_providers" console:"Disposable providers,omitempty"`
25
Reputation []*GoogleSearchDork `json:"reputation" console:"Reputation,omitempty"`
26
Individuals []*GoogleSearchDork `json:"individuals" console:"Individuals,omitempty"`
27
General []*GoogleSearchDork `json:"general" console:"General,omitempty"`
28
}
29
30
func NewGoogleSearchScanner() Scanner {
31
return &googlesearchScanner{}
32
}
33
34
func (s *googlesearchScanner) Name() string {
35
return Googlesearch
36
}
37
38
func (s *googlesearchScanner) Description() string {
39
return "Generate several Google dork requests for a given phone number."
40
}
41
42
func (s *googlesearchScanner) DryRun(_ number.Number, _ ScannerOptions) error {
43
return nil
44
}
45
46
func (s *googlesearchScanner) Run(n number.Number, _ ScannerOptions) (interface{}, error) {
47
res := GoogleSearchResponse{
48
SocialMedia: getSocialMediaDorks(n),
49
DisposableProviders: getDisposableProvidersDorks(n),
50
Reputation: getReputationDorks(n),
51
Individuals: getIndividualsDorks(n),
52
General: getGeneralDorks(n),
53
}
54
55
return res, nil
56
}
57
58
func getDisposableProvidersDorks(number number.Number) (results []*GoogleSearchDork) {
59
var dorks = []*googlesearch.GoogleSearch{
60
dorkgen.NewGoogleSearch().
61
Site("hs3x.com").
62
InText(number.International),
63
dorkgen.NewGoogleSearch().
64
Site("receive-sms-now.com").
65
InText(number.International).
66
Or().
67
InText(number.RawLocal),
68
dorkgen.NewGoogleSearch().
69
Site("smslisten.com").
70
InText(number.International).
71
Or().
72
InText(number.RawLocal),
73
dorkgen.NewGoogleSearch().
74
Site("smsnumbersonline.com").
75
InText(number.International).
76
Or().
77
InText(number.RawLocal),
78
dorkgen.NewGoogleSearch().
79
Site("freesmscode.com").
80
InText(number.International).
81
Or().
82
InText(number.RawLocal),
83
dorkgen.NewGoogleSearch().
84
Site("catchsms.com").
85
InText(number.International).
86
Or().
87
InText(number.RawLocal),
88
dorkgen.NewGoogleSearch().
89
Site("smstibo.com").
90
InText(number.International).
91
Or().
92
InText(number.RawLocal),
93
dorkgen.NewGoogleSearch().
94
Site("smsreceiving.com").
95
InText(number.International).
96
Or().
97
InText(number.RawLocal),
98
dorkgen.NewGoogleSearch().
99
Site("getfreesmsnumber.com").
100
InText(number.International).
101
Or().
102
InText(number.RawLocal),
103
dorkgen.NewGoogleSearch().
104
Site("sellaite.com").
105
InText(number.International).
106
Or().
107
InText(number.RawLocal),
108
dorkgen.NewGoogleSearch().
109
Site("receive-sms-online.info").
110
InText(number.International).
111
Or().
112
InText(number.RawLocal),
113
dorkgen.NewGoogleSearch().
114
Site("receivesmsonline.com").
115
InText(number.International).
116
Or().
117
InText(number.RawLocal),
118
dorkgen.NewGoogleSearch().
119
Site("receive-a-sms.com").
120
InText(number.International).
121
Or().
122
InText(number.RawLocal),
123
dorkgen.NewGoogleSearch().
124
Site("sms-receive.net").
125
InText(number.International).
126
Or().
127
InText(number.RawLocal),
128
dorkgen.NewGoogleSearch().
129
Site("receivefreesms.com").
130
InText(number.International).
131
Or().
132
InText(number.RawLocal),
133
dorkgen.NewGoogleSearch().
134
Site("receive-sms.com").
135
InText(number.International).
136
Or().
137
InText(number.RawLocal),
138
dorkgen.NewGoogleSearch().
139
Site("receivetxt.com").
140
InText(number.International).
141
Or().
142
InText(number.RawLocal),
143
dorkgen.NewGoogleSearch().
144
Site("freephonenum.com").
145
InText(number.International).
146
Or().
147
InText(number.RawLocal),
148
dorkgen.NewGoogleSearch().
149
Site("freesmsverification.com").
150
InText(number.International).
151
Or().
152
InText(number.RawLocal),
153
dorkgen.NewGoogleSearch().
154
Site("receive-sms-online.com").
155
InText(number.International).
156
Or().
157
InText(number.RawLocal),
158
dorkgen.NewGoogleSearch().
159
Site("smslive.co").
160
InText(number.International).
161
Or().
162
InText(number.RawLocal),
163
}
164
165
for _, dork := range dorks {
166
results = append(results, &GoogleSearchDork{
167
Number: number.E164,
168
Dork: dork.String(),
169
URL: dork.URL(),
170
})
171
}
172
173
return results
174
}
175
176
func getIndividualsDorks(number number.Number) (results []*GoogleSearchDork) {
177
var dorks = []*googlesearch.GoogleSearch{
178
dorkgen.NewGoogleSearch().
179
Site("numinfo.net").
180
InText(number.International).
181
Or().
182
InText(number.E164).
183
Or().
184
InText(number.RawLocal),
185
dorkgen.NewGoogleSearch().
186
Site("sync.me").
187
InText(number.International).
188
Or().
189
InText(number.E164).
190
Or().
191
InText(number.RawLocal),
192
dorkgen.NewGoogleSearch().
193
Site("whocallsyou.de").
194
InText(number.RawLocal),
195
dorkgen.NewGoogleSearch().
196
Site("pastebin.com").
197
InText(number.International).
198
Or().
199
InText(number.E164).
200
Or().
201
InText(number.RawLocal),
202
dorkgen.NewGoogleSearch().
203
Site("whycall.me").
204
InText(number.International).
205
Or().
206
InText(number.E164).
207
Or().
208
InText(number.RawLocal),
209
dorkgen.NewGoogleSearch().
210
Site("locatefamily.com").
211
InText(number.International).
212
Or().
213
InText(number.E164).
214
Or().
215
InText(number.RawLocal),
216
dorkgen.NewGoogleSearch().
217
Site("spytox.com").
218
InText(number.RawLocal),
219
}
220
221
for _, dork := range dorks {
222
results = append(results, &GoogleSearchDork{
223
Number: number.E164,
224
Dork: dork.String(),
225
URL: dork.URL(),
226
})
227
}
228
229
return results
230
}
231
232
func getSocialMediaDorks(number number.Number) (results []*GoogleSearchDork) {
233
var dorks = []*googlesearch.GoogleSearch{
234
dorkgen.NewGoogleSearch().
235
Site("facebook.com").
236
InText(number.International).
237
Or().
238
InText(number.E164).
239
Or().
240
InText(number.RawLocal),
241
dorkgen.NewGoogleSearch().
242
Site("twitter.com").
243
InText(number.International).
244
Or().
245
InText(number.E164).
246
Or().
247
InText(number.RawLocal),
248
dorkgen.NewGoogleSearch().
249
Site("linkedin.com").
250
InText(number.International).
251
Or().
252
InText(number.E164).
253
Or().
254
InText(number.RawLocal),
255
dorkgen.NewGoogleSearch().
256
Site("instagram.com").
257
InText(number.International).
258
Or().
259
InText(number.E164).
260
Or().
261
InText(number.RawLocal),
262
dorkgen.NewGoogleSearch().
263
Site("vk.com").
264
InText(number.International).
265
Or().
266
InText(number.E164).
267
Or().
268
InText(number.RawLocal),
269
}
270
271
for _, dork := range dorks {
272
results = append(results, &GoogleSearchDork{
273
Number: number.E164,
274
Dork: dork.String(),
275
URL: dork.URL(),
276
})
277
}
278
279
return results
280
}
281
282
func getReputationDorks(number number.Number) (results []*GoogleSearchDork) {
283
var dorks = []*googlesearch.GoogleSearch{
284
dorkgen.NewGoogleSearch().
285
Site("whosenumber.info").
286
InText(number.E164).
287
InTitle("who called"),
288
dorkgen.NewGoogleSearch().
289
InTitle("Phone Fraud").
290
InText(number.International).
291
Or().
292
InText(number.E164).
293
Or().
294
InText(number.RawLocal),
295
dorkgen.NewGoogleSearch().
296
Site("findwhocallsme.com").
297
InText(number.E164).
298
Or().
299
InText(number.International),
300
dorkgen.NewGoogleSearch().
301
Site("yellowpages.ca").
302
InText(number.E164),
303
dorkgen.NewGoogleSearch().
304
Site("phonenumbers.ie").
305
InText(number.E164),
306
dorkgen.NewGoogleSearch().
307
Site("who-calledme.com").
308
InText(number.E164),
309
dorkgen.NewGoogleSearch().
310
Site("usphonesearch.net").
311
InText(number.RawLocal),
312
dorkgen.NewGoogleSearch().
313
Site("whocalled.us").
314
InURL(number.RawLocal),
315
dorkgen.NewGoogleSearch().
316
Site("quinumero.info").
317
InText(number.RawLocal).
318
Or().
319
InText(number.International),
320
dorkgen.NewGoogleSearch().
321
Site("uk.popularphotolook.com").
322
InURL(number.RawLocal),
323
}
324
325
for _, dork := range dorks {
326
results = append(results, &GoogleSearchDork{
327
Number: number.E164,
328
Dork: dork.String(),
329
URL: dork.URL(),
330
})
331
}
332
333
return results
334
}
335
336
func getGeneralDorks(number number.Number) (results []*GoogleSearchDork) {
337
var dorks = []*googlesearch.GoogleSearch{
338
dorkgen.NewGoogleSearch().
339
InText(number.International).
340
Or().
341
InText(number.E164).
342
Or().
343
InText(number.RawLocal).
344
Or().
345
InText(number.Local),
346
dorkgen.NewGoogleSearch().
347
Group(dorkgen.NewGoogleSearch().
348
Ext("doc").
349
Or().
350
Ext("docx").
351
Or().
352
Ext("odt").
353
Or().
354
Ext("pdf").
355
Or().
356
Ext("rtf").
357
Or().
358
Ext("sxw").
359
Or().
360
Ext("psw").
361
Or().
362
Ext("ppt").
363
Or().
364
Ext("pptx").
365
Or().
366
Ext("pps").
367
Or().
368
Ext("csv").
369
Or().
370
Ext("txt").
371
Or().
372
Ext("xls")).
373
InText(number.International).
374
Or().
375
InText(number.E164).
376
Or().
377
InText(number.RawLocal),
378
}
379
380
for _, dork := range dorks {
381
results = append(results, &GoogleSearchDork{
382
Number: number.E164,
383
Dork: dork.String(),
384
URL: dork.URL(),
385
})
386
}
387
388
return results
389
}
390
391