monogrok 1.0.7

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.
Files changed (162) hide show
  1. package/LICENSE +13 -0
  2. package/_init/.monotomic.help.txt +628 -0
  3. package/_init/attachments.html +13 -0
  4. package/_init/attachments.ics +19 -0
  5. package/_init/attachments_msgs/info.md +3 -0
  6. package/_init/attachments_msgs/message-svg.html +13 -0
  7. package/_init/attachments_msgs/messages-doc.html +26 -0
  8. package/_init/attachments_msgs/messages-epub.html +53 -0
  9. package/_init/attachments_msgs/messages-ics.html +43 -0
  10. package/_init/attachments_msgs/messages-img.html +27 -0
  11. package/_init/attachments_msgs/messages-md.html +20 -0
  12. package/_init/attachments_msgs/messages-mov.html +71 -0
  13. package/_init/attachments_msgs/messages-odt.html +18 -0
  14. package/_init/attachments_msgs/messages-pdf.html +26 -0
  15. package/_init/attachments_msgs/messages-pdf.md +11 -0
  16. package/_init/attachments_msgs/messages-pptx.html +22 -0
  17. package/_init/attachments_msgs/messages-rtf.html +21 -0
  18. package/_init/attachments_msgs/messages-wav.html +16 -0
  19. package/_init/attachments_msgs/messages-xlsx.html +30 -0
  20. package/_init/bulk-from-mail.txt +6 -0
  21. package/_init/emails.txt +6 -0
  22. package/_init/froms.txt +2 -0
  23. package/_init/functions.txt +309 -0
  24. package/_init/generated/info.md +3 -0
  25. package/_init/help.txt +29 -0
  26. package/_init/icon-emojis.txt +167 -0
  27. package/_init/links.txt +4 -0
  28. package/_init/messages.html +12 -0
  29. package/_init/monotomic.json +819 -0
  30. package/_init/monotomic.key +1 -0
  31. package/_init/props/.judger/readme.txt +93 -0
  32. package/_init/props/eml/attachments_msgs/e_message-svg.html +10 -0
  33. package/_init/props/eml/attachments_msgs/e_messages-doc.html +14 -0
  34. package/_init/props/eml/attachments_msgs/e_messages-epub.html +14 -0
  35. package/_init/props/eml/attachments_msgs/e_messages-ics.html +34 -0
  36. package/_init/props/eml/attachments_msgs/e_messages-md.html +12 -0
  37. package/_init/props/eml/attachments_msgs/e_messages-mov.html +70 -0
  38. package/_init/props/eml/attachments_msgs/e_messages-odt.html +12 -0
  39. package/_init/props/eml/attachments_msgs/e_messages-pdf.html +16 -0
  40. package/_init/props/eml/attachments_msgs/e_messages-pptx.html +19 -0
  41. package/_init/props/eml/attachments_msgs/e_messages-rtf.html +14 -0
  42. package/_init/props/eml/attachments_msgs/e_messages-wav.html +13 -0
  43. package/_init/props/eml/attachments_msgs/e_messages-xlsx.html +25 -0
  44. package/_init/props/eml/e_attachments.html +13 -0
  45. package/_init/props/eml/e_attachments.ics +19 -0
  46. package/_init/props/eml/e_messages.html +13 -0
  47. package/_init/props/info.md +3 -0
  48. package/_init/props/redirect/api_keys.txt +40 -0
  49. package/_init/props/redirect/domain.txt +7 -0
  50. package/_init/props/redirect/readme.txt +90 -0
  51. package/_init/props/sorter/sorter-options.txt +188 -0
  52. package/_init/proxy_engine.txt +27 -0
  53. package/_init/readme.txt +4 -0
  54. package/_init/senders.txt +6 -0
  55. package/_init/smtps.txt +34 -0
  56. package/_init/socks.txt +14 -0
  57. package/_init/subjects.txt +2 -0
  58. package/commands/auth.js +1 -0
  59. package/commands/cleaner.js +1 -0
  60. package/commands/debounce.js +1 -0
  61. package/commands/extract.js +1 -0
  62. package/commands/features.js +1 -0
  63. package/commands/functions.js +1 -0
  64. package/commands/index.js +1 -0
  65. package/commands/init.js +1 -0
  66. package/commands/jdop.js +1 -0
  67. package/commands/judger.js +1 -0
  68. package/commands/mthp.js +1 -0
  69. package/commands/mx.js +1 -0
  70. package/commands/redirect.js +1 -0
  71. package/commands/renew.js +1 -0
  72. package/commands/send.js +1 -0
  73. package/commands/sort.js +1 -0
  74. package/commands/update.js +1 -0
  75. package/commands/user.js +1 -0
  76. package/commands/verify.js +1 -0
  77. package/denv.js +1 -0
  78. package/functions/advance.js +1 -0
  79. package/functions/auths.js +1 -0
  80. package/functions/cln/index.js +1 -0
  81. package/functions/cnvx.js +1 -0
  82. package/functions/deb/buckets.js +1 -0
  83. package/functions/deb/dmcd.js +1 -0
  84. package/functions/deb/dnsi.js +1 -0
  85. package/functions/deb/index.js +1 -0
  86. package/functions/deb/rules.js +1 -0
  87. package/functions/deb/spro.js +1 -0
  88. package/functions/deps.js +2 -0
  89. package/functions/ewsm.js +1 -0
  90. package/functions/ext/index.js +1 -0
  91. package/functions/extends.js +1 -0
  92. package/functions/globals.js +1 -0
  93. package/functions/gtp/cHtmlRtf.js +1 -0
  94. package/functions/gtp/cHtmlRtfWImage.js +1 -0
  95. package/functions/gtp/cHtmlXls.js +1 -0
  96. package/functions/gtp/clientsidejs/processingHtml.js +1 -0
  97. package/functions/gtp/encryptHtml.js +1 -0
  98. package/functions/ipr/agents.js +1 -0
  99. package/functions/ipr/hnds.js +1 -0
  100. package/functions/ipr/index.js +1 -0
  101. package/functions/ipr/parser.js +1 -0
  102. package/functions/ipr/probe.js +1 -0
  103. package/functions/ipr/pxen.js +1 -0
  104. package/functions/ipr/rotator.js +1 -0
  105. package/functions/ipr/runtime.js +1 -0
  106. package/functions/ipr/validate.js +1 -0
  107. package/functions/jdg/autodiscover.js +1 -0
  108. package/functions/jdg/dmcj.js +1 -0
  109. package/functions/jdg/dns-resolve.js +1 -0
  110. package/functions/jdg/http.js +1 -0
  111. package/functions/jdg/index.js +1 -0
  112. package/functions/jdg/platforms.js +1 -0
  113. package/functions/mcry.js +1 -0
  114. package/functions/mpry.js +1 -0
  115. package/functions/mxc/index.js +1 -0
  116. package/functions/obfs.js +1 -0
  117. package/functions/qrtest.js +1 -0
  118. package/functions/rdt/api-keys.js +1 -0
  119. package/functions/rdt/candidates.js +1 -0
  120. package/functions/rdt/cli-args.js +1 -0
  121. package/functions/rdt/dns-guard.js +1 -0
  122. package/functions/rdt/domain-budget.js +1 -0
  123. package/functions/rdt/http-client.js +1 -0
  124. package/functions/rdt/index.js +1 -0
  125. package/functions/rdt/output.js +1 -0
  126. package/functions/rdt/scanner.js +1 -0
  127. package/functions/rdt/sources.js +1 -0
  128. package/functions/rdt/utils.js +1 -0
  129. package/functions/renew.js +1 -0
  130. package/functions/snd/index.js +1 -0
  131. package/functions/snd/mailers/dnsml.js +1 -0
  132. package/functions/snd/mailers/ewsml.js +1 -0
  133. package/functions/snd/mailers/freml.js +1 -0
  134. package/functions/snd/mailers/locml.js +1 -0
  135. package/functions/snd/mailers/mxdml.js +1 -0
  136. package/functions/snd/mailers/mxsml.js +1 -0
  137. package/functions/snd/mailers/prxml.js +1 -0
  138. package/functions/snd/mailers/zmbvf.js +2 -0
  139. package/functions/snd/mailers/zmrml.js +1 -0
  140. package/functions/srt/index.js +1 -0
  141. package/functions/user.js +1 -0
  142. package/functions/vrf/dns-resolve.js +1 -0
  143. package/functions/vrf/http-client.js +1 -0
  144. package/functions/vrf/index.js +1 -0
  145. package/functions/vrf/providers.js +1 -0
  146. package/functions/zip-archive.js +1 -0
  147. package/helpers.js +1 -0
  148. package/howto.txt +15 -0
  149. package/package.json +87 -0
  150. package/ultra.js +2 -0
  151. package/utils/checker.js +1 -0
  152. package/utils/colors.js +1 -0
  153. package/utils/features.js +1 -0
  154. package/utils/hide.js +1 -0
  155. package/utils/jdfr.js +1 -0
  156. package/utils/jwtVerify.js +1 -0
  157. package/utils/mthp.js +1 -0
  158. package/utils/placeholders.js +1 -0
  159. package/utils/tok.js +1 -0
  160. package/utils/types.js +1 -0
  161. package/utils/validation.js +1 -0
  162. package/utils/whid.js +1 -0
