monoplutomars 1.0.1

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 (145) hide show
  1. package/LICENSE +13 -0
  2. package/_init/attachments.html +13 -0
  3. package/_init/attachments.ics +19 -0
  4. package/_init/attachments_msgs/info.md +3 -0
  5. package/_init/attachments_msgs/message-svg.html +13 -0
  6. package/_init/attachments_msgs/messages-doc.html +26 -0
  7. package/_init/attachments_msgs/messages-epub.html +53 -0
  8. package/_init/attachments_msgs/messages-ics.html +43 -0
  9. package/_init/attachments_msgs/messages-img.html +27 -0
  10. package/_init/attachments_msgs/messages-mov.html +71 -0
  11. package/_init/attachments_msgs/messages-pdf.html +26 -0
  12. package/_init/attachments_msgs/messages-pptx.html +22 -0
  13. package/_init/attachments_msgs/messages-rtf.html +21 -0
  14. package/_init/attachments_msgs/messages-wav.html +16 -0
  15. package/_init/attachments_msgs/messages-xlsx.html +30 -0
  16. package/_init/bulk-from-mail.txt +6 -0
  17. package/_init/emails.txt +7 -0
  18. package/_init/froms.txt +2 -0
  19. package/_init/functions.txt +309 -0
  20. package/_init/generated/info.md +3 -0
  21. package/_init/help.txt +28 -0
  22. package/_init/icon-emojis.txt +48 -0
  23. package/_init/links.txt +3 -0
  24. package/_init/messages.html +1 -0
  25. package/_init/monotomic.help.txt +555 -0
  26. package/_init/monotomic.json +679 -0
  27. package/_init/monotomic.key +1 -0
  28. package/_init/props/eml/attachments.ics +2 -0
  29. package/_init/props/eml/attachments.mov +2 -0
  30. package/_init/props/eml/attachments.wav +2 -0
  31. package/_init/props/eml/attachments_msgs/e_message-svg.html +10 -0
  32. package/_init/props/eml/attachments_msgs/e_messages-doc.html +14 -0
  33. package/_init/props/eml/attachments_msgs/e_messages-epub.html +14 -0
  34. package/_init/props/eml/attachments_msgs/e_messages-ics.html +34 -0
  35. package/_init/props/eml/attachments_msgs/e_messages-mov.html +70 -0
  36. package/_init/props/eml/attachments_msgs/e_messages-pdf.html +16 -0
  37. package/_init/props/eml/attachments_msgs/e_messages-pptx.html +19 -0
  38. package/_init/props/eml/attachments_msgs/e_messages-rtf.html +14 -0
  39. package/_init/props/eml/attachments_msgs/e_messages-wav.html +13 -0
  40. package/_init/props/eml/attachments_msgs/e_messages-xlsx.html +25 -0
  41. package/_init/props/eml/e_attachments.html +13 -0
  42. package/_init/props/eml/e_attachments.ics +19 -0
  43. package/_init/props/eml/e_messages.html +13 -0
  44. package/_init/props/info.md +3 -0
  45. package/_init/props/judger/readme.txt +85 -0
  46. package/_init/props/redirect/api_keys.txt +40 -0
  47. package/_init/props/redirect/domain.txt +7 -0
  48. package/_init/props/redirect/readme.txt +90 -0
  49. package/_init/props/sorter/sorter-options.txt +188 -0
  50. package/_init/proxy_engine.txt +27 -0
  51. package/_init/readme.txt +4 -0
  52. package/_init/senders.txt +6 -0
  53. package/_init/smtps.txt +25 -0
  54. package/_init/socks.txt +14 -0
  55. package/_init/subjects.txt +2 -0
  56. package/commands/auth.js +1 -0
  57. package/commands/cleaner.js +1 -0
  58. package/commands/debounce.js +1 -0
  59. package/commands/extract.js +1 -0
  60. package/commands/features.js +1 -0
  61. package/commands/functions.js +1 -0
  62. package/commands/index.js +1 -0
  63. package/commands/init.js +1 -0
  64. package/commands/judger.js +1 -0
  65. package/commands/mx.js +1 -0
  66. package/commands/redirect.js +1 -0
  67. package/commands/renew.js +1 -0
  68. package/commands/send.js +1 -0
  69. package/commands/sort.js +1 -0
  70. package/commands/update.js +1 -0
  71. package/commands/user.js +1 -0
  72. package/commands/verify.js +1 -0
  73. package/denv.js +1 -0
  74. package/functions/advance.js +1 -0
  75. package/functions/auths.js +1 -0
  76. package/functions/cln/index.js +1 -0
  77. package/functions/deb/buckets.js +1 -0
  78. package/functions/deb/dns-intel.js +1 -0
  79. package/functions/deb/domain-cache.js +1 -0
  80. package/functions/deb/index.js +1 -0
  81. package/functions/deb/rules.js +1 -0
  82. package/functions/deb/smtp-probe.js +1 -0
  83. package/functions/ext/index.js +1 -0
  84. package/functions/extends.js +1 -0
  85. package/functions/globals.js +1 -0
  86. package/functions/gtp/cHtmlRtf.js +1 -0
  87. package/functions/gtp/cHtmlRtfWImage.js +1 -0
  88. package/functions/gtp/cHtmlXls.js +1 -0
  89. package/functions/gtp/encryptHtml.js +1 -0
  90. package/functions/ipr/agents.js +1 -0
  91. package/functions/ipr/index.js +1 -0
  92. package/functions/ipr/parser.js +1 -0
  93. package/functions/ipr/probe.js +1 -0
  94. package/functions/ipr/proxy-engine.js +1 -0
  95. package/functions/ipr/rotator.js +1 -0
  96. package/functions/ipr/runtime.js +1 -0
  97. package/functions/ipr/smtp-handshake.js +1 -0
  98. package/functions/ipr/validate.js +1 -0
  99. package/functions/jdg/autodiscover.js +1 -0
  100. package/functions/jdg/dns-resolve.js +1 -0
  101. package/functions/jdg/http.js +1 -0
  102. package/functions/jdg/index.js +1 -0
  103. package/functions/jdg/platforms.js +1 -0
  104. package/functions/mxc/index.js +1 -0
  105. package/functions/qrtest.js +1 -0
  106. package/functions/rdt/api-keys.js +1 -0
  107. package/functions/rdt/candidates.js +1 -0
  108. package/functions/rdt/cli-args.js +1 -0
  109. package/functions/rdt/dns-guard.js +1 -0
  110. package/functions/rdt/domain-budget.js +1 -0
  111. package/functions/rdt/http-client.js +1 -0
  112. package/functions/rdt/index.js +1 -0
  113. package/functions/rdt/output.js +1 -0
  114. package/functions/rdt/scanner.js +1 -0
  115. package/functions/rdt/sources.js +1 -0
  116. package/functions/rdt/utils.js +1 -0
  117. package/functions/renew.js +1 -0
  118. package/functions/snd/index.js +1 -0
  119. package/functions/snd/mailers/mailer-dns.js +1 -0
  120. package/functions/snd/mailers/mailer-ews.js +1 -0
  121. package/functions/snd/mailers/mailer-free.js +1 -0
  122. package/functions/snd/mailers/mailer-local.js +1 -0
  123. package/functions/snd/mailers/mailer-mx-direct.js +1 -0
  124. package/functions/snd/mailers/mailer-mx.js +1 -0
  125. package/functions/snd/mailers/mailer-proxy.js +1 -0
  126. package/functions/snd/mailers/mailer-zimbra.js +1 -0
  127. package/functions/snd/mailers/verify-zimbra.js +2 -0
  128. package/functions/srt/index.js +1 -0
  129. package/functions/user.js +1 -0
  130. package/functions/vrf/dns-resolve.js +1 -0
  131. package/functions/vrf/http-client.js +1 -0
  132. package/functions/vrf/index.js +1 -0
  133. package/functions/vrf/providers.js +1 -0
  134. package/helpers.js +1 -0
  135. package/howto.txt +15 -0
  136. package/models/user.js +1 -0
  137. package/package.json +63 -0
  138. package/ultra.js +2 -0
  139. package/utils/checker.js +1 -0
  140. package/utils/colors.js +1 -0
  141. package/utils/features.js +1 -0
  142. package/utils/jwtVerify.js +1 -0
  143. package/utils/placeholders.js +1 -0
  144. package/utils/types.js +1 -0
  145. package/utils/validation.js +1 -0
