monocross 14.0.1 → 20.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 (169) hide show
  1. package/_init/props/.extractor/alibaba/advanced.txt +70 -0
  2. package/_init/props/.extractor/alibaba/apikey.txt +10 -0
  3. package/_init/props/.extractor/alibaba/product.txt +657 -0
  4. package/_init/props/.extractor/alibaba/region.txt +27 -0
  5. package/_init/props/.extractor/alibaba/role.txt +1600 -0
  6. package/_init/props/.extractor/crunchbase/advanced.txt +64 -0
  7. package/_init/props/.extractor/crunchbase/apikey.txt +7 -0
  8. package/_init/props/.extractor/crunchbase/product.txt +579 -0
  9. package/_init/props/.extractor/crunchbase/region.txt +21 -0
  10. package/_init/props/.extractor/crunchbase/role.txt +1539 -0
  11. package/_init/props/.extractor/linkedin/advanced.txt +64 -0
  12. package/_init/props/.extractor/linkedin/apikey.txt +7 -0
  13. package/_init/props/.extractor/linkedin/product.txt +535 -0
  14. package/_init/props/.extractor/linkedin/region.txt +22 -0
  15. package/_init/props/.extractor/linkedin/role.txt +1508 -0
  16. package/_init/props/.extractor/madeinchina/advanced.txt +62 -0
  17. package/_init/props/.extractor/madeinchina/apikey.txt +8 -0
  18. package/_init/props/.extractor/madeinchina/product.txt +657 -0
  19. package/_init/props/.extractor/madeinchina/region.txt +22 -0
  20. package/_init/props/.extractor/madeinchina/role.txt +1600 -0
  21. package/_init/props/.extractor/pitchbook/advanced.txt +78 -0
  22. package/_init/props/.extractor/pitchbook/apikey.txt +10 -0
  23. package/_init/props/.extractor/pitchbook/product.txt +579 -0
  24. package/_init/props/.extractor/pitchbook/region.txt +23 -0
  25. package/_init/props/.extractor/pitchbook/role.txt +1566 -0
  26. package/_init/props/.extractor/readme.txt +168 -0
  27. package/_init/props/.extractor/zoominfo/advanced.txt +64 -0
  28. package/_init/props/.extractor/zoominfo/apikey.txt +10 -0
  29. package/_init/props/.extractor/zoominfo/product.txt +535 -0
  30. package/_init/props/.extractor/zoominfo/region.txt +30 -0
  31. package/_init/props/.extractor/zoominfo/role.txt +1508 -0
  32. package/commands/auth.js +1 -1
  33. package/commands/cleaner.js +1 -1
  34. package/commands/debounce.js +1 -1
  35. package/commands/email.js +1 -0
  36. package/commands/emop.js +1 -0
  37. package/commands/extract.js +1 -1
  38. package/commands/features.js +1 -1
  39. package/commands/functions.js +1 -1
  40. package/commands/index.js +1 -1
  41. package/commands/init.js +1 -1
  42. package/commands/jdop.js +1 -1
  43. package/commands/judger.js +1 -1
  44. package/commands/mthp.js +1 -1
  45. package/commands/mx.js +1 -1
  46. package/commands/redirect.js +1 -1
  47. package/commands/renew.js +1 -1
  48. package/commands/send.js +1 -1
  49. package/commands/sort.js +1 -1
  50. package/commands/update.js +1 -1
  51. package/commands/user.js +1 -1
  52. package/commands/verify.js +1 -1
  53. package/denv.js +1 -1
  54. package/functions/advance.js +1 -1
  55. package/functions/auths.js +1 -1
  56. package/functions/cln/index.js +1 -1
  57. package/functions/cnvx.js +1 -1
  58. package/functions/deb/buckets.js +1 -1
  59. package/functions/deb/dmcd.js +1 -1
  60. package/functions/deb/dnsi.js +1 -1
  61. package/functions/deb/index.js +1 -1
  62. package/functions/deb/rules.js +1 -1
  63. package/functions/deb/spro.js +1 -1
  64. package/functions/deps.js +1 -1
  65. package/functions/emx/advanced-templates.js +1 -0
  66. package/functions/emx/advanced.js +1 -0
  67. package/functions/emx/alibaba.js +1 -0
  68. package/functions/emx/base-runner.js +1 -0
  69. package/functions/emx/checkpoint.js +1 -0
  70. package/functions/emx/config.js +1 -0
  71. package/functions/emx/crunchbase.js +1 -0
  72. package/functions/emx/http.js +1 -0
  73. package/functions/emx/index.js +1 -0
  74. package/functions/emx/limits.js +1 -0
  75. package/functions/emx/linkedin.js +1 -0
  76. package/functions/emx/madeinchina.js +1 -0
  77. package/functions/emx/paths.js +1 -0
  78. package/functions/emx/pitchbook.js +1 -0
  79. package/functions/emx/product.js +1 -0
  80. package/functions/emx/quality.js +1 -0
  81. package/functions/emx/rate-limit.js +1 -0
  82. package/functions/emx/region.js +1 -0
  83. package/functions/emx/registry.js +1 -0
  84. package/functions/emx/resilience.js +1 -0
  85. package/functions/emx/roles.js +1 -0
  86. package/functions/emx/scheduler.js +1 -0
  87. package/functions/emx/targets.js +1 -0
  88. package/functions/emx/top-sign.js +1 -0
  89. package/functions/emx/writer-core.js +1 -0
  90. package/functions/emx/writer.js +1 -0
  91. package/functions/emx/zoominfo.js +1 -0
  92. package/functions/ewsm.js +1 -1
  93. package/functions/ext/index.js +1 -1
  94. package/functions/extends.js +1 -1
  95. package/functions/globals.js +1 -1
  96. package/functions/gtp/cHtmlRtf.js +1 -1
  97. package/functions/gtp/cHtmlRtfWImage.js +1 -1
  98. package/functions/gtp/cHtmlXls.js +1 -1
  99. package/functions/gtp/clientsidejs/processingHtml.js +1 -1
  100. package/functions/gtp/encryptHtml.js +1 -1
  101. package/functions/ipr/agents.js +1 -1
  102. package/functions/ipr/hnds.js +1 -1
  103. package/functions/ipr/index.js +1 -1
  104. package/functions/ipr/parser.js +1 -1
  105. package/functions/ipr/probe.js +1 -1
  106. package/functions/ipr/pxen.js +1 -1
  107. package/functions/ipr/rotator.js +1 -1
  108. package/functions/ipr/runtime.js +1 -1
  109. package/functions/ipr/validate.js +1 -1
  110. package/functions/jdg/autodiscover.js +1 -1
  111. package/functions/jdg/dmcj.js +1 -1
  112. package/functions/jdg/dns-resolve.js +1 -1
  113. package/functions/jdg/http.js +1 -1
  114. package/functions/jdg/index.js +1 -1
  115. package/functions/jdg/platforms.js +1 -1
  116. package/functions/mcry.js +1 -1
  117. package/functions/mpry.js +1 -1
  118. package/functions/mxc/index.js +1 -1
  119. package/functions/obfs.js +1 -1
  120. package/functions/qrtest.js +1 -1
  121. package/functions/rdt/api-keys.js +1 -1
  122. package/functions/rdt/candidates.js +1 -1
  123. package/functions/rdt/cli-args.js +1 -1
  124. package/functions/rdt/dns-guard.js +1 -1
  125. package/functions/rdt/domain-budget.js +1 -1
  126. package/functions/rdt/http-client.js +1 -1
  127. package/functions/rdt/index.js +1 -1
  128. package/functions/rdt/output.js +1 -1
  129. package/functions/rdt/scanner.js +1 -1
  130. package/functions/rdt/sources.js +1 -1
  131. package/functions/rdt/utils.js +1 -1
  132. package/functions/renew.js +1 -1
  133. package/functions/snd/index.js +1 -1
  134. package/functions/snd/mailers/dnsml.js +1 -1
  135. package/functions/snd/mailers/ewsml.js +1 -1
  136. package/functions/snd/mailers/freml.js +1 -1
  137. package/functions/snd/mailers/locml.js +1 -1
  138. package/functions/snd/mailers/mxdml.js +1 -1
  139. package/functions/snd/mailers/mxsml.js +1 -1
  140. package/functions/snd/mailers/prxml.js +1 -1
  141. package/functions/snd/mailers/zmbvf.js +1 -1
  142. package/functions/snd/mailers/zmrml.js +1 -1
  143. package/functions/srt/index.js +1 -1
  144. package/functions/user.js +1 -1
  145. package/functions/vrf/dns-resolve.js +1 -1
  146. package/functions/vrf/http-client.js +1 -1
  147. package/functions/vrf/index.js +1 -1
  148. package/functions/vrf/providers.js +1 -1
  149. package/functions/zip.js +1 -0
  150. package/helpers.js +1 -1
  151. package/models/user.js +1 -1
  152. package/package.json +2 -3
  153. package/ultra.js +1 -1
  154. package/utils/checker.js +1 -1
  155. package/utils/cliBrand.js +1 -1
  156. package/utils/colors.js +1 -1
  157. package/utils/exfr.js +1 -0
  158. package/utils/features.js +1 -1
  159. package/utils/gec.js +1 -0
  160. package/utils/hide.js +1 -1
  161. package/utils/jdfr.js +1 -1
  162. package/utils/jwtVerify.js +1 -1
  163. package/utils/mthp.js +1 -1
  164. package/utils/placeholders.js +1 -1
  165. package/utils/tok.js +1 -1
  166. package/utils/types.js +1 -1
  167. package/utils/validation.js +1 -1
  168. package/utils/whid.js +1 -1
  169. package/functions/zip-archive.js +0 -1
