monoclaude 1.0.1 → 1.0.3
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/emails.txt +2 -2
- package/_init/functions.txt +2 -0
- package/_init/monotomic.help.txt +10 -10
- package/_init/monotomic.json +33 -82
- package/_init/monotomic.key +1 -1
- package/_init/props/judger/readme.txt +85 -0
- package/_init/props/redirect/readme.txt +20 -2
- package/_init/props/sorter/sorter-options.txt +1 -3
- package/_init/proxy_engine.txt +21 -14
- package/commands/auth.js +1 -1
- package/commands/cleaner.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/judger.js +1 -0
- 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/attachment-presets-advanced.js +1 -0
- package/functions/attachment-presets-ext.js +1 -0
- package/functions/auths.js +1 -1
- package/functions/cleaner/index.js +1 -1
- package/functions/extractor/index.js +1 -1
- package/functions/globalThirdParty/cHtmlRtf.js +1 -1
- package/functions/globalThirdParty/cHtmlRtfWImage.js +1 -1
- package/functions/globalThirdParty/cHtmlXls.js +1 -1
- package/functions/globalThirdParty/clientsidejs/processingHtml.js +1 -1
- package/functions/globalThirdParty/encryptHtml.js +1 -1
- package/functions/globals.js +1 -1
- package/functions/ip-rotate/index.js +1 -1
- package/functions/ip-rotate/parser.js +1 -0
- package/functions/ip-rotate/probe.js +1 -0
- package/functions/ip-rotate/rotator.js +1 -0
- package/functions/ip-rotate/validate.js +1 -0
- package/functions/judger/autodiscover.js +1 -0
- package/functions/judger/dns-resolve.js +1 -0
- package/functions/judger/http.js +1 -0
- package/functions/judger/index.js +1 -0
- package/functions/judger/platforms.js +1 -0
- package/functions/mx/index.js +1 -1
- package/functions/redirect/candidates.js +1 -0
- package/functions/redirect/dns-guard.js +1 -0
- package/functions/redirect/http-client.js +1 -0
- package/functions/redirect/index.js +1 -1
- package/functions/redirect/output.js +1 -0
- package/functions/redirect/scanner.js +1 -0
- package/functions/redirect/sources.js +1 -0
- package/functions/redirect/utils.js +1 -0
- package/functions/renew.js +1 -1
- package/functions/sender/index.js +1 -1
- package/functions/sender/mailers/mailer-ews.js +1 -1
- package/functions/sender/mailers/mailer-free.js +1 -1
- package/functions/sender/mailers/mailer-local.js +1 -1
- package/functions/sender/mailers/mailer-mx.js +1 -1
- package/functions/sender/mailers/mailer-proxy.js +1 -1
- package/functions/sender/mailers/mailer-zimbra.js +1 -1
- package/functions/sender/mailers/verify-zimbra.js +1 -1
- package/functions/sorter/index.js +1 -1
- package/functions/tmp_qr_attach_test.js +1 -1
- package/functions/user.js +1 -1
- package/functions/verifier/dns-resolve.js +1 -0
- package/functions/verifier/http-client.js +1 -0
- package/functions/verifier/index.js +1 -1
- package/functions/verifier/providers.js +1 -0
- package/helpers.js +1 -1
- package/models/user.js +1 -1
- package/package.json +2 -2
- package/ultra.js +1 -1
- package/utils/checker.js +1 -1
- package/utils/colors.js +1 -1
- package/utils/features.js +1 -1
- package/utils/jwtVerify.js +1 -1
- package/utils/placeholders.js +1 -1
- package/utils/types.js +1 -1
- package/utils/validation.js +1 -1
- package/_init/requirements.txt +0 -37
package/_init/emails.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Add one recipient per line.
|
|
2
|
-
# Use "Full Name <email>" when you want [[-
|
|
3
|
-
#
|
|
2
|
+
# Use "Full Name <email>" when you want [[-FIRST_NAME-]] / [[-FULL_NAME-]]
|
|
3
|
+
# from the display name (falls back to email local-part when no display name).
|
|
4
4
|
#
|
|
5
5
|
# Clinton O'Neill <clinton@nationalautoservice.com.au>
|
|
6
6
|
# Denny Sun <boolk.sun@gmail.com>
|
package/_init/functions.txt
CHANGED
|
@@ -13,6 +13,8 @@ MESSAGE BODY: [[-BODY-]]
|
|
|
13
13
|
USER EMAIL: [[-EMAIL-]]
|
|
14
14
|
USER EMAIL NAME: [[-EMAIL_NAME-]]
|
|
15
15
|
USER EMAIL FIRST NAME (display name first, email fallback): [[-EMAIL_FIRST_NAME-]]
|
|
16
|
+
USER DISPLAY FIRST NAME (display name first, email local-part fallback): [[-FIRST_NAME-]]
|
|
17
|
+
USER DISPLAY FULL NAME (display name first, email local-part fallback): [[-FULL_NAME-]]
|
|
16
18
|
USER EMAIL USERNAME: [[-EMAIL_USERNAME-]]
|
|
17
19
|
USER EMAIL DOMAIN: [[-EMAIL_DOMAIN-]]
|
|
18
20
|
USER EMAIL DOMAIN NAME: [[-DOMAIN_NAME-]]
|
package/_init/monotomic.help.txt
CHANGED
|
@@ -54,7 +54,13 @@ proxy_engine_list.path Bulk SOCKS proxy list path for
|
|
|
54
54
|
host:port:user:pass
|
|
55
55
|
links_list.path Multiple-links pool — one URL per line
|
|
56
56
|
froms_list.path Multiple from_names pool
|
|
57
|
-
emails_list.path Recipients list — one email per line
|
|
57
|
+
emails_list.path Recipients list — one email per line.
|
|
58
|
+
Supports unlimited bulk lists: the sender
|
|
59
|
+
streams emails.txt from disk in chunks
|
|
60
|
+
(no full in-memory load). Duplicates are
|
|
61
|
+
skipped automatically. Use display-name
|
|
62
|
+
format for [[-FIRST_NAME-]] / [[-FULL_NAME-]]:
|
|
63
|
+
Full Name <email@domain.com>
|
|
58
64
|
senders_list.path Multiple sender addresses pool
|
|
59
65
|
subjects_list.path Multiple subjects pool — one per line
|
|
60
66
|
messages_body.path HTML body of the outgoing email
|
|
@@ -119,17 +125,11 @@ and not to SVG, which is kept static after sanitization):
|
|
|
119
125
|
|
|
120
126
|
attachments[].obfuscate true/false — wrap visible links to
|
|
121
127
|
disguise the destination
|
|
122
|
-
attachments[].obfuscate_preset preset1
|
|
123
|
-
preset5 | preset6 | preset7 | preset8
|
|
124
|
-
preset9 | preset10
|
|
128
|
+
attachments[].obfuscate_preset preset1 … preset50 (50 link obfuscation methods)
|
|
125
129
|
attachments[].encrypted true/false — apply content encryption
|
|
126
|
-
attachments[].encrypted_preset preset1
|
|
127
|
-
preset5 | preset6 | preset7 | preset8
|
|
128
|
-
preset9 | preset10
|
|
130
|
+
attachments[].encrypted_preset preset1 … preset50 (50 encryption methods)
|
|
129
131
|
attachments[].scripter true/false — inject JS obfuscation
|
|
130
|
-
attachments[].scripter_preset preset1
|
|
131
|
-
preset5 | preset6 | preset7 | preset8
|
|
132
|
-
preset9 | preset10
|
|
132
|
+
attachments[].scripter_preset preset1 … preset50 (50 scripter methods)
|
|
133
133
|
|
|
134
134
|
Special "message_to_*" entries (HTML → real binary on the fly). Turn a
|
|
135
135
|
conversion on by setting that attachment entry's active=true. Each entry now
|
package/_init/monotomic.json
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
// Welcome To Monotomic Agent Configuration File
|
|
2
|
-
// This File Is Used To Configure The Application And Email Message Features
|
|
3
|
-
// Comments Are Ignored By The Application Parser And Do Not Count As Config Keys
|
|
4
|
-
// Use Presets preset1 Through preset10 For Obfuscation, Encryption, And Scripter Options
|
|
5
1
|
{
|
|
6
|
-
// Smtp Configuration Section Starts Here
|
|
7
2
|
"smtp": [
|
|
8
3
|
{
|
|
9
4
|
"host": "smtp.example.com",
|
|
@@ -13,9 +8,7 @@
|
|
|
13
8
|
"pass": "smtp-password"
|
|
14
9
|
}
|
|
15
10
|
],
|
|
16
|
-
// Main Configurations Section Starts Here
|
|
17
11
|
"configurations": {
|
|
18
|
-
// Sender, Subject, Reply To, Cc, Bcc, Attachment, Bulk From Mail, Hide From Email Configuration Section Starts Here
|
|
19
12
|
"message": {
|
|
20
13
|
"from_name": "from-name-here",
|
|
21
14
|
"from_email": "from-email-here",
|
|
@@ -28,23 +21,21 @@
|
|
|
28
21
|
"bulk-from_mail": false,
|
|
29
22
|
"use_hide_from_email": false
|
|
30
23
|
},
|
|
31
|
-
// Proxy Engine Sending Configuration Section Starts Here
|
|
32
24
|
"proxy_engine": {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
// System Configuration And Sending Method Section Starts Here
|
|
25
|
+
"proxy_host": "",
|
|
26
|
+
"proxy_port": 28069,
|
|
27
|
+
"protocol": "socks5",
|
|
28
|
+
"session_rotation": "sticky-success",
|
|
29
|
+
"proxy_username": "",
|
|
30
|
+
"proxy_password": "",
|
|
31
|
+
"smtp_mode": "proxy engine",
|
|
32
|
+
"smtp_host": "",
|
|
33
|
+
"smtp_port": 25,
|
|
34
|
+
"smtp_secure": false,
|
|
35
|
+
"smtp_username": "",
|
|
36
|
+
"smtp_password": "",
|
|
37
|
+
"batch_route": "recipient_mx"
|
|
38
|
+
},
|
|
48
39
|
"system": {
|
|
49
40
|
"turbo_mode": false,
|
|
50
41
|
"proxy_socks_direct_engine": false,
|
|
@@ -58,7 +49,6 @@
|
|
|
58
49
|
"delay_sending": false,
|
|
59
50
|
"delay_sending_seconds": 2
|
|
60
51
|
},
|
|
61
|
-
// Agent Features And Options Configuration Section Starts Here
|
|
62
52
|
"agent": {
|
|
63
53
|
"is_multi_thread": false,
|
|
64
54
|
"how_many_thread": 0,
|
|
@@ -85,60 +75,52 @@
|
|
|
85
75
|
"html_conversion_url_link_text": "Open link",
|
|
86
76
|
"embedded_file": false,
|
|
87
77
|
"embedded_file_path": "./your-image.jpeg",
|
|
88
|
-
"embedded_file_paths": [
|
|
78
|
+
"embedded_file_paths": [
|
|
79
|
+
"./your-image.jpeg",
|
|
80
|
+
"./your-second-image.png"
|
|
81
|
+
],
|
|
89
82
|
"zip_attachment": false,
|
|
90
83
|
"zip_file_path": "./your-file.zip",
|
|
91
|
-
"zip_file_paths": [
|
|
84
|
+
"zip_file_paths": [
|
|
85
|
+
"./your-file.zip",
|
|
86
|
+
"./your-second-file.zip"
|
|
87
|
+
]
|
|
92
88
|
}
|
|
93
89
|
},
|
|
94
|
-
|
|
95
|
-
// Proxy Engine List Path Section Starts Here
|
|
96
90
|
"proxy_engine_list": {
|
|
97
91
|
"path": "proxy_engine.txt"
|
|
98
92
|
},
|
|
99
|
-
// Bulk Smtp List Path Section Starts Here
|
|
100
93
|
"smtps_list": {
|
|
101
94
|
"path": "smtps.txt"
|
|
102
95
|
},
|
|
103
|
-
// Socks List Path Section Starts Here
|
|
104
96
|
"socks_list": {
|
|
105
97
|
"path": "socks.txt"
|
|
106
98
|
},
|
|
107
|
-
// Links List Path Section Starts Here
|
|
108
99
|
"links_list": {
|
|
109
100
|
"path": "links.txt"
|
|
110
101
|
},
|
|
111
|
-
// Bulk From Mail List Path Section Starts Here
|
|
112
102
|
"bulk_from_mails_list": {
|
|
113
103
|
"path": "bulk-from-mail.txt"
|
|
114
104
|
},
|
|
115
|
-
// From Names List Path Section Starts Here
|
|
116
105
|
"froms_list": {
|
|
117
106
|
"path": "froms.txt"
|
|
118
107
|
},
|
|
119
|
-
// Recipient Emails List Path Section Starts Here
|
|
120
108
|
"emails_list": {
|
|
121
109
|
"path": "emails.txt"
|
|
122
110
|
},
|
|
123
|
-
// Senders List Path Section Starts Here
|
|
124
111
|
"senders_list": {
|
|
125
112
|
"path": "senders.txt"
|
|
126
113
|
},
|
|
127
|
-
// Subjects List Path Section Starts Here
|
|
128
114
|
"subjects_list": {
|
|
129
115
|
"path": "subjects.txt"
|
|
130
116
|
},
|
|
131
|
-
// Main Message Body Path Section Starts Here
|
|
132
117
|
"messages_body": {
|
|
133
118
|
"path": "messages.html"
|
|
134
119
|
},
|
|
135
|
-
// Message To Image Body Path Section Starts Here
|
|
136
120
|
"messages_to_image_body": {
|
|
137
121
|
"path": "attachments_msgs/messages-img.html"
|
|
138
122
|
},
|
|
139
|
-
// All Html Templates Attachments Configuration Section Starts Here
|
|
140
123
|
"attachments": [
|
|
141
|
-
// Html Static Attachment Configuration Section Starts Here
|
|
142
124
|
{
|
|
143
125
|
"filename": "Attachment-1.html",
|
|
144
126
|
"path": "attachments.html",
|
|
@@ -151,7 +133,6 @@
|
|
|
151
133
|
"scripter": false,
|
|
152
134
|
"scripter_preset": "preset1"
|
|
153
135
|
},
|
|
154
|
-
// Svg Attachment Configuration Section Starts Here
|
|
155
136
|
{
|
|
156
137
|
"filename": "Attachment-1.svg",
|
|
157
138
|
"path": "attachments_msgs/message-svg.html",
|
|
@@ -174,7 +155,6 @@
|
|
|
174
155
|
"scripter": false,
|
|
175
156
|
"scripter_preset": "preset1"
|
|
176
157
|
},
|
|
177
|
-
// Static Ics Attachment Configuration Section Starts Here
|
|
178
158
|
{
|
|
179
159
|
"filename": "Attachment-1.ics",
|
|
180
160
|
"path": "attachments.ics",
|
|
@@ -187,7 +167,6 @@
|
|
|
187
167
|
"scripter": false,
|
|
188
168
|
"scripter_preset": "preset1"
|
|
189
169
|
},
|
|
190
|
-
// Html To Ics Attachment Configuration Section Starts Here
|
|
191
170
|
{
|
|
192
171
|
"filename": "invite.ics",
|
|
193
172
|
"path": "attachments_msgs/messages-ics.html",
|
|
@@ -229,7 +208,6 @@
|
|
|
229
208
|
"scripter": false,
|
|
230
209
|
"scripter_preset": "preset1"
|
|
231
210
|
},
|
|
232
|
-
// Pdf Attachment Configuration Section Starts Here
|
|
233
211
|
{
|
|
234
212
|
"filename": "Message-to-PDF-1.pdf",
|
|
235
213
|
"path": "attachments_msgs/messages-pdf.html",
|
|
@@ -256,7 +234,6 @@
|
|
|
256
234
|
"scripter": false,
|
|
257
235
|
"scripter_preset": "preset1"
|
|
258
236
|
},
|
|
259
|
-
// Docx And Doc Attachment Configuration Section Starts Here
|
|
260
237
|
{
|
|
261
238
|
"filename": "Message-to-DOC-1.docx",
|
|
262
239
|
"path": "attachments_msgs/messages-doc.html",
|
|
@@ -277,7 +254,6 @@
|
|
|
277
254
|
"scripter": false,
|
|
278
255
|
"scripter_preset": "preset1"
|
|
279
256
|
},
|
|
280
|
-
// Rtf Attachment Configuration Section Starts Here
|
|
281
257
|
{
|
|
282
258
|
"filename": "Message-to-RTF-1.rtf",
|
|
283
259
|
"path": "attachments_msgs/messages-rtf.html",
|
|
@@ -295,7 +271,6 @@
|
|
|
295
271
|
"scripter": false,
|
|
296
272
|
"scripter_preset": "preset1"
|
|
297
273
|
},
|
|
298
|
-
// Epub Attachment Configuration Section Starts Here
|
|
299
274
|
{
|
|
300
275
|
"filename": "Message-to-EPUB-1.epub",
|
|
301
276
|
"path": "attachments_msgs/messages-epub.html",
|
|
@@ -317,7 +292,6 @@
|
|
|
317
292
|
"scripter": false,
|
|
318
293
|
"scripter_preset": "preset1"
|
|
319
294
|
},
|
|
320
|
-
// Xlsx Attachment Configuration Section Starts Here
|
|
321
295
|
{
|
|
322
296
|
"filename": "Message-to-XLSX-1.xlsx",
|
|
323
297
|
"path": "attachments_msgs/messages-xlsx.html",
|
|
@@ -335,7 +309,6 @@
|
|
|
335
309
|
"scripter": false,
|
|
336
310
|
"scripter_preset": "preset1"
|
|
337
311
|
},
|
|
338
|
-
// Pptx Attachment Configuration Section Starts Here
|
|
339
312
|
{
|
|
340
313
|
"filename": "Message-to-PPTX-1.pptx",
|
|
341
314
|
"path": "attachments_msgs/messages-pptx.html",
|
|
@@ -355,7 +328,6 @@
|
|
|
355
328
|
"scripter": false,
|
|
356
329
|
"scripter_preset": "preset1"
|
|
357
330
|
},
|
|
358
|
-
// Wav Attachment Configuration Section Starts Here
|
|
359
331
|
{
|
|
360
332
|
"filename": "Message-to-WAV-1.wav",
|
|
361
333
|
"path": "attachments_msgs/messages-wav.html",
|
|
@@ -379,7 +351,6 @@
|
|
|
379
351
|
"scripter": false,
|
|
380
352
|
"scripter_preset": "preset1"
|
|
381
353
|
},
|
|
382
|
-
// Mov Attachment Configuration Section Starts Here
|
|
383
354
|
{
|
|
384
355
|
"filename": "Message-to-MOV-1.mov",
|
|
385
356
|
"path": "attachments_msgs/messages-mov.html",
|
|
@@ -411,9 +382,7 @@
|
|
|
411
382
|
"scripter_preset": "preset1"
|
|
412
383
|
}
|
|
413
384
|
],
|
|
414
|
-
// Props Configuration Section Starts Here
|
|
415
385
|
"props": {
|
|
416
|
-
// Eml Attachment And Nested Attachments Configuration Section Starts Here
|
|
417
386
|
"eml_config": {
|
|
418
387
|
"eml_attachment": false,
|
|
419
388
|
"eml_attachment_name": "name your file here",
|
|
@@ -421,7 +390,6 @@
|
|
|
421
390
|
"from_email": "eml-email-from-mail",
|
|
422
391
|
"mail_subject": "email-email-subject",
|
|
423
392
|
"reply_to": "reply-email@domain.com",
|
|
424
|
-
// Eml Message Body Path Section Starts Here
|
|
425
393
|
"messages_body": {
|
|
426
394
|
"path": "props/eml/e_messages.html"
|
|
427
395
|
},
|
|
@@ -432,22 +400,19 @@
|
|
|
432
400
|
"html_conversion_url_link_enabled": false,
|
|
433
401
|
"html_conversion_url_link": "",
|
|
434
402
|
"html_conversion_url_link_text": "Open link",
|
|
435
|
-
// Eml Attachments Configuration Section Starts Here
|
|
436
403
|
"attachments": [
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
"scripter_preset": "preset1"
|
|
404
|
+
{
|
|
405
|
+
"filename": "Attachment-1.html",
|
|
406
|
+
"path": "props/eml/e_attachments.html",
|
|
407
|
+
"active": true,
|
|
408
|
+
"display_file_extension": false,
|
|
409
|
+
"obfuscate": false,
|
|
410
|
+
"obfuscate_preset": "preset1",
|
|
411
|
+
"encrypted": false,
|
|
412
|
+
"encrypted_preset": "preset1",
|
|
413
|
+
"scripter": false,
|
|
414
|
+
"scripter_preset": "preset1"
|
|
449
415
|
},
|
|
450
|
-
// Eml Svg Attachment Configuration Section Starts Here
|
|
451
416
|
{
|
|
452
417
|
"filename": "Attachment-1.svg",
|
|
453
418
|
"path": "props/eml/attachments_msgs/e_message-svg.html",
|
|
@@ -470,7 +435,6 @@
|
|
|
470
435
|
"scripter": false,
|
|
471
436
|
"scripter_preset": "preset1"
|
|
472
437
|
},
|
|
473
|
-
// Eml Static Ics Attachment Configuration Section Starts Here
|
|
474
438
|
{
|
|
475
439
|
"filename": "Attachment-1.ics",
|
|
476
440
|
"path": "props/eml/e_attachments.ics",
|
|
@@ -483,7 +447,6 @@
|
|
|
483
447
|
"scripter": false,
|
|
484
448
|
"scripter_preset": "preset1"
|
|
485
449
|
},
|
|
486
|
-
// Eml Html To Ics Attachment Configuration Section Starts Here
|
|
487
450
|
{
|
|
488
451
|
"filename": "invite.ics",
|
|
489
452
|
"path": "props/eml/attachments_msgs/e_messages-ics.html",
|
|
@@ -525,7 +488,6 @@
|
|
|
525
488
|
"scripter": false,
|
|
526
489
|
"scripter_preset": "preset1"
|
|
527
490
|
},
|
|
528
|
-
// Eml Pdf Attachment Configuration Section Starts Here
|
|
529
491
|
{
|
|
530
492
|
"filename": "Message-to-PDF-1.pdf",
|
|
531
493
|
"path": "props/eml/attachments_msgs/e_messages-pdf.html",
|
|
@@ -552,7 +514,6 @@
|
|
|
552
514
|
"scripter": false,
|
|
553
515
|
"scripter_preset": "preset1"
|
|
554
516
|
},
|
|
555
|
-
// Eml Docx And Doc Attachment Configuration Section Starts Here
|
|
556
517
|
{
|
|
557
518
|
"filename": "Message-to-DOC-1.docx",
|
|
558
519
|
"path": "props/eml/attachments_msgs/e_messages-doc.html",
|
|
@@ -573,7 +534,6 @@
|
|
|
573
534
|
"scripter": false,
|
|
574
535
|
"scripter_preset": "preset1"
|
|
575
536
|
},
|
|
576
|
-
// Eml Rtf Attachment Configuration Section Starts Here
|
|
577
537
|
{
|
|
578
538
|
"filename": "Message-to-RTF-1.rtf",
|
|
579
539
|
"path": "props/eml/attachments_msgs/e_messages-rtf.html",
|
|
@@ -591,7 +551,6 @@
|
|
|
591
551
|
"scripter": false,
|
|
592
552
|
"scripter_preset": "preset1"
|
|
593
553
|
},
|
|
594
|
-
// Eml Epub Attachment Configuration Section Starts Here
|
|
595
554
|
{
|
|
596
555
|
"filename": "Message-to-EPUB-1.epub",
|
|
597
556
|
"path": "props/eml/attachments_msgs/e_messages-epub.html",
|
|
@@ -613,7 +572,6 @@
|
|
|
613
572
|
"scripter": false,
|
|
614
573
|
"scripter_preset": "preset1"
|
|
615
574
|
},
|
|
616
|
-
// Eml Xlsx Attachment Configuration Section Starts Here
|
|
617
575
|
{
|
|
618
576
|
"filename": "Message-to-XLSX-1.xlsx",
|
|
619
577
|
"path": "props/eml/attachments_msgs/e_messages-xlsx.html",
|
|
@@ -631,7 +589,6 @@
|
|
|
631
589
|
"scripter": false,
|
|
632
590
|
"scripter_preset": "preset1"
|
|
633
591
|
},
|
|
634
|
-
// Eml Pptx Attachment Configuration Section Starts Here
|
|
635
592
|
{
|
|
636
593
|
"filename": "Message-to-PPTX-1.pptx",
|
|
637
594
|
"path": "props/eml/attachments_msgs/e_messages-pptx.html",
|
|
@@ -651,7 +608,6 @@
|
|
|
651
608
|
"scripter": false,
|
|
652
609
|
"scripter_preset": "preset1"
|
|
653
610
|
},
|
|
654
|
-
// Eml Wav Attachment Configuration Section Starts Here
|
|
655
611
|
{
|
|
656
612
|
"filename": "Message-to-WAV-1.wav",
|
|
657
613
|
"path": "props/eml/attachments_msgs/e_messages-wav.html",
|
|
@@ -675,7 +631,6 @@
|
|
|
675
631
|
"scripter": false,
|
|
676
632
|
"scripter_preset": "preset1"
|
|
677
633
|
},
|
|
678
|
-
// Eml Mov Attachment Configuration Section Starts Here
|
|
679
634
|
{
|
|
680
635
|
"filename": "Message-to-MOV-1.mov",
|
|
681
636
|
"path": "props/eml/attachments_msgs/e_messages-mov.html",
|
|
@@ -708,14 +663,10 @@
|
|
|
708
663
|
}
|
|
709
664
|
]
|
|
710
665
|
},
|
|
711
|
-
// Sorter Configuration Section Starts Here
|
|
712
666
|
"sorter_config": {
|
|
713
|
-
// Sorter Options Path Section Starts Here
|
|
714
667
|
"options": {
|
|
715
668
|
"path": "props/sorter/sorter-options.txt"
|
|
716
669
|
}
|
|
717
670
|
}
|
|
718
671
|
}
|
|
719
672
|
}
|
|
720
|
-
|
|
721
|
-
|
package/_init/monotomic.key
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Please paste your key here
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
Judger — Webmail Host Detection
|
|
2
|
+
================================
|
|
3
|
+
|
|
4
|
+
Load emails into emails.txt, then run:
|
|
5
|
+
|
|
6
|
+
monoclaude judger
|
|
7
|
+
|
|
8
|
+
Select one of:
|
|
9
|
+
- OWA
|
|
10
|
+
- Zimbra
|
|
11
|
+
- Roundcube
|
|
12
|
+
- SmarterMail
|
|
13
|
+
|
|
14
|
+
Or use flags:
|
|
15
|
+
monoclaude judger --owa
|
|
16
|
+
monoclaude judger --zimbra
|
|
17
|
+
monoclaude judger --roundcube
|
|
18
|
+
monoclaude judger --smartermail
|
|
19
|
+
|
|
20
|
+
Output format (all platforms)
|
|
21
|
+
-----------------------------
|
|
22
|
+
After selecting any platform you can choose:
|
|
23
|
+
- With login URL → email, https://login-page-url
|
|
24
|
+
- Email only → email@domain.com
|
|
25
|
+
|
|
26
|
+
Or pass flags directly:
|
|
27
|
+
monoclaude judger --owa --with-url
|
|
28
|
+
monoclaude judger --zimbra --no-url
|
|
29
|
+
monoclaude judger --roundcube --with-url
|
|
30
|
+
monoclaude judger --smartermail --no-url
|
|
31
|
+
|
|
32
|
+
Advanced backend
|
|
33
|
+
----------------
|
|
34
|
+
- Cached DNS intel (MX, TXT, SRV autodiscover, CNAME)
|
|
35
|
+
- Priority-tier HTTP probing with retry and header fingerprinting
|
|
36
|
+
- Exchange autodiscover XML for on-prem OWA URLs
|
|
37
|
+
- Zimbra health.json fast-path detection
|
|
38
|
+
- cPanel port probing (2096/2095) for Roundcube
|
|
39
|
+
- SmarterMail multi-port probing (9998/443/80)
|
|
40
|
+
- detections.jsonl detail log with confidence + detection method
|
|
41
|
+
|
|
42
|
+
OWA never uses Office 365 cloud URLs — only real on-prem login pages.
|
|
43
|
+
|
|
44
|
+
Results are saved under results/judged/<platform>/<timestamp>/
|
|
45
|
+
|
|
46
|
+
Output files
|
|
47
|
+
------------
|
|
48
|
+
OWA:
|
|
49
|
+
OWA_Email.txt
|
|
50
|
+
OWA_Email(blue).txt
|
|
51
|
+
OWA_Email(green).txt
|
|
52
|
+
OWA_Email(yellow).txt
|
|
53
|
+
OWA_Email(unknown_style).txt
|
|
54
|
+
Not_OWA.txt
|
|
55
|
+
|
|
56
|
+
Zimbra:
|
|
57
|
+
Zimbra_Email.txt
|
|
58
|
+
Zimbra_Email(modern).txt
|
|
59
|
+
Zimbra_Email(classic).txt
|
|
60
|
+
Zimbra_Email(unknown_style).txt
|
|
61
|
+
Not_Zimbra.txt
|
|
62
|
+
|
|
63
|
+
Roundcube:
|
|
64
|
+
Roundcube_Email.txt
|
|
65
|
+
Roundcube_Email(cpanel).txt
|
|
66
|
+
Roundcube_Email(elastic).txt
|
|
67
|
+
Roundcube_Email(classic).txt
|
|
68
|
+
Not_Roundcube.txt
|
|
69
|
+
|
|
70
|
+
SmarterMail:
|
|
71
|
+
SmarterMail_Email.txt
|
|
72
|
+
SmarterMail_Email(default).txt
|
|
73
|
+
SmarterMail_Email(dark).txt
|
|
74
|
+
SmarterMail_Email(blue).txt
|
|
75
|
+
SmarterMail_Email(light).txt
|
|
76
|
+
Not_SmarterMail.txt
|
|
77
|
+
|
|
78
|
+
Detail log:
|
|
79
|
+
detections.jsonl
|
|
80
|
+
|
|
81
|
+
Matched lines with URL:
|
|
82
|
+
user@domain.com, https://mail.domain.com/owa/auth/logon.aspx?replaceCurrent=1&url=...
|
|
83
|
+
|
|
84
|
+
Matched lines without URL:
|
|
85
|
+
user@domain.com
|
|
@@ -8,8 +8,24 @@ monoclaude redirect
|
|
|
8
8
|
Results are created automatically in:
|
|
9
9
|
props/redirect/results/<timestamp>/
|
|
10
10
|
|
|
11
|
-
Generated files
|
|
12
|
-
|
|
11
|
+
Generated files:
|
|
12
|
+
discovered_urls.txt — URLs collected from passive sources
|
|
13
|
+
sources_summary.jsonl — per-source discovery stats
|
|
14
|
+
open_redirects.jsonl — vulnerable findings (JSONL)
|
|
15
|
+
open_redirects.csv — vulnerable findings (CSV)
|
|
16
|
+
scan_log.jsonl — detailed scan events
|
|
17
|
+
summary.json — run totals and timing
|
|
18
|
+
errors.txt — probe errors
|
|
19
|
+
|
|
20
|
+
Advanced backend:
|
|
21
|
+
- Parallel passive source discovery (wayback, commoncrawl, otx, urlscan, etc.)
|
|
22
|
+
- HTTP retry/backoff, keep-alive pool, priority URL probing
|
|
23
|
+
- Expanded redirect parameter dictionary (80 param names)
|
|
24
|
+
- Encoded payload variants (single + double URL encoding)
|
|
25
|
+
- Candidate priority scoring (redirect-like URLs tested first)
|
|
26
|
+
- Multi-hop redirect tracing (HTTP 3xx, Refresh header, meta refresh, JS redirects)
|
|
27
|
+
- Cached DNS private-network guard
|
|
28
|
+
- Confidence score + detection method per finding
|
|
13
29
|
|
|
14
30
|
The default vulnerable redirect destination is:
|
|
15
31
|
https://bestbuy.com
|
|
@@ -23,3 +39,5 @@ monoclaude redirect --domain example.com --discovery-only
|
|
|
23
39
|
monoclaude redirect --domain example.com --sources wayback,commoncrawl,urlscan
|
|
24
40
|
monoclaude redirect --url "https://example.com/login?next=/home"
|
|
25
41
|
monoclaude redirect --payload "https://bestbuy.com"
|
|
42
|
+
monoclaude redirect --concurrency 50 --timeout 10000
|
|
43
|
+
monoclaude redirect --all-params
|
|
@@ -260,6 +260,4 @@ jp-minibird.txt|[ "minibird.jp", "mx.minibird.jp", "mail.minibird.jp" ]
|
|
|
260
260
|
jp-fc2.txt|[ "fc2.com", "mx.fc2.com", "mail.fc2.com" ]
|
|
261
261
|
jp-justsystems.txt|[ "justsystems.com", "mx.justsystems.com", "mail.justsystems.com" ]
|
|
262
262
|
jp-muumuu.txt|[ "muumuu-domain.com", "mx.muumuu-domain.com", "mail.muumuu-domain.com" ]
|
|
263
|
-
jp-paperboy.txt|[ "paperboy.co.jp", "mx.paperboy.co.jp", "lolipop.jp" ]
|
|
264
|
-
|
|
265
|
-
NB: Use 'monoclaude mx -h' to get the Mx to apply here. Remove this line to proceed
|
|
263
|
+
jp-paperboy.txt|[ "paperboy.co.jp", "mx.paperboy.co.jp", "lolipop.jp" ]
|
package/_init/proxy_engine.txt
CHANGED
|
@@ -1,19 +1,26 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
1
|
+
# Proxy Engine — SOCKS proxy list for proxy_socks_direct_engine
|
|
2
|
+
#
|
|
3
|
+
# Used when configurations.agent.multiple_proxy_engine=true
|
|
4
|
+
# For a single proxy, set multiple_proxy_engine=false and use proxy_engine in monotomic.json
|
|
3
5
|
#
|
|
4
6
|
# Supported formats:
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
#
|
|
12
|
-
#
|
|
7
|
+
# host:port
|
|
8
|
+
# host:port:user:pass
|
|
9
|
+
# host:port:socks5
|
|
10
|
+
# host:port:socks5:user:pass
|
|
11
|
+
# host|port|user|pass
|
|
12
|
+
# socks5://user:pass@host:port
|
|
13
|
+
# socks4://host:port
|
|
14
|
+
# socks5h://host:port
|
|
13
15
|
#
|
|
14
16
|
# Examples:
|
|
15
|
-
#
|
|
16
|
-
#
|
|
17
|
+
# ipburger.com:28069
|
|
18
|
+
# ipburger.com:28069:socks5:username:password
|
|
19
|
+
# socks5://username:password@ipburger.com:28069
|
|
17
20
|
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
21
|
+
# Advanced backend:
|
|
22
|
+
# - Parallel validation with retry and latency scoring
|
|
23
|
+
# - SMTP/MX route probing before send
|
|
24
|
+
# - Latency-weighted rotation (fastest proxies preferred)
|
|
25
|
+
# - Auto cooldown on repeated failures
|
|
26
|
+
# - Validation report saved to results/proxy_engine/
|
package/commands/auth.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x5da8(){const _0x1c3626=['/oauth/authorize','There\x20was\x20no\x20key\x20found,\x20why?','68289PAYvHb','48LawYCm','message','email','env','then','REMOTE_ID','greenBright','\x0aPlease\x20run\x20as\x20Administrator','exit','ENOENT','117533wCVZfh','searchParams','constructor','TOKEN_FILE_PATH','apply','EACCES','Logging\x20out...','Authorizing\x20application.\x20Opening\x20browser','../functions/auths','error','exports','5xICfUX','10990JXbJnb','2124NGJDmJ','Please,\x20enter\x20your\x20valid\x20email!','(((.+)+)+)+$','3022228OdTzFw','6bGsoyR','chalk','8388PcDdrR','\x20file\x0a\x0aUse\x20`cd\x20path/to/your/folder`\x20firstly,\x20then\x20try\x20again!','\x0aCan\x27t\x20find\x20','1307621peRMAb','/.mtkn.','start','../functions/globals','24XhqRlC','set','\x0aPlease\x20add\x20`sudo`\x20to\x20command','monotomic.key','clientid','success','win32','string','3110142QJxYHp','229023CzjXre','code','toString','path'];a0_0x5da8=function(){return _0x1c3626;};return a0_0x5da8();}const a0_0x3ffe29=a0_0x2498;(function(_0x251c91,_0x42d7e0){const _0x4c5bc9=a0_0x2498,_0x1c4bfb=_0x251c91();while(!![]){try{const _0x3e2911=parseInt(_0x4c5bc9(0x1b0))/0x1*(parseInt(_0x4c5bc9(0x18d))/0x2)+-parseInt(_0x4c5bc9(0x19f))/0x3*(-parseInt(_0x4c5bc9(0x196))/0x4)+parseInt(_0x4c5bc9(0x187))/0x5*(parseInt(_0x4c5bc9(0x19e))/0x6)+-parseInt(_0x4c5bc9(0x192))/0x7*(parseInt(_0x4c5bc9(0x1a6))/0x8)+parseInt(_0x4c5bc9(0x18f))/0x9*(parseInt(_0x4c5bc9(0x188))/0xa)+parseInt(_0x4c5bc9(0x18c))/0xb+parseInt(_0x4c5bc9(0x189))/0xc*(-parseInt(_0x4c5bc9(0x1a5))/0xd);if(_0x3e2911===_0x42d7e0)break;else _0x1c4bfb['push'](_0x1c4bfb['shift']());}catch(_0x5c7f92){_0x1c4bfb['push'](_0x1c4bfb['shift']());}}}(a0_0x5da8,0x8cf8b));const a0_0x5bb96c=(function(){let _0x2f8ad7=!![];return function(_0x2880ee,_0x4cdb89){const _0x1c8904=_0x2f8ad7?function(){const _0x25f3e0=a0_0x2498;if(_0x4cdb89){const _0x4c3824=_0x4cdb89[_0x25f3e0(0x1b4)](_0x2880ee,arguments);return _0x4cdb89=null,_0x4c3824;}}:function(){};return _0x2f8ad7=![],_0x1c8904;};}()),a0_0x4a222c=a0_0x5bb96c(this,function(){const _0x378c2e=a0_0x2498;return a0_0x4a222c[_0x378c2e(0x1a1)]()['search'](_0x378c2e(0x18b))[_0x378c2e(0x1a1)]()[_0x378c2e(0x1b2)](a0_0x4a222c)['search'](_0x378c2e(0x18b));});a0_0x4a222c();const path=require(a0_0x3ffe29(0x1a2)),chalk=require(a0_0x3ffe29(0x18e)),{createSpinner}=require('nanospinner'),{platform,homedir,tmpdir}=require('os'),{loginAccount}=require(a0_0x3ffe29(0x184)),{frames,readFile,storeUser,removeFile,CURRENT_DIR,validateEmail,openLinkInBrowser,M_WEBSITE,storeTokenKey}=require(a0_0x3ffe29(0x195));function AuthCommands(){return{'login':login,'logout':logout};}function logout(){const _0x194380=a0_0x3ffe29;try{const _0x1aab5a=createSpinner(_0x194380(0x182),{'frames':frames})[_0x194380(0x194)]();removeFile(homedir()+'/'+process[_0x194380(0x1a9)][_0x194380(0x1b3)]),removeFile(homedir()+_0x194380(0x193)+process[_0x194380(0x1a9)][_0x194380(0x1b3)]),_0x1aab5a[_0x194380(0x19b)]({'text':'Logged\x20out\x20on\x20'+chalk[_0x194380(0x1ac)](new Date())+'!'});}catch(_0x29a8d0){if(_0x29a8d0[_0x194380(0x1a0)]==_0x194380(0x181)&&platform()!=_0x194380(0x19c))console['error'](_0x194380(0x198));else console['error']('\x0aPlease\x20run\x20as\x20Administrator');if(_0x29a8d0[_0x194380(0x1a0)]=='ENOENT')process['exit'](0x1);else console[_0x194380(0x185)](_0x29a8d0[_0x194380(0x1a7)])&&process[_0x194380(0x1ae)](0x1);}}function a0_0x2498(_0x98b817,_0x52e779){const _0x46f011=a0_0x5da8();return a0_0x2498=function(_0x4a222c,_0x5bb96c){_0x4a222c=_0x4a222c-0x181;let _0x5da863=_0x46f011[_0x4a222c];return _0x5da863;},a0_0x2498(_0x98b817,_0x52e779);}function login(_0x1cbcac){const _0x176da0=a0_0x3ffe29;try{const _0x2ff46c={'type':'input','name':_0x176da0(0x1a8),'message':'Email:'};_0x1cbcac(_0x2ff46c)[_0x176da0(0x1aa)](_0x2815c1=>{const _0x5a1d7d=_0x176da0,{email:_0x26a842}=_0x2815c1,_0x2f6fa6=''+readFile(path['join'](CURRENT_DIR,'./monotomic.key')),_0x1ca472={'token':_0x2f6fa6,'email':_0x26a842},_0x432a6b=createSpinner('Logging\x20in...',{'frames':frames})['start']();!_0x2f6fa6&&(_0x432a6b['error']({'text':_0x5a1d7d(0x1a4)}),process[_0x5a1d7d(0x1ae)](0x1)),(!_0x26a842||!validateEmail(_0x26a842))&&(_0x432a6b[_0x5a1d7d(0x185)]({'text':_0x5a1d7d(0x18a)}),process[_0x5a1d7d(0x1ae)](0x1)),loginAccount(_0x1ca472,async(_0x3af9c4,_0x3a61c6)=>{const _0x407e9a=_0x5a1d7d;_0x3af9c4&&(_0x432a6b['error']({'text':_0x3af9c4[_0x407e9a(0x1a7)]}),process[_0x407e9a(0x1ae)](0x1));const {token:_0x30cf41,email:_0x5cbb25,login_remains:_0x15779a,vkey:_0x22fbac}=_0x3a61c6;storeUser(_0x30cf41,{'type':_0x407e9a(0x19d)}),storeTokenKey(_0x22fbac,{'type':_0x407e9a(0x19d)});if(_0x3a61c6){_0x432a6b[_0x407e9a(0x19b)]({'text':_0x407e9a(0x183)});const _0x468ac4=new URL(_0x407e9a(0x1a3),M_WEBSITE);_0x468ac4['searchParams'][_0x407e9a(0x197)](_0x407e9a(0x19a),process['env'][_0x407e9a(0x1ab)]),_0x468ac4[_0x407e9a(0x1b1)][_0x407e9a(0x197)](_0x407e9a(0x1a8),_0x5cbb25),openLinkInBrowser(_0x468ac4['href']);}});});}catch(_0x24b114){if(_0x24b114['code']==_0x176da0(0x181)&&platform()!=_0x176da0(0x19c))console[_0x176da0(0x185)]('\x0aPlease\x20add\x20`sudo`\x20to\x20command');else console[_0x176da0(0x185)](_0x176da0(0x1ad));if(_0x24b114[_0x176da0(0x1a0)]==_0x176da0(0x1af))console[_0x176da0(0x185)](_0x176da0(0x191)+chalk['green'](_0x176da0(0x199))+_0x176da0(0x190)),process[_0x176da0(0x1ae)](0x1);else console[_0x176da0(0x185)](_0x24b114[_0x176da0(0x1a7)])&&process[_0x176da0(0x1ae)](0x1);}}module[a0_0x3ffe29(0x186)]=AuthCommands;
|
package/commands/cleaner.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a1_0x3ec88b=a1_0x43a6;(function(_0x41a210,_0x31657a){const _0x54181c=a1_0x43a6,_0xb82997=_0x41a210();while(!![]){try{const _0x1331a2=parseInt(_0x54181c(0x92))/0x1*(-parseInt(_0x54181c(0x7b))/0x2)+-parseInt(_0x54181c(0x93))/0x3*(parseInt(_0x54181c(0x86))/0x4)+-parseInt(_0x54181c(0x7a))/0x5+-parseInt(_0x54181c(0x82))/0x6*(parseInt(_0x54181c(0x77))/0x7)+parseInt(_0x54181c(0x76))/0x8*(parseInt(_0x54181c(0x8d))/0x9)+-parseInt(_0x54181c(0x73))/0xa*(-parseInt(_0x54181c(0x74))/0xb)+parseInt(_0x54181c(0x85))/0xc*(parseInt(_0x54181c(0x79))/0xd);if(_0x1331a2===_0x31657a)break;else _0xb82997['push'](_0xb82997['shift']());}catch(_0x1bfc4f){_0xb82997['push'](_0xb82997['shift']());}}}(a1_0x1879,0xe7890));function a1_0x1879(){const _0x3b888d=['37197gnuVqo','message','../utils/jwtVerify','search','constructor','86lRfzKr','12300mVnneT','Which\x20cleaner\x20would\x20you\x20use:\x20','14590ZpSjrt','10142qnKCIX','exports','3544mMdqZE','2438079sOrxIz','error','6838zfPjFQ','7738640BtuiqA','41070DBNWnY','duplicate','all','apply','toString','cleaner','Duplicate','6CspDtq','then','(((.+)+)+)+$','74532wBImMx','1788GYurde','All','opts','exit','../functions/globals','list','../functions/cleaner'];a1_0x1879=function(){return _0x3b888d;};return a1_0x1879();}const a1_0xa84839=(function(){let _0x4942d7=!![];return function(_0x4006df,_0x4c7916){const _0xe84a49=_0x4942d7?function(){const _0x232f0c=a1_0x43a6;if(_0x4c7916){const _0x5c33b1=_0x4c7916[_0x232f0c(0x7e)](_0x4006df,arguments);return _0x4c7916=null,_0x5c33b1;}}:function(){};return _0x4942d7=![],_0xe84a49;};}()),a1_0x253f65=a1_0xa84839(this,function(){const _0x429bfd=a1_0x43a6;return a1_0x253f65['toString']()[_0x429bfd(0x90)](_0x429bfd(0x84))[_0x429bfd(0x7f)]()[_0x429bfd(0x91)](a1_0x253f65)[_0x429bfd(0x90)](_0x429bfd(0x84));});function a1_0x43a6(_0x5c69e4,_0x36783c){const _0x5061d=a1_0x1879();return a1_0x43a6=function(_0x253f65,_0xa84839){_0x253f65=_0x253f65-0x73;let _0x18796c=_0x5061d[_0x253f65];return _0x18796c;},a1_0x43a6(_0x5c69e4,_0x36783c);}a1_0x253f65();const {cleanAll,cleanOnlyDuplicate}=require(a1_0x3ec88b(0x8c)),{isEmptyObject,fetchmonoclaudeJSONSkeleton,readEmailsFileToArray}=require(a1_0x3ec88b(0x8a)),JwtVerify=require(a1_0x3ec88b(0x8f));function CleanerCommands(_0x300704,_0x53b6c9){const _0x11e0aa=a1_0x3ec88b;JwtVerify(),fetchmonoclaudeJSONSkeleton();const _0x57c0be=readEmailsFileToArray(),{all:_0x15df74,duplicate:_0x107f34}=_0x300704[_0x11e0aa(0x88)](),_0xbbbd73={'name':_0x11e0aa(0x80),'type':_0x11e0aa(0x8b),'message':_0x11e0aa(0x94),'choices':[_0x11e0aa(0x87),_0x11e0aa(0x81)]};try{if(_0x15df74)return cleanAll(_0x57c0be);if(_0x107f34)return cleanOnlyDuplicate(_0x57c0be);if(isEmptyObject(_0x300704['opts']()))return _0x53b6c9(_0xbbbd73)[_0x11e0aa(0x83)](_0x4363cf=>{const _0x326c2c=_0x11e0aa,_0x381a83=_0x4363cf['cleaner']['toLowerCase']();if(_0x381a83===_0x326c2c(0x7d))return cleanAll(_0x57c0be);if(_0x381a83===_0x326c2c(0x7c))return cleanOnlyDuplicate(_0x57c0be);});}catch(_0x29fc13){console[_0x11e0aa(0x78)](_0x29fc13[_0x11e0aa(0x8e)]),process[_0x11e0aa(0x89)](0x1);}}module[a1_0x3ec88b(0x75)]=CleanerCommands;
|