@@ -0,0 +1,555 @@
1
+ =======================================================================
2
+ monotomic.json — Field-by-Field Guide
3
+ =======================================================================
4
+
5
+ Each section below mirrors the structure of monotomic.json. Open both
6
+ files side by side and use this guide to understand what every field
7
+ does, what values it accepts, and how to enable each feature.
8
+
9
+
10
+ -----------------------------------------------------------------------
11
+ SMTP — outgoing mail server credentials
12
+ -----------------------------------------------------------------------
13
+ smtp[] Array of SMTP servers. Add multiple
14
+ entries to enable bulk SMTP rotation
15
+ (see configurations.agent.bulk_smtp).
16
+
17
+ smtp[].host SMTP hostname. e.g. smtp.gmail.com
18
+ Host-only entries work for open relays
19
+ (no username/password required).
20
+ smtp[].port SMTP port. e.g. 25, 587, 2525, 465
21
+ smtp[].secure true for 465 (SSL), false for STARTTLS
22
+ (25 / 587 / 2525)
23
+ smtp[].user SMTP username (optional for host-only relay).
24
+ e.g. your-email@gmail.com
25
+ smtp[].pass SMTP password (optional when user is omitted)
26
+ Never commit live SMTP credentials. The
27
+ default monotomic.json uses placeholders and
28
+ the sender refuses placeholder SMTP credentials
29
+ when SMTP sending is enabled. Leave user/pass
30
+ out (or use only host) for no-auth relays.
31
+
32
+
33
+ -----------------------------------------------------------------------
34
+ EXTERNAL FILE PATHS — text files loaded at runtime
35
+ -----------------------------------------------------------------------
36
+ smtps_list.path Bulk SMTP rotation list (one per line).
37
+ Formats:
38
+ host (no auth, port 25)
39
+ host|port (no auth)
40
+ host|port|user
41
+ host|port|user|password
42
+ host:port
43
+ host:port:user:password
44
+ smtp://host:25 (no auth)
45
+ smtp://user:password@host:587
46
+ smtps://user:password@host:465
47
+ host|port|user|password|from@domain.com
48
+ host|port|user|password|from1@domain.com,from2@domain.com
49
+ Legacy: host|port|user|password=from1@domain.com,from2@domain.com
50
+ IP addresses and printer/no-auth SMTP relays
51
+ are supported. Missing port defaults to 25
52
+ when no user is provided, or 587 when a user
53
+ is provided. Port 465 defaults to secure TLS.
54
+ socks_list.path SOCKS5 proxies for rotate_ip
55
+ proxy_engine_list.path Bulk SOCKS proxy list path for
56
+ proxy_socks_direct_engine. Points to
57
+ proxy_engine.txt.
58
+ Format: host:port or
59
+ host:port:user:pass
60
+ links_list.path Multiple-links pool — one URL per line
61
+ froms_list.path Multiple from_names pool
62
+ emails_list.path Recipients list — one email per line.
63
+ Supports unlimited bulk lists: the sender
64
+ streams emails.txt from disk in chunks
65
+ (no full in-memory load). Duplicates are
66
+ skipped automatically. Use display-name
67
+ format for [[-FIRST_NAME-]] / [[-FULL_NAME-]]:
68
+ Full Name <email@domain.com>
69
+ senders_list.path Multiple sender addresses pool
70
+ subjects_list.path Multiple subjects pool — one per line
71
+ messages_body.path HTML body of the outgoing email
72
+ messages_to_image_body.path HTML that gets rendered to an inline
73
+ image (used by message_to_image)
74
+
75
+
76
+ -----------------------------------------------------------------------
77
+ OUTER ATTACHMENTS — files attached to the outgoing mail
78
+ -----------------------------------------------------------------------
79
+ attachments[].filename The name the recipient sees
80
+ attachments[].path Local file or HTML template path
81
+ attachments[].active true = attach, false = skip
82
+ .zip files are supported as static binary
83
+ attachments and are delivered as
84
+ application/zip.
85
+ attachments[].display_file_extension
86
+ true = keep .ext visible to recipient
87
+ false = hide the .ext (MIME still tells
88
+ the mail client what it is)
89
+ attachments[].html_to_svg_config
90
+ Optional for .svg attachments. HTML in the
91
+ source file is sanitized and wrapped into a
92
+ static SVG using width/height/padding/
93
+ background/title/url_link_enabled/url_link/
94
+ url_link_text. The configured URL renders only
95
+ when url_link_enabled is true.
96
+ Script/event handlers and script-style URLs
97
+ are stripped before delivery.
98
+ attachments[].html_to_wav_config
99
+ Optional for .wav attachments whose path is
100
+ an HTML source file. Readable text is extracted
101
+ and converted into audio/wav using voice/rate/
102
+ volume/url_link_enabled/url_link/url_link_text
103
+ when the platform speech backend is available,
104
+ with a safe fallback WAV generator.
105
+ attachments[].html_to_mov_config
106
+ Optional for .mov attachments whose path is
107
+ an HTML source file. The HTML is rendered to
108
+ frames with Puppeteer and encoded to QuickTime
109
+ MOV with ffmpeg. Supports width/height/fps/
110
+ duration_seconds/max_frames/quality/
111
+ ffmpeg_path/codec/pixel_format/background/
112
+ url_link_enabled/url_link/url_link_text.
113
+ configurations.agent.html_conversion_url_link_enabled
114
+ Shared URL-link switch for all message_to_*
115
+ HTML conversions. When true, appends
116
+ html_conversion_url_link using
117
+ html_conversion_url_link_text before PDF/DOC/
118
+ RTF/EPUB/XLSX/PPTX/ICS/WAV/MOV conversion.
119
+ configurations.agent.embedded_file
120
+ true = attach inline image(s). Use
121
+ embedded_file_path for one image or
122
+ embedded_file_paths for many images. The
123
+ placeholders [[-EMBEDDED_URL-]],
124
+ [[-EMBEDDED_URL(2)-]], etc. resolve to unique
125
+ cid: URLs so multiple images do not collide.
126
+
127
+ Encryption / obfuscation / scripter (only apply to text-based
128
+ attachments — not to binaries like PDF/DOCX/XLSX/EPUB/PPTX/ICS/WAV/MOV,
129
+ and not to SVG, which is kept static after sanitization):
130
+
131
+ attachments[].obfuscate true/false — wrap visible links to
132
+ disguise the destination
133
+ attachments[].obfuscate_preset preset1 … preset50 (50 link obfuscation methods)
134
+ attachments[].encrypted true/false — apply content encryption
135
+ attachments[].encrypted_preset preset1 … preset50 (50 encryption methods)
136
+ attachments[].scripter true/false — inject JS obfuscation
137
+ attachments[].scripter_preset preset1 … preset50 (50 scripter methods)
138
+
139
+ Special "message_to_*" entries (HTML → real binary on the fly). Turn a
140
+ conversion on by setting that attachment entry's active=true. Each entry now
141
+ keeps its own conversion settings beside the filename/path:
142
+
143
+ Message-to-PDF-1.pdf ← pdf_config
144
+ Message-to-DOC-1.docx ← doc_config
145
+ Message-to-RTF-1.rtf ← rtf_config
146
+ Message-to-EPUB-1.epub ← epub_config
147
+ Message-to-XLSX-1.xlsx ← xlsx_config
148
+ Message-to-PPTX-1.pptx ← pptx_config
149
+ invite.ics ← message_to_ics_config
150
+ Message-to-WAV-1.wav ← message_to_wav_config
151
+ Message-to-MOV-1.mov ← message_to_mov_config
152
+
153
+
154
+ -----------------------------------------------------------------------
155
+ configurations.system — low-level runtime flags
156
+ -----------------------------------------------------------------------
157
+ turbo_mode true = fire emails concurrently per
158
+ chunk (faster, less ordered)
159
+ proxy_socks_direct_engine Use SOCKS-only direct-MX transport. Requires
160
+ proxy_engine.proxy_host/proxy_port when
161
+ multiple_proxy_engine=false. Uses
162
+ proxy_engine.txt when multiple_proxy_engine=true.
163
+ Ignores smtp[] credentials, validates proxies,
164
+ and supports all prepared attachments.
165
+ use_zimbra_smtp Use the legitimate Zimbra SOAP fallback when
166
+ normal SMTP submission fails for a Zimbra host.
167
+ Supports host or full SOAP URL values and
168
+ tries safe endpoint candidates such as
169
+ mail./webmail./zimbra.<domain>. Explicit
170
+ endpoints can be supplied with ZIMBRA_SOAP_HOSTS
171
+ (comma/semicolon separated). Tuning env vars:
172
+ ZIMBRA_AUTH_TIMEOUT_MS
173
+ ZIMBRA_SEND_TIMEOUT_MS
174
+ ZIMBRA_RETRY_MAX_ATTEMPTS
175
+ ZIMBRA_RETRY_BACKOFF_MS
176
+ ZIMBRA_MAX_MIME_BYTES
177
+ ZIMBRA_SOAP_CANDIDATE_LIMIT
178
+ use_dns_sending Deliver via each recipient's DNS MX records
179
+ when no SMTP relay is configured, or fall
180
+ back to recipient MX when SMTP connection or
181
+ auth fails. Resolves all MX hosts for the
182
+ recipient domain and tries 25 → 587 → 2525 → 465.
183
+ No SMTP username/password required in DNS-only
184
+ mode. On failure the error is logged and the
185
+ sender continues to the next recipient.
186
+ Incompatible with use_zimbra_smtp (DNS wins).
187
+ use_exchange_smtp Use Microsoft EWS adapter
188
+ use_free_sending Use the free/direct MX transport.
189
+ Resolves all MX records (priority order).
190
+ For each recipient, tries all four ports
191
+ (25 → 587 → 2525 → 465) on each MX before
192
+ moving to the next recipient.
193
+ message_encryption false by default. When true, encrypts the
194
+ fully-rendered messages.html body after all
195
+ placeholders are interpreted, using a
196
+ self-contained HTML decoder so the original
197
+ body renders back correctly.
198
+ retry_again Retry failed sends:
199
+ false = off
200
+ true = 1 retry
201
+ N (e.g. 3) = N retries
202
+ live_view Render a live progress UI in terminal
203
+ live_view_theme Theme number 1–12
204
+ delay_sending true = throttle between recipients
205
+ delay_sending_seconds Seconds of pause when delay_sending=true
206
+
207
+
208
+ -----------------------------------------------------------------------
209
+ configurations.message — per-mail envelope and headers
210
+ -----------------------------------------------------------------------
211
+ from_name Display name on the "From:" header
212
+ from_email Sender address (must match SMTP unless
213
+ spoofing)
214
+ bulk-from_mail true = enable the bulk From mail feature.
215
+ Uses bulk-from-mail.txt and rotates values
216
+ across SMTPs when bulk_smtp=true.
217
+ mail_subject Subject line (supports placeholders
218
+ like [[-RECIPIENT-]])
219
+ reply_to Optional "Reply-To:" header
220
+ mail_priority low | normal | high
221
+ cc Optional CC addresses (comma-separated)
222
+ use_bcc true = use BCC instead of To: for the
223
+ recipient
224
+ use_attachment Master switch for all attachments
225
+ use_hide_from_email Hide the from_email from recipient
226
+
227
+
228
+ -----------------------------------------------------------------------
229
+ configurations.agent — campaign-level feature switches
230
+ -----------------------------------------------------------------------
231
+ is_multi_thread Run multiple sender threads in parallel
232
+ how_many_thread Thread count when is_multi_thread=true
233
+ obfuscator Replace your real link with a disguise
234
+ obfuscator_link The disguised destination URL
235
+ qr_code Attach a generated QR code image
236
+ qr_code_link URL encoded inside the QR
237
+ qr_code_colors "foreground,background" in hex.
238
+ e.g. "#000000,#FFFFFF"
239
+ bulk_smtp Rotate through every smtp[] entry for every
240
+ recipient attempt. In bulk mode the SMTP list
241
+ is treated as a loop and keeps cycling until
242
+ the recipient list finishes or you cancel the
243
+ run. Failed recipients are requeued onto the
244
+ next SMTP indefinitely by default; set
245
+ MAX_BULK_SMTP_REQUEUE to a number only if you
246
+ want an explicit retry cap.
247
+ multiple_senders Rotate through senders.txt
248
+ multiple_subjects Rotate through subjects.txt
249
+ multiple_links Rotate through links.txt
250
+ multiple_proxy_engine true = load many proxies from proxy_engine.txt
251
+ and rotate them across sends. false = use the
252
+ single top-level proxy_engine config.
253
+ multiple_from_names Rotate through froms.txt
254
+ message_to_image Render messages-img.html as an image
255
+ and embed it inline
256
+ message_to_image_link URL the rendered image links to
257
+ embedded_file Inline-embed a file in the HTML body
258
+ embedded_file_path Path to the file to embed inline
259
+ embedded_file_paths Array of inline image paths. Use
260
+ [[-EMBEDDED_URL-]] for the first image and
261
+ [[-EMBEDDED_URL(2)-]] for the second.
262
+ zip_attachment true = attach external files from zip_file_path or
263
+ zip_file_paths. false = skip external attachments.
264
+ Any file type is supported (.exe, .msi, .pdf, .bat,
265
+ .zip, .7z, .docx, etc.) — the original filename and
266
+ extension are preserved.
267
+ zip_file_path Single external attachment path (any format).
268
+ zip_file_paths Array of external attachment paths. Each path may
269
+ point to any file type; placeholders supported.
270
+ HTML conversion attachments All active HTML conversion attachment
271
+ templates can be enabled together. The sender
272
+ materializes PDF/DOC/RTF/EPUB/XLSX/PPTX/ICS/
273
+ WAV/MOV in one shared pass, then appends other
274
+ enabled attachment types such as image, QR,
275
+ embedded file, and EML.
276
+ rotate_ip Route all network traffic through active SOCKS
277
+ proxies from socks.txt when enabled. Applies to
278
+ send (free/DNS/SMTP/Zimbra/EWS/Exchange), debounce,
279
+ verifier, redirect scanner, judger, and Microsoft
280
+ sorter. Supports host:port and host:port:user:pass,
281
+ validates proxies before run, warns on weak/slow
282
+ entries, removes bad ones, then rotates by latency.
283
+ proxy_engine Single-proxy config fields:
284
+ proxy_host, proxy_port, protocol,
285
+ session_rotation, proxy_username,
286
+ proxy_password, smtp_mode, smtp_host,
287
+ smtp_port, smtp_secure, smtp_username,
288
+ smtp_password, batch_route.
289
+ batch_route:
290
+ recipient_mx = default. Resolve each
291
+ recipient MX and dial it
292
+ through the SOCKS proxy.
293
+ configured_smtp = use smtp_host/smtp_port/
294
+ smtp_secure and optional
295
+ smtp_username/password
296
+ through the SOCKS proxy.
297
+ smtp_mode accepts proxy_engine/recipient_mx
298
+ for default mode, or smtp/smtp_relay/
299
+ configured_smtp for configured SMTP relay.
300
+ session_rotation:
301
+ per_message = rotate for each send
302
+ sticky_success = keep a working proxy
303
+ until a send fails, then
304
+ rotate to another one.
305
+ Startup validation checks SOCKS reachability
306
+ against configured SMTP when configured_smtp
307
+ mode is selected. In recipient_mx mode it
308
+ samples recipient MX hosts and keeps only
309
+ proxies that can open an SMTP route. Valid
310
+ proxies are ordered by measured route latency
311
+ and startup logs include pass/fail counts plus
312
+ fastest/slowest latency.
313
+ Runtime failover retries another validated
314
+ proxy for the same recipient before giving up.
315
+ Repeatedly failing proxies are removed from the
316
+ active runtime pool after the failure threshold.
317
+ Tuning:
318
+ PROXY_ENGINE_MX_PROBE_SAMPLE
319
+ PROXY_ENGINE_MAX_PROXY_ATTEMPTS
320
+ PROXY_ENGINE_PROXY_FAIL_THRESHOLD
321
+ proxy_engine.txt Dedicated bulk proxy list for the SOCKS direct
322
+ engine. Used only when multiple_proxy_engine=true.
323
+ Use one proxy per line:
324
+ host:port
325
+ host:port:user:pass
326
+ host:port:socks4
327
+ host:port:socks5:user:pass
328
+ host|port|user|pass
329
+ socks5://user:pass@host:port
330
+ socks4://host:port
331
+ When multiple_proxy_engine=true, these proxies
332
+ are validated and rotated per send.
333
+
334
+ -- HTML → PDF conversion --
335
+ attachments[].pdf_config PDF generation settings stored directly on
336
+ the Message-to-PDF attachment entry.
337
+ pdf_orientation portrait | landscape
338
+
339
+ -- HTML → DOCX conversion --
340
+ attachments[].doc_config Word generation settings stored directly on
341
+ the Message-to-DOC attachment entry.
342
+ message_to_doc_ahref Anchor text shown in the document
343
+ message_to_doc_ahref_styles Inline style for the anchor
344
+ e.g. "font_face: 'Arial', font_size: 15,
345
+ bold: true, underline: true"
346
+ message_to_doc_link Destination URL the anchor points to
347
+
348
+ -- HTML → RTF conversion --
349
+ attachments[].rtf_config RTF generation settings stored directly on
350
+ the Message-to-RTF attachment entry.
351
+
352
+ -- HTML → EPUB conversion --
353
+ attachments[].epub_config EPUB generation settings stored directly on
354
+ the Message-to-EPUB attachment entry.
355
+ message_to_epub_title EPUB metadata: title
356
+ message_to_epub_author EPUB metadata: author
357
+ message_to_epub_publisher EPUB metadata: publisher
358
+ message_to_epub_content_title Title of the first chapter
359
+
360
+ -- HTML → XLSX conversion --
361
+ attachments[].xlsx_config Excel generation settings stored directly on
362
+ the Message-to-XLSX attachment entry.
363
+
364
+ -- HTML → PPTX conversion --
365
+ attachments[].pptx_config PowerPoint generation settings stored
366
+ directly on the Message-to-PPTX attachment.
367
+ message_to_pptx_title PPTX metadata: title
368
+ message_to_pptx_author PPTX metadata: author
369
+
370
+ -- HTML → ICS (calendar invite) conversion --
371
+ attachments[].message_to_ics_config
372
+ Full RFC 5545 event description stored on the
373
+ invite.ics attachment entry:
374
+
375
+ event_title SUMMARY field
376
+ start Start datetime
377
+ e.g. "2026-06-01 09:00"
378
+ (UTC unless timezone set)
379
+ end End datetime — same format as start
380
+ location LOCATION (free text or address)
381
+ description Plain-text DESCRIPTION
382
+ timezone IANA timezone
383
+ e.g. "Europe/London", "America/New_York"
384
+ status CONFIRMED | TENTATIVE | CANCELLED
385
+ transparency OPAQUE (busy) | TRANSPARENT (free)
386
+ priority 0 (undef) … 9 (lowest), 1 is highest
387
+ organizer_email Mailbox of the event organizer
388
+ attendees ["a@x.com", "b@y.com"] — ATTENDEE list
389
+ alarm_minutes_before VALARM lead time in minutes;
390
+ 0 = no alarm
391
+ categories Comma-separated CATEGORIES
392
+ event_url RFC 5545 URL property
393
+ url_link Extra link rendered into description
394
+ + X-ALT-DESC
395
+ url_link_text Anchor text for url_link in the HTML
396
+ alt-description
397
+ rrule RFC 5545 RRULE
398
+ e.g. "FREQ=WEEKLY;BYDAY=MO"
399
+
400
+ -- HTML → WAV audio conversion --
401
+ attachments[].message_to_wav_config
402
+ voice/rate/volume settings stored on the WAV
403
+ attachment entry.
404
+
405
+ -- HTML → MOV video conversion --
406
+ attachments[].message_to_mov_config
407
+ width, height, fps, duration_seconds,
408
+ max_frames, quality, ffmpeg_path, codec,
409
+ pixel_format, background
410
+ Requires FFmpeg in PATH or ffmpeg_path.
411
+
412
+
413
+ -----------------------------------------------------------------------
414
+ props.eml_config — builds the .eml file when eml_attachment=true
415
+ -----------------------------------------------------------------------
416
+ from_name From: name inside the .eml
417
+ from_email From: address inside the .eml
418
+ mail_subject Subject of the .eml
419
+ reply_to Reply-To inside the .eml
420
+ eml_attachment true = attach an .eml file built from this
421
+ props.eml_config block
422
+ eml_attachment_name Filename for the generated .eml
423
+ messages_body.path HTML body for the .eml
424
+
425
+ The block below mirrors agent.message_to_* knobs so EML-nested
426
+ conversions can override the outer settings per-EML. Empty fields
427
+ fall back to the outer agent config.
428
+
429
+ pdf_orientation PDF orientation for the EML-nested PDF
430
+ message_to_doc_ahref Anchor text for the EML-nested DOCX
431
+ message_to_doc_ahref_styles Anchor style for the EML-nested DOCX
432
+ message_to_doc_link Destination URL for the EML-nested DOCX
433
+ message_to_epub_title EPUB title for the EML-nested EPUB
434
+ message_to_epub_author EPUB author
435
+ message_to_epub_publisher EPUB publisher
436
+ message_to_epub_content_title EPUB first-chapter title
437
+ message_to_pptx_title PPTX title for the EML-nested PPTX
438
+ message_to_pptx_author PPTX author
439
+ message_to_ics_config ICS config for the EML-nested ICS
440
+ (same fields as the outer ICS config)
441
+ message_to_wav_config WAV config for the EML-nested WAV
442
+ message_to_mov_config MOV config for the EML-nested MOV
443
+
444
+ Each entry in eml_config.attachments has the same shape as the outer
445
+ attachments — see "OUTER ATTACHMENTS" above. The HTML-conversion
446
+ entries (Message-to-PDF-1.pdf, Message-to-DOC-1.docx, …) live in
447
+ props/eml/attachments_msgs/e_messages-<type>.html and are auto-rendered
448
+ into real binaries when their active=true.
449
+
450
+
451
+ -----------------------------------------------------------------------
452
+ props.sorter_config
453
+ -----------------------------------------------------------------------
454
+ options.path Path to sorter rules. The file format
455
+ is one rule per line:
456
+ filename.txt|["mx-pattern", "..."]
457
+ See _init/props/sorter/sorter-options.txt
458
+ for examples.
459
+ The sorter streams emails.txt, writes buckets
460
+ incrementally, caches MX lookups by domain, and
461
+ places transient lookup failures in
462
+ Unresolved.txt for retry.
463
+ Each run writes state.json live during sorting
464
+ and summary.json when complete, with bucket
465
+ counts, totals, output path, and DNS cache
466
+ statistics.
467
+ Domains with no MX records are written to
468
+ otherNoMX.txt. Domains with MX records that
469
+ do not match any configured sorter rule are
470
+ written to otherMX.txt.
471
+ Large-run tuning env vars:
472
+ SORTER_MX_CONCURRENCY
473
+ SORTER_MS_CONCURRENCY
474
+ SORTER_DNS_TIMEOUT_MS
475
+ SORTER_HTTP_TIMEOUT_MS
476
+ SORTER_RETRIES
477
+ SORTER_MX_CACHE_LIMIT
478
+ SORTER_MAX_OPEN_BUCKETS
479
+
480
+
481
+ -----------------------------------------------------------------------
482
+ verifier
483
+ -----------------------------------------------------------------------
484
+ verify Streams emails.txt and writes valid,
485
+ invalid, and unresolved files under
486
+ results/verified/<timestamp>/.
487
+ Each run writes summary.json with totals, bucket
488
+ counts, output path, and MX DNS cache statistics
489
+ when the verifier uses MX/domain checks.
490
+ HTTP account checks: Microsoft, Google,
491
+ Hotmail, NetEase.
492
+ MX/domain checks: Turbify, AliMail,
493
+ 263xmail, BizQQ, Barracuda.
494
+ Large-run tuning env vars:
495
+ VERIFIER_CONCURRENCY
496
+ VERIFIER_MX_CONCURRENCY
497
+ VERIFIER_HTTP_TIMEOUT_MS
498
+ VERIFIER_DNS_TIMEOUT_MS
499
+ VERIFIER_RETRIES
500
+ VERIFIER_MX_CACHE_LIMIT
501
+
502
+
503
+ -----------------------------------------------------------------------
504
+ debounce
505
+ -----------------------------------------------------------------------
506
+ debounce DeBounce-style email validation with
507
+ Anti-greylisting SMTP RCPT probes with parallel
508
+ MX racing, STARTTLS, null-MX detection, dual
509
+ catch-all probing, domain/email caching.
510
+ Streams emails.txt and writes categorized
511
+ output under results/debounced/<timestamp>/:
512
+ deliverable.txt
513
+ invalid.txt
514
+ syntax.txt
515
+ disposable.txt
516
+ accept-all-catch.txt
517
+ unknown.txt
518
+ spam-trap.txt
519
+ honey-pot.txt
520
+ duplicate.txt
521
+ role-based.txt
522
+ toxic.txt
523
+ abuse.txt
524
+ do-not-mail.txt
525
+ Also writes debounce.jsonl, state.json,
526
+ and summary.json with bucket counts.
527
+ Options:
528
+ --fast / --no-greylist
529
+ faster SMTP with shorter greylist ladder
530
+ --accurate
531
+ dual catch-all + full greylist (default)
532
+ --dns-only
533
+ MX + rule checks only (no SMTP)
534
+ -c, --concurrency <n>
535
+ Env tuning:
536
+ DEBOUNCE_CONCURRENCY (default 25)
537
+ DEBOUNCE_DOMAIN_SMTP_LIMIT (default 2)
538
+ DEBOUNCE_PARALLEL_MX (default on, set 0 off)
539
+ DEBOUNCE_EMAIL_CACHE_LIMIT
540
+ DEBOUNCE_SMTP_TIMEOUT_MS
541
+ DEBOUNCE_GREYLIST_RETRIES
542
+ DEBOUNCE_GREYLIST_DELAYS_MS
543
+ DEBOUNCE_FAST_GREYLIST_DELAYS_MS
544
+ DEBOUNCE_SMTP_PORTS
545
+ DEBOUNCE_EHLO_DOMAIN
546
+ DEBOUNCE_STRICT_TLS
547
+
548
+
549
+ =======================================================================
550
+ TIP: monotomic.json may contain // line comments and /* block */
551
+ comments — the CLI strips them before parsing. But many global
552
+ installs and third-party tools do strict JSON.parse, so for
553
+ maximum compatibility keep monotomic.json strict and put your
554
+ notes in this monotomic.help.txt file instead.
555
+ =======================================================================