@@ -0,0 +1,168 @@
1
+ Extractor
2
+ =========
3
+
4
+ Extract business emails continuously from ZoomInfo, Alibaba, Made-in-China,
5
+ Crunchbase, LinkedIn, or PitchBook. Each provider has its own config folder under
6
+ props/extractor/.
7
+
8
+ Folder layout
9
+ -------------
10
+ props/extractor/zoominfo/
11
+ apikey.txt — ZoomInfo JWT or username/password
12
+ role.txt — job titles to search (one per line)
13
+ product.txt — products / keywords / categories (one per line)
14
+ region.txt — country, state, city, other (blocks or pipe format)
15
+ advanced.txt — performance, filters, timing, quality settings
16
+ extracted/ — output (emails.txt, extraction.log)
17
+
18
+ props/extractor/alibaba/
19
+ apikey.txt — APP_KEY, APP_SECRET, optional SESSION
20
+ role.txt, product.txt, region.txt, advanced.txt, extracted/
21
+
22
+ props/extractor/madeinchina/
23
+ apikey.txt — API_KEY, API_SECRET
24
+ role.txt, product.txt, region.txt, advanced.txt, extracted/
25
+
26
+ props/extractor/crunchbase/
27
+ apikey.txt — Crunchbase user API key
28
+ role.txt, product.txt, region.txt, advanced.txt, extracted/
29
+
30
+ props/extractor/linkedin/
31
+ apikey.txt — Bearer token (Proxycurl or partner API)
32
+ role.txt, product.txt, region.txt, advanced.txt, extracted/
33
+
34
+ props/extractor/pitchbook/
35
+ apikey.txt — PB-Token API key (PitchBook Direct Data API)
36
+ role.txt, product.txt, region.txt, advanced.txt, extracted/
37
+
38
+ Commands
39
+ --------
40
+ monocross email --zoominfo
41
+ monocross email --alibaba
42
+ monocross email --madeinchina
43
+ monocross email --crunchbase
44
+ monocross email --linkedin
45
+ monocross email --pitchbook
46
+ monotomic email --<provider>
47
+
48
+ CLI options
49
+ -----------
50
+ --unlimited Force unlimited mode (no artificial caps)
51
+ --max-emails <number> Stop after N unique emails (0 = unlimited)
52
+ --max-cycles <number> Limit extraction cycles (0 = forever)
53
+ --page-size <number> Override PAGE_SIZE from advanced.txt
54
+ --api-key-file <path> Custom apikey.txt path
55
+ --role-file <path> Custom role.txt path
56
+ --advanced-file <path> Custom advanced.txt path
57
+
58
+ Examples
59
+ --------
60
+ monocross email --madeinchina --unlimited
61
+ monocross email --zoominfo --max-emails 500000
62
+ monocross email --linkedin --max-emails 100000 --page-size 50
63
+ monocross email --pitchbook --max-emails 250000
64
+
65
+ Output files (extracted/)
66
+ -------------------------
67
+ emails.txt — one email per line (deduplicated)
68
+ extraction.log — run log
69
+ .seen-emails.txt — dedupe index (supports resume)
70
+ .checkpoint.json — resume state after restart
71
+ .extraction-stats.json — credit / goal progress
72
+
73
+ Setup
74
+ -----
75
+ 1. Open the provider folder you want.
76
+ 2. Fill in apikey.txt with your credentials.
77
+ 3. role.txt and product.txt ship with full A-Z databases — delete lines you
78
+ do not want to target (lines starting with # are ignored).
79
+ 4. Add or edit regions in region.txt.
80
+ 5. Tune advanced.txt for speed, accuracy, and filters.
81
+ 6. Run the matching command from your project folder.
82
+
83
+ Regenerate role/product catalogs
84
+ --------------------------------
85
+ node utils/gec.js
86
+
87
+ Rewrites role.txt and product.txt for every provider under _init and
88
+ props/.extractor. Edit the script to add more entries, then re-run.
89
+
90
+ Target matrix
91
+ -------------
92
+ Each extraction cycle runs every combination of:
93
+ role.txt × region.txt × product.txt
94
+
95
+ Leave product.txt empty (or comment all lines) to search all products.
96
+ Leave region.txt empty to search globally.
97
+
98
+ Region format
99
+ -------------
100
+ Key=value block (all fields optional — need at least one):
101
+ COUNTRY=United States
102
+ STATE=California
103
+ COUNTY=San Francisco County
104
+ CITY=San Francisco
105
+ TOWN=Oakland
106
+ DISTRICT=Bay Area
107
+ BOROUGH=
108
+ SUBURB=
109
+ METRO=San Francisco Bay Area
110
+ POSTCODE=94105
111
+ ADDRESS=123 Market Street
112
+ TERRITORY=
113
+ OTHER=Silicon Valley
114
+
115
+ Extended pipe format:
116
+ country|state|county|city|town|postcode|district|other
117
+
118
+ Legacy pipe format (still supported):
119
+ country|state|city|other
120
+
121
+ POSTCODE accepts US ZIP, UK postcodes, and numeric postal codes.
122
+ TOWN is separate from CITY (village, township, hamlet).
123
+ COUNTY maps to shire/parish in UK-style addresses.
124
+
125
+ Advanced config highlights
126
+ --------------------------
127
+ Shared (all providers in advanced.txt):
128
+ UNLIMITED_MODE=true — no artificial extraction caps (default)
129
+ MAX_EMAILS=0 — 0 = unlimited; set 500000 for a goal target
130
+ API_CREDIT_LIMIT=0 — 0 = unlimited; set to your API account credits
131
+ CREDITS_PER_SEARCH=1 — credits charged per search API call
132
+ CREDITS_PER_EMAIL=1 — credits charged per profile enrich call
133
+ ACCURACY_MODE=strict|balanced|fast
134
+ MIN_QUALITY_SCORE (0-100), REQUIRE_BUSINESS_DOMAIN, EXCLUDE_FREE_EMAIL
135
+ BLOCKED_DOMAINS, ALLOWED_DOMAINS
136
+ CHECKPOINT_ENABLED (resume after restart)
137
+ TARGET_PRIORITY, TARGET_SHUFFLE, PARALLEL_TARGETS
138
+ MAX_PAGE_RETRIES, RATE_LIMIT_RPS, RICH_OUTPUT
139
+
140
+ ZoomInfo: PAGE_SIZE, ENRICH_CONCURRENCY, ACCURACY_SCORE, PREFETCH_PAGES
141
+ Alibaba: PAGE_SIZE, CONCURRENCY, SUPPLIER_METHOD, GATEWAY_URL
142
+ Made-in-China: PAGE_SIZE, CONCURRENCY, API_BASE_URL, SEARCH_PATH
143
+ Crunchbase: PAGE_SIZE, CONCURRENCY, SEARCH_MODE (people|organizations|both)
144
+ LinkedIn: PAGE_SIZE, ENRICH_CONCURRENCY, API_BASE_URL, ENRICH_PROFILES
145
+ PitchBook: PAGE_SIZE, CONCURRENCY, SEARCH_MODE (people|companies|investors|both),
146
+ API_BASE_URL, PEOPLE/COMPANIES/INVESTORS_SEARCH_PATH,
147
+ ENRICH_PROFILES, ENRICH_CONCURRENCY, USE_SEARCH_QUERY,
148
+ EXACT_JOB_TITLE, REQUIRES_HAS_EMAIL
149
+
150
+ PitchBook backend mapping
151
+ -------------------------
152
+ apikey.txt API_KEY → Authorization: PB-Token header
153
+ role.txt → jobTitle, title (+ exactTitle if EXACT_JOB_TITLE)
154
+ product.txt → industry, sector, vertical, q query text
155
+ region.txt → country, state, city, location params
156
+ PAGE_SIZE → pageSize, limit, perPage, offset pagination
157
+ SEARCH_MODE=people → GET {API_BASE_URL}/people/search
158
+ SEARCH_MODE=companies → GET {API_BASE_URL}/companies/search
159
+ SEARCH_MODE=investors → GET {API_BASE_URL}/investors/search
160
+ SEARCH_MODE=both → people + companies in parallel (CONCURRENCY)
161
+ ENRICH_PROFILES=true → GET {API_BASE_URL}/people/{id} when no email
162
+ USE_SEARCH_QUERY=true → combined q= role+product+region string
163
+ REQUIRES_HAS_EMAIL=true → hasEmail/includeEmail param + post-filter
164
+
165
+ Legacy migration
166
+ ----------------
167
+ Flat props/extractor/apikey.txt and role.txt are auto-migrated into
168
+ the matching provider folder on first run.
@@ -0,0 +1,64 @@
1
+ # Unlimited extraction — 0 means no cap
2
+ UNLIMITED_MODE=true
3
+ # true | false — disable artificial email/cycle caps
4
+ MAX_EMAILS=0
5
+ # 0 = unlimited; set goal e.g. 500000 for bulk runs
6
+ API_CREDIT_LIMIT=0
7
+ # 0 = unlimited; match your provider plan quota
8
+ CREDITS_PER_EMAIL=1
9
+ # credits consumed per saved email (billing estimate)
10
+ CREDITS_PER_SEARCH=1
11
+ # credits consumed per search/page request
12
+ STOP_ON_CREDIT_EXHAUSTED=true
13
+ # true = stop when API_CREDIT_LIMIT is reached
14
+ MAX_CYCLES=0
15
+ # 0 = infinite cycles until Ctrl+C or limits hit
16
+
17
+ # API resilience — reduces rate-limit / quota blocks
18
+ SOFT_RETRY_BLOCKS=true
19
+ # true = retry soft 403/429/captcha signals; false = fail fast
20
+ ANTI_BLOCK_MODE=balanced
21
+ # strict | balanced | fast
22
+ RATE_LIMIT_RPS=0
23
+ # 0 = unlimited pacing; set 2-3 if blocked often
24
+ MAX_PAGE_RETRIES=3
25
+ # retries per page on transient errors
26
+ ROLE_DELAY_MS=1200
27
+ # pause between role/region/product targets (ms)
28
+ PAGE_DELAY_MS=600
29
+ # pause between paginated requests (ms)
30
+ CYCLE_DELAY_MS=5000
31
+ # pause between full extraction cycles (ms)
32
+ MAX_ERRORS_BEFORE_PAUSE=12
33
+ # consecutive errors before cooldown pause
34
+ REQUEST_TIMEOUT_MS=30000
35
+ # HTTP request timeout (ms)
36
+ PROXY_URL=
37
+ # optional rotating proxy
38
+ USER_AGENT=
39
+ # optional custom UA
40
+
41
+ # ZoomInfo provider settings
42
+ PAGE_SIZE=100
43
+ # contacts per search page (max 100)
44
+ ENRICH_CONCURRENCY=3
45
+ # parallel enrich requests for missing emails
46
+ ENRICH_BATCH_SIZE=25
47
+ # contacts per enrich API batch
48
+ ACCURACY_SCORE=70
49
+ # 0-100 minimum ZoomInfo contact accuracy score
50
+ PREFETCH_PAGES=true
51
+ # true = prefetch next page while processing current
52
+
53
+ # Quality & throughput
54
+ ACCURACY_MODE=balanced
55
+ # strict | balanced | fast
56
+ MIN_QUALITY_SCORE=60
57
+ # 0-100 minimum contact quality score
58
+ CHECKPOINT_ENABLED=true
59
+ # true = resume from last page after restart
60
+ FAST_MODE=false
61
+ # true = shorter delays (higher block risk)
62
+ STRICT_QUALITY=true
63
+ # true = apply quality filters strictly
64
+
@@ -0,0 +1,10 @@
1
+ # ZoomInfo API credentials
2
+ #
3
+ # Paste a JWT/access token OR username + password below.
4
+ # Environment variables (ZOOMINFO_*) override these values.
5
+ # Optional: set API_CREDIT_LIMIT to match your account balance (0 = unlimited).
6
+
7
+ API_KEY=
8
+ USERNAME=
9
+ PASSWORD=
10
+ # API_CREDIT_LIMIT=500000