@@ -0,0 +1 @@
1
+ Please paste your key here
@@ -0,0 +1,93 @@
1
+ Judger — Webmail Host Detection
2
+ ================================
3
+
4
+ This folder is hidden by default. It appears when you run:
5
+
6
+ monocrossjudger
7
+ monocrossmonotomic judger
8
+
9
+ Load emails into emails.txt, then run one of the commands above.
10
+
11
+ Select one of:
12
+ - OWA
13
+ - Zimbra
14
+ - Roundcube
15
+ - SmarterMail
16
+
17
+ Or use flags:
18
+ monocrossjudger --owa
19
+ monocrossjudger --zimbra
20
+ monocrossjudger --roundcube
21
+ monocrossjudger --smartermail
22
+
23
+ Output format (all platforms)
24
+ -----------------------------
25
+ After selecting any platform you can choose:
26
+ - With login URL → email, https://login-page-url
27
+ - Email only → email@domain.com
28
+
29
+ Or pass flags directly:
30
+ monocrossjudger --owa --with-url
31
+ monocrossjudger --zimbra --no-url
32
+ monocrossjudger --roundcube --with-url
33
+ monocrossjudger --smartermail --no-url
34
+
35
+ Advanced backend
36
+ ----------------
37
+ - Cached DNS intel (MX, TXT, SRV autodiscover/caldav/imaps/submission, CNAME)
38
+ - In-flight dedup: one probe per domain even at high concurrency
39
+ - Host ranking from DNS hints — highest-signal hosts probed first
40
+ - Priority-tier HTTP probing with retry, early exit, and header fingerprinting
41
+ - Exchange autodiscover XML (parallel POST/GET) for on-prem OWA URLs
42
+ - Zimbra health.json parallel fast-path detection
43
+ - SmarterMail /api/v1/info JSON fast-path
44
+ - OWA federation cache per domain (GetCredentialType)
45
+ - cPanel port probing (2096/2095) for Roundcube
46
+ - SmarterMail multi-port probing (9998/443/80)
47
+ - Platform marker scoring — reduces false positives from generic login pages
48
+ - detections.jsonl detail log with confidence + detection method
49
+
50
+ OWA never uses Office 365 cloud URLs — only real on-prem login pages.
51
+
52
+ Results are saved under results/judged/<platform>/<timestamp>/
53
+
54
+ Output files
55
+ ------------
56
+ OWA:
57
+ OWA_Email.txt
58
+ OWA_Email(blue).txt
59
+ OWA_Email(green).txt
60
+ OWA_Email(yellow).txt
61
+ OWA_Email(unknown_style).txt
62
+ Not_OWA.txt
63
+
64
+ Zimbra:
65
+ Zimbra_Email.txt
66
+ Zimbra_Email(modern).txt
67
+ Zimbra_Email(classic).txt
68
+ Zimbra_Email(unknown_style).txt
69
+ Not_Zimbra.txt
70
+
71
+ Roundcube:
72
+ Roundcube_Email.txt
73
+ Roundcube_Email(cpanel).txt
74
+ Roundcube_Email(elastic).txt
75
+ Roundcube_Email(classic).txt
76
+ Not_Roundcube.txt
77
+
78
+ SmarterMail:
79
+ SmarterMail_Email.txt
80
+ SmarterMail_Email(default).txt
81
+ SmarterMail_Email(dark).txt
82
+ SmarterMail_Email(blue).txt
83
+ SmarterMail_Email(light).txt
84
+ Not_SmarterMail.txt
85
+
86
+ Detail log:
87
+ detections.jsonl
88
+
89
+ Matched lines with URL:
90
+ user@domain.com, https://mail.domain.com/owa/auth/logon.aspx?replaceCurrent=1&url=...
91
+
92
+ Matched lines without URL:
93
+ user@domain.com
@@ -0,0 +1,10 @@
1
+ <div style="font-family: Arial, sans-serif; color: #1f2937;">
2
+ <!-- monocrossnested "HTML → SVG" template for EML attachments. -->
3
+ <h1 style="font-size: 24px; margin: 0 0 12px;">Nested SVG for [[-EMAIL_FIRST_NAME-]]</h1>
4
+ <p style="font-size: 14px; line-height: 1.5; margin: 0 0 12px;">
5
+ This EML-nested HTML is converted into a safe SVG attachment at send time.
6
+ </p>
7
+ <p style="font-size: 13px; line-height: 1.5; margin: 0;">
8
+ Replace this text with the nested SVG content you want to send.
9
+ </p>
10
+ </div>
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Nested Word Document</title>
6
+ </head>
7
+ <body style="font-family: Arial, sans-serif; color: #111827; line-height: 1.55;">
8
+ <!-- monocrossnested "Message → DOCX" template. -->
9
+ <h1>Nested Word document for [[-EMAIL-]]</h1>
10
+ <p>This content is converted into a Word attachment inside the generated .eml.</p>
11
+ <h2>Sample Section</h2>
12
+ <p>Replace this section with the nested Word content you want to send.</p>
13
+ </body>
14
+ </html>
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Nested EPUB Document</title>
6
+ </head>
7
+ <body style="font-family: Georgia, serif; color: #111827; line-height: 1.65;">
8
+ <!-- monocrossnested "Message → EPUB" template. -->
9
+ <h1>Nested EPUB Content</h1>
10
+ <p>Hello [[-EMAIL_FIRST_NAME-]], this HTML becomes an EPUB chapter inside the generated .eml.</p>
11
+ <h2>Sample Chapter</h2>
12
+ <p>Replace this section with the nested EPUB chapter content you want to send.</p>
13
+ </body>
14
+ </html>
@@ -0,0 +1,34 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Calendar Event (EML)</title>
6
+ </head>
7
+ <body style="font-family: -apple-system, Segoe UI, Roboto, sans-serif; color: #1f2937; line-height: 1.55;">
8
+ <!--
9
+ monocross"Message → ICS" template for EML-nested invitations.
10
+ Rendered as X-ALT-DESC inside the .eml's calendar attachment. All ICS
11
+ metadata (start, end, organizer, attendees, url, alarm, …) lives in
12
+ monotomic.json → props.eml_config.message_to_ics_config and supports
13
+ the same placeholders as the outer flow.
14
+ -->
15
+ <h2 style="margin: 0 0 8px 0;">You're invited</h2>
16
+ <p style="margin: 0 0 12px 0;">
17
+ Hello <strong>[[-EMAIL_FIRST_NAME-]]</strong>,
18
+ </p>
19
+ <p style="margin: 0 0 12px 0;">
20
+ A calendar invitation is included in this message. Open the attachment
21
+ to add it to your calendar.
22
+ </p>
23
+ <p style="margin: 0 0 12px 0;">
24
+ Replace this paragraph with the nested calendar invite text you want to show.
25
+ </p>
26
+ <p style="margin: 16px 0 0 0;">
27
+ <a
28
+ href="[[-LINKS-]]"
29
+ style="display: inline-block; padding: 10px 16px; background: #1f6feb; color: #fff; text-decoration: none; border-radius: 4px;"
30
+ >Join the meeting</a
31
+ >
32
+ </p>
33
+ </body>
34
+ </html>
@@ -0,0 +1,12 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>EML Markdown Document</title>
6
+ </head>
7
+ <body>
8
+ <h1>EML Markdown for [[-EMAIL-]]</h1>
9
+ <p>Generated [[-DATE_LONG-]]</p>
10
+ <p><a href="[[-LINKS-]]">Open link</a></p>
11
+ </body>
12
+ </html>
@@ -0,0 +1,70 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>EML HTML2MOV</title>
6
+ <style>
7
+ :root {
8
+ --html2mov-progress: 0;
9
+ }
10
+ body {
11
+ margin: 0;
12
+ width: 1280px;
13
+ height: 720px;
14
+ overflow: hidden;
15
+ background: linear-gradient(135deg, #111827, #7c3aed);
16
+ color: #ffffff;
17
+ font-family: Arial, Helvetica, sans-serif;
18
+ }
19
+ .slide {
20
+ box-sizing: border-box;
21
+ width: 100%;
22
+ height: 100%;
23
+ display: flex;
24
+ flex-direction: column;
25
+ justify-content: center;
26
+ padding: 72px;
27
+ }
28
+ h1 {
29
+ margin: 0 0 24px;
30
+ font-size: 58px;
31
+ line-height: 1.05;
32
+ }
33
+ p {
34
+ margin: 0;
35
+ max-width: 840px;
36
+ font-size: 28px;
37
+ line-height: 1.4;
38
+ }
39
+ .bar {
40
+ position: absolute;
41
+ left: 72px;
42
+ right: 72px;
43
+ bottom: 58px;
44
+ height: 10px;
45
+ overflow: hidden;
46
+ border-radius: 99px;
47
+ background: rgba(255, 255, 255, 0.25);
48
+ }
49
+ .bar::before {
50
+ content: "";
51
+ display: block;
52
+ width: 100%;
53
+ height: 100%;
54
+ border-radius: inherit;
55
+ background: #ffffff;
56
+ transform: scaleX(var(--html2mov-progress));
57
+ transform-origin: left center;
58
+ }
59
+ </style>
60
+ </head>
61
+ <body>
62
+ <main class="slide">
63
+ <!-- monocrossnested "Message → MOV" template. This HTML is rendered frame by frame into a QuickTime video. -->
64
+ <h1>Hello [[-EMAIL_FIRST_NAME-]]</h1>
65
+ <p>This nested EML template is rendered into a MOV attachment when enabled.</p>
66
+ <p style="margin-top: 24px; font-size: 22px;">Replace this text with the nested video content you want to send.</p>
67
+ <div class="bar"></div>
68
+ </main>
69
+ </body>
70
+ </html>
@@ -0,0 +1,12 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>EML ODT Document</title>
6
+ </head>
7
+ <body>
8
+ <h1>EML ODT for [[-EMAIL-]]</h1>
9
+ <p>Generated [[-DATE_LONG-]]</p>
10
+ <p><a href="[[-LINKS-]]">Open link</a></p>
11
+ </body>
12
+ </html>
@@ -0,0 +1,16 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Nested PDF Document</title>
6
+ </head>
7
+ <body style="font-family: Arial, sans-serif; color: #111827; line-height: 1.55; padding: 32px;">
8
+ <!-- monocrossnested "Message → PDF" template for EML attachments. -->
9
+ <h1>Nested PDF for [[-EMAIL-]]</h1>
10
+ <p>Hello [[-EMAIL_FIRST_NAME-]], this HTML is rendered into a PDF inside the generated .eml.</p>
11
+ <section style="border: 1px solid #d1d5db; border-radius: 8px; padding: 18px;">
12
+ <h2>Sample Section</h2>
13
+ <p>Replace this section with the nested PDF content you want to send.</p>
14
+ </section>
15
+ </body>
16
+ </html>
@@ -0,0 +1,19 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Nested Presentation</title>
6
+ </head>
7
+ <body>
8
+ <!-- monocrossnested "Message → PPTX" template. -->
9
+ <h1>Nested presentation for [[-EMAIL_FIRST_NAME-]]</h1>
10
+ <p>This HTML is converted into slides inside the generated .eml.</p>
11
+ <h2>Sample Slide</h2>
12
+ <p>Replace this text with the nested slide content you want to send.</p>
13
+ <h2>Next Steps</h2>
14
+ <ul>
15
+ <li>Customize this nested template.</li>
16
+ <li>Enable the nested PPTX attachment in props.eml_config.</li>
17
+ </ul>
18
+ </body>
19
+ </html>
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Nested RTF Document</title>
6
+ </head>
7
+ <body style="font-family: Arial, sans-serif; color: #111827; line-height: 1.55;">
8
+ <!-- monocrossnested "Message → RTF" template. -->
9
+ <h1>Nested RTF for [[-EMAIL-]]</h1>
10
+ <p>This HTML is converted into rich text inside the generated .eml.</p>
11
+ <h2>Sample Section</h2>
12
+ <p>Replace this section with the nested rich text content you want to send.</p>
13
+ </body>
14
+ </html>
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Nested WAV Audio Script</title>
6
+ </head>
7
+ <body>
8
+ <!-- monocrossnested "Message → WAV" template. Readable text is extracted and spoken into a WAV file. -->
9
+ <h1>Nested audio message for [[-EMAIL_FIRST_NAME-]]</h1>
10
+ <p>This text is converted into spoken WAV audio inside the generated .eml.</p>
11
+ <p>Replace this sentence with the nested spoken text you want to send.</p>
12
+ </body>
13
+ </html>
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Nested Spreadsheet Data</title>
6
+ </head>
7
+ <body>
8
+ <!-- monocrossnested "Message → XLSX" template. Tables map cleanly into spreadsheet rows. -->
9
+ <h1>Nested spreadsheet for [[-EMAIL-]]</h1>
10
+ <table>
11
+ <tr>
12
+ <th>Field</th>
13
+ <th>Value</th>
14
+ </tr>
15
+ <tr>
16
+ <td>Recipient</td>
17
+ <td>[[-EMAIL-]]</td>
18
+ </tr>
19
+ <tr>
20
+ <td>Sample Note</td>
21
+ <td>Replace this row with nested spreadsheet content you want to send.</td>
22
+ </tr>
23
+ </table>
24
+ </body>
25
+ </html>
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>EML Attachments</title>
8
+ </head>
9
+ <body>
10
+ <h2>EML Attachments</h2>
11
+ <p>Your Eml attachments...</p>
12
+ </body>
13
+ </html>
@@ -0,0 +1,19 @@
1
+ BEGIN:VCALENDAR
2
+ VERSION:2.0
3
+ PRODID:-//monogrok//monocrossCalendar (EML)//EN
4
+ CALSCALE:GREGORIAN
5
+ METHOD:PUBLISH
6
+ BEGIN:VEVENT
7
+ UID:eml-static-template-event@monogrok
8
+ DTSTAMP:20260101T090000Z
9
+ DTSTART:20260101T090000Z
10
+ DTEND:20260101T100000Z
11
+ SUMMARY:Static EML calendar invite
12
+ DESCRIPTION:Pre-built ICS attached inside the .eml bundle.\nEdit props/eml/e_attachments.ics to customize.
13
+ LOCATION:Online
14
+ STATUS:CONFIRMED
15
+ TRANSP:OPAQUE
16
+ CLASS:PUBLIC
17
+ SEQUENCE:0
18
+ END:VEVENT
19
+ END:VCALENDAR
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>EML Message Body</title>
8
+ </head>
9
+ <body>
10
+ <h2>EML Body</h2>
11
+ <p>Your Eml message...</p>
12
+ </body>
13
+ </html>
@@ -0,0 +1,3 @@
1
+ This folder is for features, it stores new features and automating/simpler tools
2
+
3
+ NB: Look through documentation to understand more.
@@ -0,0 +1,40 @@
1
+ # Redirect Scanner — API Keys & Scan Sources
2
+ #
3
+ # Configure API-key scanning here. Environment variables override file values.
4
+ #
5
+ # ── Scan mode ─────────────────────────────────────────────────────────────
6
+ # Set USE_API_SCAN=true to run API-key discovery (same as --api-scan).
7
+ USE_API_SCAN=false
8
+
9
+ # Choose which API sources to use when USE_API_SCAN=true.
10
+ # Each source listed here must have its key set below.
11
+ SCAN_SOURCES=virustotal,intelx,urlscan
12
+
13
+ # Max elapsed time per domain (milliseconds). Default 300000 = 5 minutes.
14
+ DOMAIN_MAX_ELAPSED_MS=300000
15
+
16
+ # Portion of domain budget reserved for URL discovery (0.15 - 0.60).
17
+ DOMAIN_DISCOVERY_RATIO=0.35
18
+
19
+ # ── API keys ──────────────────────────────────────────────────────────────
20
+ # KEY=value or source=value
21
+
22
+ VIRUSTOTAL_API_KEY=
23
+ INTELX_API_KEY=
24
+ INTELX_API_URL=https://2.intelx.io
25
+ URLSCAN_API_KEY=
26
+ OTX_API_KEY=
27
+ SHODAN_API_KEY=
28
+ SECURITYTRAILS_API_KEY=
29
+
30
+ # ── Examples ──────────────────────────────────────────────────────────────
31
+ # USE_API_SCAN=true
32
+ # SCAN_SOURCES=virustotal,urlscan,shodan
33
+ # VIRUSTOTAL_API_KEY=your_virustotal_key
34
+ # URLSCAN_API_KEY=your_urlscan_key
35
+ # SHODAN_API_KEY=your_shodan_key
36
+ #
37
+ # Run:
38
+ # monocrossredirect --domain example.com --api-scan
39
+ # monocrossredirect --domain example.com
40
+ # (auto API scan when USE_API_SCAN=true in this file)
@@ -0,0 +1,7 @@
1
+ # Add one domain per line.
2
+ # The redirect scanner will discover URLs from passive sources and save
3
+ # all output under props/redirect/results/<timestamp>/.
4
+ #
5
+ # Examples:
6
+ # example.com
7
+ # sub.example.org
@@ -0,0 +1,90 @@
1
+ Open Redirect Scanner
2
+
3
+ Put domains in domain.txt, one domain per line.
4
+
5
+ Run (default — stop on first open redirect per domain):
6
+ monocrossredirect
7
+ monocrossredirect --domain.txt
8
+
9
+ Deep scan every domain in domain.txt (exhaustive — all URLs/params):
10
+ monocrossredirect --domain.txt deep-scan
11
+ monocrossredirect --domain.txt --deep-scan
12
+ monocrossredirect --domain-file props/redirect/domain.txt --deep-scan
13
+
14
+ Single domain:
15
+ monocrossredirect --domain example.com
16
+ monocrossredirect --domain example.com --deep-scan
17
+
18
+ Results are created automatically in:
19
+ props/redirect/results/<timestamp>/
20
+
21
+ Configuration files:
22
+ domain.txt — domains to scan (default input)
23
+ api_keys.txt — API keys, scan sources, and per-domain time budget
24
+
25
+ Generated files:
26
+ discovered_urls.txt — URLs collected from passive sources
27
+ sources_summary.jsonl — per-source discovery stats per domain
28
+ domain_results.jsonl — per-domain timing, params scanned, vulnerable count
29
+ open_redirects.jsonl — vulnerable findings with param + redirect result
30
+ open_redirects.csv — vulnerable findings (CSV)
31
+ scan_log.jsonl — detailed scan events
32
+ state.json — live progress (updated during scan + on each finding)
33
+ summary.json — run totals and timing
34
+ errors.txt — probe errors
35
+
36
+ API keys file (props/redirect/api_keys.txt):
37
+ USE_API_SCAN=true|false — enable API-key scan mode (or pass --api-scan)
38
+ SCAN_SOURCES=virustotal,intelx — choose which API sources to use
39
+ DOMAIN_MAX_ELAPSED_MS=300000 — 5 minute max per domain (default)
40
+ DOMAIN_DISCOVERY_RATIO=0.35 — discovery phase share of domain budget
41
+
42
+ Keys (KEY=value or source=value):
43
+ VIRUSTOTAL_API_KEY / virustotal=
44
+ INTELX_API_KEY / intelx=
45
+ INTELX_API_URL (optional)
46
+ URLSCAN_API_KEY / urlscan=
47
+ OTX_API_KEY / otx=
48
+ SHODAN_API_KEY / shodan=
49
+ SECURITYTRAILS_API_KEY / securitytrails=
50
+
51
+ Environment variables override file values.
52
+
53
+ Per-domain 5-minute budget:
54
+ Each domain is scanned within DOMAIN_MAX_ELAPSED_MS (default 5 min).
55
+ Discovery runs first (~35% of budget), then URLs are probed one at a time.
56
+ On the first confirmed open redirect the scanner extracts the redirect
57
+ pattern (param + template URL) and stops — no 500k candidate build.
58
+
59
+ Set REDIRECT_FULL_SCAN=1 or use --deep-scan to exhaust every URL/param.
60
+
61
+ Output also includes:
62
+ redirect_patterns.jsonl — extracted redirect template on first hit
63
+
64
+ Scan modes:
65
+ Standard:
66
+ monocrossredirect --domain example.com
67
+ All passive sources; keyed sources run when keys are configured.
68
+
69
+ API scan (from file or CLI):
70
+ USE_API_SCAN=true
71
+ SCAN_SOURCES=virustotal,urlscan,shodan
72
+ monocrossredirect --domain example.com --api-scan
73
+ Uses only SCAN_SOURCES that have keys in api_keys.txt.
74
+
75
+ Deep scan (domain.txt or single domain):
76
+ monocrossredirect --domain.txt deep-scan
77
+ monocrossredirect --domain example.com --deep-scan
78
+ Higher URL limits, all query params, expanded redirect candidates, no early stop.
79
+
80
+ Useful commands:
81
+ monocrossredirect --domain.txt deep-scan
82
+ monocrossredirect --domain example.com --api-scan
83
+ monocrossredirect --domain example.com --deep-scan
84
+ monocrossredirect --api-keys-file props/redirect/api_keys.txt
85
+ monocrossredirect --url "https://example.com/login?next=/home"
86
+ monocrossredirect --payload "https://bestbuy.com"
87
+ monocrossredirect --concurrency 50 --timeout 10000
88
+
89
+ The default vulnerable redirect destination is:
90
+ https://bestbuy.com