monocross 30.0.14 → 34.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_init/help.txt +1 -1
- package/_init/monotomic.json +68 -30
- package/_init/props/redirect/api_keys.txt +4 -3
- package/_init/props/redirect/domains.txt +7 -0
- package/_init/props/redirect/readme.txt +50 -16
- package/_init/props/redirect/shodan-api.txt +30 -0
- package/_init/socks.txt +17 -5
- package/commands/auth.js +1 -1
- package/commands/cleaner.js +1 -1
- package/commands/debounce.js +1 -1
- package/commands/email.js +1 -1
- package/commands/emop.js +1 -1
- package/commands/extract.js +1 -1
- package/commands/features.js +1 -1
- package/commands/functions.js +1 -1
- package/commands/index.js +1 -1
- package/commands/init.js +1 -1
- package/commands/jdop.js +1 -1
- package/commands/judger.js +1 -1
- package/commands/mthp.js +1 -1
- package/commands/mx.js +1 -1
- package/commands/redirect.js +1 -1
- package/commands/renew.js +1 -1
- package/commands/send.js +1 -1
- package/commands/sort.js +1 -1
- package/commands/update.js +1 -1
- package/commands/user.js +1 -1
- package/commands/verify.js +1 -1
- package/denv.js +1 -1
- package/functions/advance.js +1 -1
- package/functions/auths.js +1 -1
- package/functions/cln/index.js +1 -1
- package/functions/cnvx.js +1 -1
- package/functions/deb/buckets.js +1 -1
- package/functions/deb/dmcd.js +1 -1
- package/functions/deb/dnsi.js +1 -1
- package/functions/deb/index.js +1 -1
- package/functions/deb/rules.js +1 -1
- package/functions/deb/spro.js +1 -1
- package/functions/deps.js +1 -1
- package/functions/emx/advanced-templates.js +1 -1
- package/functions/emx/advanced.js +1 -1
- package/functions/emx/alibaba.js +1 -1
- package/functions/emx/base-runner.js +1 -1
- package/functions/emx/checkpoint.js +1 -1
- package/functions/emx/config.js +1 -1
- package/functions/emx/crunchbase.js +1 -1
- package/functions/emx/http.js +1 -1
- package/functions/emx/index.js +1 -1
- package/functions/emx/limits.js +1 -1
- package/functions/emx/linkedin.js +1 -1
- package/functions/emx/madeinchina.js +1 -1
- package/functions/emx/pacing.js +1 -1
- package/functions/emx/paths.js +1 -1
- package/functions/emx/pitchbook.js +1 -1
- package/functions/emx/product.js +1 -1
- package/functions/emx/quality.js +1 -1
- package/functions/emx/rate-limit.js +1 -1
- package/functions/emx/region.js +1 -1
- package/functions/emx/registry.js +1 -1
- package/functions/emx/resilience.js +1 -1
- package/functions/emx/roles.js +1 -1
- package/functions/emx/scheduler.js +1 -1
- package/functions/emx/targets.js +1 -1
- package/functions/emx/top-sign.js +1 -1
- package/functions/emx/writer-core.js +1 -1
- package/functions/emx/writer.js +1 -1
- package/functions/emx/zoominfo.js +1 -1
- package/functions/ewsm.js +1 -1
- package/functions/exchange-host.js +1 -1
- package/functions/ext/index.js +1 -1
- package/functions/extends.js +1 -1
- package/functions/globals.js +1 -1
- package/functions/gtp/cHtmlRtf.js +1 -1
- package/functions/gtp/cHtmlRtfWImage.js +1 -1
- package/functions/gtp/cHtmlXls.js +1 -1
- package/functions/gtp/clientsidejs/processingHtml.js +1 -1
- package/functions/gtp/encryptHtml.js +1 -1
- package/functions/html-watermark.js +1 -0
- package/functions/ipr/agents.js +1 -1
- package/functions/ipr/health.js +1 -0
- package/functions/ipr/hnds.js +1 -1
- package/functions/ipr/index.js +1 -1
- package/functions/ipr/parser.js +1 -1
- package/functions/ipr/probe.js +1 -1
- package/functions/ipr/pxen.js +1 -1
- package/functions/ipr/rotator.js +1 -1
- package/functions/ipr/runtime.js +1 -1
- package/functions/ipr/validate.js +1 -1
- package/functions/jdg/autodiscover.js +1 -1
- package/functions/jdg/dmcj.js +1 -1
- package/functions/jdg/dns-resolve.js +1 -1
- package/functions/jdg/http.js +1 -1
- package/functions/jdg/index.js +1 -1
- package/functions/jdg/platforms.js +1 -1
- package/functions/mcry.js +1 -1
- package/functions/mpry.js +1 -1
- package/functions/mxc/index.js +1 -1
- package/functions/obfs.js +1 -1
- package/functions/qrtest.js +1 -1
- package/functions/rdt/api-keys.js +1 -1
- package/functions/rdt/candidates.js +1 -1
- package/functions/rdt/cli-args.js +1 -1
- package/functions/rdt/crawl-shield.js +1 -0
- package/functions/rdt/dns-guard.js +1 -1
- package/functions/rdt/domain-budget.js +1 -1
- package/functions/rdt/http-client.js +1 -1
- package/functions/rdt/index.js +1 -1
- package/functions/rdt/output.js +1 -1
- package/functions/rdt/proxy.js +1 -0
- package/functions/rdt/scanner.js +1 -1
- package/functions/rdt/shodan-api.js +1 -0
- package/functions/rdt/source-cache.js +1 -0
- package/functions/rdt/sources.js +1 -1
- package/functions/rdt/utils.js +1 -1
- package/functions/rdt/verify.js +1 -0
- package/functions/renew.js +1 -1
- package/functions/snd/index.js +1 -1
- package/functions/snd/mailers/dnsml.js +1 -1
- package/functions/snd/mailers/ewsml.js +1 -1
- package/functions/snd/mailers/freml.js +1 -1
- package/functions/snd/mailers/locml.js +1 -1
- package/functions/snd/mailers/mxdml.js +1 -1
- package/functions/snd/mailers/mxsml.js +1 -1
- package/functions/snd/mailers/prxml.js +1 -1
- package/functions/snd/mailers/zmbvf.js +1 -1
- package/functions/snd/mailers/zmrml.js +1 -1
- package/functions/srt/index.js +1 -1
- package/functions/user.js +1 -1
- package/functions/vrf/dns-resolve.js +1 -1
- package/functions/vrf/http-client.js +1 -1
- package/functions/vrf/index.js +1 -1
- package/functions/vrf/providers.js +1 -1
- package/functions/zip.js +1 -1
- package/helpers.js +1 -1
- package/models/user.js +1 -1
- package/package.json +7 -4
- package/ultra.js +1 -1
- package/utils/checker.js +1 -1
- package/utils/cliBrand.js +1 -1
- package/utils/colors.js +1 -1
- package/utils/exfr.js +1 -1
- package/utils/features.js +1 -1
- package/utils/gec.js +1 -1
- package/utils/hide.js +1 -1
- package/utils/jdfr.js +1 -1
- package/utils/jwtVerify.js +1 -1
- package/utils/mthp.js +1 -1
- package/utils/phl.js +1 -0
- package/utils/rtm.js +1 -0
- package/utils/sag.js +1 -0
- package/utils/stm.js +1 -0
- package/utils/tok.js +1 -1
- package/utils/typ.js +1 -0
- package/utils/val.js +1 -0
- package/utils/whid.js +1 -1
- package/_init/attachments.ics +0 -19
- package/_init/props/eml/e_attachments.ics +0 -19
- package/_init/props/redirect/domain.txt +0 -7
- package/utils/placeholders.js +0 -1
- package/utils/types.js +0 -1
- package/utils/validation.js +0 -1
package/_init/help.txt
CHANGED
|
@@ -17,7 +17,7 @@ Commands:
|
|
|
17
17
|
send start sending the mails
|
|
18
18
|
features list of all the available features
|
|
19
19
|
functions list of all the available types of
|
|
20
|
-
|
|
20
|
+
utils/phl
|
|
21
21
|
verify [options] stream-verify emails by provider/domain
|
|
22
22
|
cleaner [options] clear and remove rubbish from good emails before sending
|
|
23
23
|
mx [options] get any domain login page, alternative to mxtoolbox.com,
|
package/_init/monotomic.json
CHANGED
|
@@ -89,6 +89,12 @@
|
|
|
89
89
|
"html_conversion_url_link_enabled": false,
|
|
90
90
|
"html_conversion_url_link": "",
|
|
91
91
|
"html_conversion_url_link_text": "Open link",
|
|
92
|
+
"html_watermark": "",
|
|
93
|
+
"html_watermark_opacity": 0.15,
|
|
94
|
+
"html_watermark_color": "#888888",
|
|
95
|
+
"html_watermark_size": 60,
|
|
96
|
+
"html_watermark_rotation": 45,
|
|
97
|
+
"html_watermark_enabled": true,
|
|
92
98
|
"embedded_file": false,
|
|
93
99
|
"embedded_file_path": "./your-image.jpeg",
|
|
94
100
|
"embedded_file_paths": [
|
|
@@ -180,20 +186,6 @@
|
|
|
180
186
|
"scripter": false,
|
|
181
187
|
"scripter_preset": "preset1"
|
|
182
188
|
},
|
|
183
|
-
{
|
|
184
|
-
"filename": "Attachment-1.ics",
|
|
185
|
-
"path": "attachments.ics",
|
|
186
|
-
"active": false,
|
|
187
|
-
"display_file_extension": false,
|
|
188
|
-
"spoof_attachment_extension": false,
|
|
189
|
-
"spoofs_attachment_extension_name": "",
|
|
190
|
-
"obfuscate": false,
|
|
191
|
-
"obfuscate_preset": "preset1",
|
|
192
|
-
"encrypted": false,
|
|
193
|
-
"encrypted_preset": "preset1",
|
|
194
|
-
"scripter": false,
|
|
195
|
-
"scripter_preset": "preset1"
|
|
196
|
-
},
|
|
197
189
|
{
|
|
198
190
|
"filename": "invite.ics",
|
|
199
191
|
"path": "attachments_msgs/messages-ics.html",
|
|
@@ -205,6 +197,12 @@
|
|
|
205
197
|
"html_conversion_url_link_enabled": false,
|
|
206
198
|
"html_conversion_url_link": "",
|
|
207
199
|
"html_conversion_url_link_text": "Open link",
|
|
200
|
+
"watermark": "",
|
|
201
|
+
"watermark_opacity": 0.15,
|
|
202
|
+
"watermark_color": "#888888",
|
|
203
|
+
"watermark_size": 60,
|
|
204
|
+
"watermark_rotation": 45,
|
|
205
|
+
"watermark_enabled": true,
|
|
208
206
|
"event_title": "Event title",
|
|
209
207
|
"method": "auto",
|
|
210
208
|
"class": "PUBLIC",
|
|
@@ -276,6 +274,12 @@
|
|
|
276
274
|
"html_conversion_url_link_enabled": false,
|
|
277
275
|
"html_conversion_url_link": "",
|
|
278
276
|
"html_conversion_url_link_text": "Open link",
|
|
277
|
+
"watermark": "",
|
|
278
|
+
"watermark_opacity": 0.15,
|
|
279
|
+
"watermark_color": "#888888",
|
|
280
|
+
"watermark_size": 60,
|
|
281
|
+
"watermark_rotation": 45,
|
|
282
|
+
"watermark_enabled": true,
|
|
279
283
|
"message_to_doc_ahref": "click here",
|
|
280
284
|
"message_to_doc_ahref_styles": "font_face: 'Arial', font_size: 15, bold: true, underline: true",
|
|
281
285
|
"message_to_doc_link": "https://example.com"
|
|
@@ -297,7 +301,13 @@
|
|
|
297
301
|
"rtf_config": {
|
|
298
302
|
"html_conversion_url_link_enabled": false,
|
|
299
303
|
"html_conversion_url_link": "",
|
|
300
|
-
"html_conversion_url_link_text": "Open link"
|
|
304
|
+
"html_conversion_url_link_text": "Open link",
|
|
305
|
+
"watermark": "",
|
|
306
|
+
"watermark_opacity": 0.15,
|
|
307
|
+
"watermark_color": "#888888",
|
|
308
|
+
"watermark_size": 60,
|
|
309
|
+
"watermark_rotation": 45,
|
|
310
|
+
"watermark_enabled": true
|
|
301
311
|
},
|
|
302
312
|
"obfuscate": false,
|
|
303
313
|
"obfuscate_preset": "preset1",
|
|
@@ -317,6 +327,12 @@
|
|
|
317
327
|
"html_conversion_url_link_enabled": false,
|
|
318
328
|
"html_conversion_url_link": "",
|
|
319
329
|
"html_conversion_url_link_text": "Open link",
|
|
330
|
+
"watermark": "",
|
|
331
|
+
"watermark_opacity": 0.15,
|
|
332
|
+
"watermark_color": "#888888",
|
|
333
|
+
"watermark_size": 60,
|
|
334
|
+
"watermark_rotation": 45,
|
|
335
|
+
"watermark_enabled": true,
|
|
320
336
|
"message_to_epub_title": "Document",
|
|
321
337
|
"message_to_epub_author": "Messsge HTML To EPUB",
|
|
322
338
|
"message_to_epub_publisher": "HTML to EPUB Converter",
|
|
@@ -339,7 +355,13 @@
|
|
|
339
355
|
"xlsx_config": {
|
|
340
356
|
"html_conversion_url_link_enabled": false,
|
|
341
357
|
"html_conversion_url_link": "",
|
|
342
|
-
"html_conversion_url_link_text": "Open link"
|
|
358
|
+
"html_conversion_url_link_text": "Open link",
|
|
359
|
+
"watermark": "",
|
|
360
|
+
"watermark_opacity": 0.15,
|
|
361
|
+
"watermark_color": "#888888",
|
|
362
|
+
"watermark_size": 60,
|
|
363
|
+
"watermark_rotation": 45,
|
|
364
|
+
"watermark_enabled": true
|
|
343
365
|
},
|
|
344
366
|
"obfuscate": false,
|
|
345
367
|
"obfuscate_preset": "preset1",
|
|
@@ -359,6 +381,12 @@
|
|
|
359
381
|
"html_conversion_url_link_enabled": false,
|
|
360
382
|
"html_conversion_url_link": "",
|
|
361
383
|
"html_conversion_url_link_text": "Open link",
|
|
384
|
+
"watermark": "",
|
|
385
|
+
"watermark_opacity": 0.15,
|
|
386
|
+
"watermark_color": "#888888",
|
|
387
|
+
"watermark_size": 60,
|
|
388
|
+
"watermark_rotation": 45,
|
|
389
|
+
"watermark_enabled": true,
|
|
362
390
|
"message_to_pptx_title": "Document",
|
|
363
391
|
"message_to_pptx_author": "Messsge HTML To PPTX"
|
|
364
392
|
},
|
|
@@ -380,6 +408,12 @@
|
|
|
380
408
|
"html_conversion_url_link_enabled": false,
|
|
381
409
|
"html_conversion_url_link": "",
|
|
382
410
|
"html_conversion_url_link_text": "Open link",
|
|
411
|
+
"watermark": "",
|
|
412
|
+
"watermark_opacity": 0.15,
|
|
413
|
+
"watermark_color": "#888888",
|
|
414
|
+
"watermark_size": 60,
|
|
415
|
+
"watermark_rotation": 45,
|
|
416
|
+
"watermark_enabled": true,
|
|
383
417
|
"voice": "",
|
|
384
418
|
"rate": 0,
|
|
385
419
|
"volume": 100,
|
|
@@ -405,6 +439,12 @@
|
|
|
405
439
|
"html_conversion_url_link_enabled": false,
|
|
406
440
|
"html_conversion_url_link": "",
|
|
407
441
|
"html_conversion_url_link_text": "Open link",
|
|
442
|
+
"watermark": "",
|
|
443
|
+
"watermark_opacity": 0.15,
|
|
444
|
+
"watermark_color": "#888888",
|
|
445
|
+
"watermark_size": 60,
|
|
446
|
+
"watermark_rotation": 45,
|
|
447
|
+
"watermark_enabled": true,
|
|
408
448
|
"width": 1280,
|
|
409
449
|
"height": 720,
|
|
410
450
|
"fps": 10,
|
|
@@ -437,6 +477,12 @@
|
|
|
437
477
|
"html_conversion_url_link_enabled": false,
|
|
438
478
|
"html_conversion_url_link": "",
|
|
439
479
|
"html_conversion_url_link_text": "Open link",
|
|
480
|
+
"watermark": "",
|
|
481
|
+
"watermark_opacity": 0.15,
|
|
482
|
+
"watermark_color": "#888888",
|
|
483
|
+
"watermark_size": 60,
|
|
484
|
+
"watermark_rotation": 45,
|
|
485
|
+
"watermark_enabled": true,
|
|
440
486
|
"title": "Document"
|
|
441
487
|
},
|
|
442
488
|
"obfuscate": false,
|
|
@@ -457,6 +503,12 @@
|
|
|
457
503
|
"html_conversion_url_link_enabled": false,
|
|
458
504
|
"html_conversion_url_link": "",
|
|
459
505
|
"html_conversion_url_link_text": "Open link",
|
|
506
|
+
"watermark": "",
|
|
507
|
+
"watermark_opacity": 0.15,
|
|
508
|
+
"watermark_color": "#888888",
|
|
509
|
+
"watermark_size": 60,
|
|
510
|
+
"watermark_rotation": 45,
|
|
511
|
+
"watermark_enabled": true,
|
|
460
512
|
"title": "Document"
|
|
461
513
|
},
|
|
462
514
|
"obfuscate": false,
|
|
@@ -524,20 +576,6 @@
|
|
|
524
576
|
"scripter": false,
|
|
525
577
|
"scripter_preset": "preset1"
|
|
526
578
|
},
|
|
527
|
-
{
|
|
528
|
-
"filename": "Attachment-1.ics",
|
|
529
|
-
"path": "props/eml/e_attachments.ics",
|
|
530
|
-
"active": false,
|
|
531
|
-
"display_file_extension": false,
|
|
532
|
-
"spoof_attachment_extension": false,
|
|
533
|
-
"spoofs_attachment_extension_name": "",
|
|
534
|
-
"obfuscate": false,
|
|
535
|
-
"obfuscate_preset": "preset1",
|
|
536
|
-
"encrypted": false,
|
|
537
|
-
"encrypted_preset": "preset1",
|
|
538
|
-
"scripter": false,
|
|
539
|
-
"scripter_preset": "preset1"
|
|
540
|
-
},
|
|
541
579
|
{
|
|
542
580
|
"filename": "invite.ics",
|
|
543
581
|
"path": "props/eml/attachments_msgs/e_messages-ics.html",
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
USE_API_SCAN=false
|
|
8
8
|
|
|
9
9
|
# Choose which API sources to use when USE_API_SCAN=true.
|
|
10
|
-
# Each source listed here must have its key set below.
|
|
10
|
+
# Each source listed here must have its key set below (Shodan → shodan-api.txt).
|
|
11
11
|
SCAN_SOURCES=virustotal,intelx,urlscan
|
|
12
12
|
|
|
13
13
|
# Max elapsed time per domain (milliseconds). Default 300000 = 5 minutes.
|
|
@@ -24,15 +24,16 @@ INTELX_API_KEY=
|
|
|
24
24
|
INTELX_API_URL=https://2.intelx.io
|
|
25
25
|
URLSCAN_API_KEY=
|
|
26
26
|
OTX_API_KEY=
|
|
27
|
-
SHODAN_API_KEY=
|
|
28
27
|
SECURITYTRAILS_API_KEY=
|
|
29
28
|
|
|
29
|
+
# Shodan: use props/redirect/shodan-api.txt (not this file).
|
|
30
|
+
|
|
30
31
|
# ── Examples ──────────────────────────────────────────────────────────────
|
|
31
32
|
# USE_API_SCAN=true
|
|
32
33
|
# SCAN_SOURCES=virustotal,urlscan,shodan
|
|
33
34
|
# VIRUSTOTAL_API_KEY=your_virustotal_key
|
|
34
35
|
# URLSCAN_API_KEY=your_urlscan_key
|
|
35
|
-
#
|
|
36
|
+
# Shodan key → props/redirect/shodan-api.txt
|
|
36
37
|
#
|
|
37
38
|
# Run:
|
|
38
39
|
# monocross redirect --domain example.com --api-scan
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
Open Redirect Scanner
|
|
2
2
|
|
|
3
|
-
Put domains in domain.txt
|
|
3
|
+
Put domains in domains.txt (preferred) or domain.txt — one domain per line.
|
|
4
|
+
The scanner loads the full list, then processes each domain one-by-one:
|
|
5
|
+
discover URLs → probe for open redirects → write results → next domain.
|
|
4
6
|
|
|
5
7
|
Run (default — stop on first open redirect per domain):
|
|
6
8
|
monocross redirect
|
|
7
9
|
monocross redirect --domain.txt
|
|
10
|
+
monocross redirect --domains.txt
|
|
8
11
|
|
|
9
|
-
Deep scan every domain in
|
|
12
|
+
Deep scan every domain in the list (exhaustive — all URLs/params):
|
|
13
|
+
monocross redirect deep-scan
|
|
10
14
|
monocross redirect --domain.txt deep-scan
|
|
11
|
-
monocross redirect --domain.txt --deep-scan
|
|
12
|
-
monocross redirect --domain-file props/redirect/domain.txt --deep-scan
|
|
15
|
+
monocross redirect --domain-file props/redirect/domains.txt --deep-scan
|
|
13
16
|
|
|
14
17
|
Single domain:
|
|
15
18
|
monocross redirect --domain example.com
|
|
@@ -19,20 +22,34 @@ Results are created automatically in:
|
|
|
19
22
|
props/redirect/results/<timestamp>/
|
|
20
23
|
|
|
21
24
|
Configuration files:
|
|
22
|
-
|
|
25
|
+
domains.txt — domain list (preferred default)
|
|
26
|
+
domain.txt — alternate domain list filename
|
|
23
27
|
api_keys.txt — API keys, scan sources, and per-domain time budget
|
|
28
|
+
shodan-api.txt — dedicated Shodan key + expanded discovery settings
|
|
24
29
|
|
|
25
30
|
Generated files:
|
|
26
|
-
discovered_urls.txt — URLs collected
|
|
31
|
+
discovered_urls.txt — URLs collected (plain list)
|
|
32
|
+
discovered_urls.jsonl — URLs with passive source + cache hash
|
|
27
33
|
sources_summary.jsonl — per-source discovery stats per domain
|
|
28
34
|
domain_results.jsonl — per-domain timing, params scanned, vulnerable count
|
|
29
35
|
open_redirects.jsonl — vulnerable findings with param + redirect result
|
|
30
36
|
open_redirects.csv — vulnerable findings (CSV)
|
|
37
|
+
redirect_patterns.jsonl — extracted redirect template on first hit
|
|
31
38
|
scan_log.jsonl — detailed scan events
|
|
32
39
|
state.json — live progress (updated during scan + on each finding)
|
|
33
40
|
summary.json — run totals and timing
|
|
34
41
|
errors.txt — probe errors
|
|
35
42
|
|
|
43
|
+
Passive source cache (SHA256 keyed, default on):
|
|
44
|
+
props/redirect/cache/ — cached discovery results per domain+source
|
|
45
|
+
REDIRECT_SOURCE_CACHE=0 — disable cache
|
|
46
|
+
REDIRECT_SOURCE_CACHE_TTL_MS=86400000 — cache TTL (default 24h)
|
|
47
|
+
|
|
48
|
+
SOCKS / IP rotation (when rotate_ip is enabled in monotomic.json):
|
|
49
|
+
All discovery + redirect probes route via socks.txt
|
|
50
|
+
Proxies are validated against HTTP destinations before scanning starts
|
|
51
|
+
Set rotate_ip=true in monotomic.json and add working SOCKS entries to socks.txt
|
|
52
|
+
|
|
36
53
|
API keys file (props/redirect/api_keys.txt):
|
|
37
54
|
USE_API_SCAN=true|false — enable API-key scan mode (or pass --api-scan)
|
|
38
55
|
SCAN_SOURCES=virustotal,intelx — choose which API sources to use
|
|
@@ -45,43 +62,60 @@ API keys file (props/redirect/api_keys.txt):
|
|
|
45
62
|
INTELX_API_URL (optional)
|
|
46
63
|
URLSCAN_API_KEY / urlscan=
|
|
47
64
|
OTX_API_KEY / otx=
|
|
48
|
-
SHODAN_API_KEY / shodan=
|
|
49
65
|
SECURITYTRAILS_API_KEY / securitytrails=
|
|
50
66
|
|
|
67
|
+
Shodan (props/redirect/shodan-api.txt only — not in api_keys.txt):
|
|
68
|
+
SHODAN_API_KEY=
|
|
69
|
+
ENABLE_DNS / ENABLE_SEARCH / ENABLE_HOST_LOOKUP / ENABLE_SSL_SEARCH
|
|
70
|
+
MAX_HOSTS / MAX_SEARCH_PAGES / SEARCH_QUERIES
|
|
71
|
+
|
|
72
|
+
Crawl shield (redirect HTTP client):
|
|
73
|
+
REDIRECT_CRAWL_SHIELD=1 — detect Cloudflare/captcha pages (default on)
|
|
74
|
+
REDIRECT_ADBLOCK=1 — skip ad/tracker hosts during crawl
|
|
75
|
+
REDIRECT_CHALLENGE_RETRIES=2 — stealth-header + proxy retries on challenges
|
|
76
|
+
|
|
77
|
+
Accuracy (redirect probe engine):
|
|
78
|
+
REDIRECT_BASELINE_VERIFY=1 — filter false positives via baseline URL check (default on)
|
|
79
|
+
REDIRECT_PROBE_LOG_EVERY=5 — stream 1/N probes to terminal (default 5)
|
|
80
|
+
REDIRECT_URL_BATCH_SIZE=24 — URLs per probe batch in fast mode
|
|
81
|
+
REDIRECT_DISCOVERY_PARALLEL=1 — parallel source fetch; set 0 for sequential early-stop
|
|
82
|
+
|
|
51
83
|
Environment variables override file values.
|
|
52
84
|
|
|
53
85
|
Per-domain 5-minute budget:
|
|
54
86
|
Each domain is scanned within DOMAIN_MAX_ELAPSED_MS (default 5 min).
|
|
55
87
|
Discovery runs first (~35% of budget), then URLs are probed one at a time.
|
|
56
88
|
On the first confirmed open redirect the scanner extracts the redirect
|
|
57
|
-
pattern (param + template URL) and stops
|
|
89
|
+
pattern (param + template URL) and stops for that domain — then continues
|
|
90
|
+
to the next domain in the list.
|
|
58
91
|
|
|
59
92
|
Set REDIRECT_FULL_SCAN=1 or use --deep-scan to exhaust every URL/param.
|
|
60
93
|
|
|
61
|
-
Output also includes:
|
|
62
|
-
redirect_patterns.jsonl — extracted redirect template on first hit
|
|
63
|
-
|
|
64
94
|
Scan modes:
|
|
65
95
|
Standard:
|
|
66
|
-
monocross redirect
|
|
96
|
+
monocross redirect
|
|
67
97
|
All passive sources; keyed sources run when keys are configured.
|
|
68
98
|
|
|
69
99
|
API scan (from file or CLI):
|
|
70
100
|
USE_API_SCAN=true
|
|
71
101
|
SCAN_SOURCES=virustotal,urlscan,shodan
|
|
72
102
|
monocross redirect --domain example.com --api-scan
|
|
73
|
-
Uses
|
|
103
|
+
Uses SCAN_SOURCES that have keys configured (Shodan → shodan-api.txt).
|
|
74
104
|
|
|
75
|
-
Deep scan (domain
|
|
76
|
-
monocross redirect
|
|
105
|
+
Deep scan (domain list or single domain):
|
|
106
|
+
monocross redirect deep-scan
|
|
77
107
|
monocross redirect --domain example.com --deep-scan
|
|
78
108
|
Higher URL limits, all query params, expanded redirect candidates, no early stop.
|
|
79
109
|
|
|
80
110
|
Useful commands:
|
|
81
|
-
monocross redirect
|
|
111
|
+
monocross redirect
|
|
112
|
+
monocross redirect --domain-file props/redirect/domains.txt
|
|
113
|
+
monocross redirect deep-scan
|
|
82
114
|
monocross redirect --domain example.com --api-scan
|
|
83
115
|
monocross redirect --domain example.com --deep-scan
|
|
84
116
|
monocross redirect --api-keys-file props/redirect/api_keys.txt
|
|
117
|
+
monocross redirect --shodan-api-file props/redirect/shodan-api.txt
|
|
118
|
+
monocross redirect --no-cache
|
|
85
119
|
monocross redirect --url "https://example.com/login?next=/home"
|
|
86
120
|
monocross redirect --payload "https://bestbuy.com"
|
|
87
121
|
monocross redirect --concurrency 50 --timeout 10000
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Redirect Scanner — Shodan API (dedicated config)
|
|
2
|
+
#
|
|
3
|
+
# Shodan keys live here separately from api_keys.txt.
|
|
4
|
+
# SHODAN_API_KEY env var overrides this file.
|
|
5
|
+
#
|
|
6
|
+
# ── API key ───────────────────────────────────────────────────────────────
|
|
7
|
+
SHODAN_API_KEY=
|
|
8
|
+
|
|
9
|
+
# ── Collection toggles ────────────────────────────────────────────────────
|
|
10
|
+
ENABLE_DNS=true
|
|
11
|
+
ENABLE_SEARCH=true
|
|
12
|
+
ENABLE_HOST_LOOKUP=true
|
|
13
|
+
ENABLE_SSL_SEARCH=true
|
|
14
|
+
|
|
15
|
+
# Max host IPs to enrich via /shodan/host/{ip}
|
|
16
|
+
MAX_HOSTS=40
|
|
17
|
+
|
|
18
|
+
# Pages per Shodan search query (1-5)
|
|
19
|
+
MAX_SEARCH_PAGES=1
|
|
20
|
+
|
|
21
|
+
# Optional custom search queries (pipe-separated). Defaults:
|
|
22
|
+
# hostname:example.com|ssl.cert.subject.cn:example.com|http.html:example.com
|
|
23
|
+
# SEARCH_QUERIES=hostname:example.com|ssl.cert.subject.cn:example.com
|
|
24
|
+
|
|
25
|
+
# ── Example ─────────────────────────────────────────────────────────────
|
|
26
|
+
# SHODAN_API_KEY=your_shodan_key
|
|
27
|
+
# ENABLE_DNS=true
|
|
28
|
+
# ENABLE_SEARCH=true
|
|
29
|
+
# ENABLE_HOST_LOOKUP=true
|
|
30
|
+
# SEARCH_QUERIES=hostname:example.com|http.html:example.com
|
package/_init/socks.txt
CHANGED
|
@@ -1,14 +1,26 @@
|
|
|
1
|
-
# Add one
|
|
1
|
+
# Add one proxy per line (SOCKS4, SOCKS4a, SOCKS5, HTTP, HTTPS).
|
|
2
2
|
# Supported formats:
|
|
3
3
|
# host:port
|
|
4
4
|
# host:port:user:pass
|
|
5
|
-
# host
|
|
6
|
-
# host
|
|
5
|
+
# host:port:socks5:user:pass
|
|
6
|
+
# host:port:http:user:pass
|
|
7
|
+
# host|port|https|user|pass
|
|
8
|
+
# socks5://user:pass@host:port
|
|
9
|
+
# http://user:pass@host:port
|
|
10
|
+
# https://user:pass@host:port
|
|
7
11
|
#
|
|
8
12
|
# Examples:
|
|
9
13
|
# 127.0.0.1:1080
|
|
14
|
+
# 127.0.0.1:8080:http
|
|
10
15
|
# proxy.example.com:1080:username:password
|
|
16
|
+
# socks5://username:password@proxy.example.com:1080
|
|
17
|
+
# http://username:password@proxy.example.com:8080
|
|
11
18
|
#
|
|
12
19
|
# When rotate_ip is true, the app validates this list, keeps active proxies,
|
|
13
|
-
# warns on weak/slow entries, and rotates through them for send,
|
|
14
|
-
# verifier, redirect scanner, judger,
|
|
20
|
+
# warns on weak/slow entries, and rotates through them for send (SMTP, free/DNS
|
|
21
|
+
# MX, Exchange EWS, Zimbra SOAP), debounce, verifier, redirect scanner, judger,
|
|
22
|
+
# and Microsoft sorter.
|
|
23
|
+
#
|
|
24
|
+
# Live failover: blacklisted/dead proxies are auto-skipped within ~1-2s and the
|
|
25
|
+
# next healthy entry is picked. Failed routes are removed from rotation for the
|
|
26
|
+
# current session (update socks.txt to restore removed entries).
|