fakefilter 0.1.650 → 1.1.10

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 (242) hide show
  1. package/README.md +16 -64
  2. package/apiserver/api/ext_result.js +51 -0
  3. package/apiserver/api/ext_tasks.js +151 -0
  4. package/apiserver/api/is_fakedomain.js +39 -0
  5. package/apiserver/api/is_fakeemail.js +17 -0
  6. package/apiserver/api/ping.js +12 -0
  7. package/apiserver/docs/README.md +41 -0
  8. package/apiserver/docs/babel.config.js +3 -0
  9. package/apiserver/docs/blog/2019-05-28-first-blog-post.md +12 -0
  10. package/apiserver/docs/blog/2019-05-29-long-blog-post.md +44 -0
  11. package/apiserver/docs/blog/2021-08-01-mdx-blog-post.mdx +20 -0
  12. package/apiserver/docs/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
  13. package/apiserver/docs/blog/2021-08-26-welcome/index.md +25 -0
  14. package/apiserver/docs/blog/authors.yml +17 -0
  15. package/apiserver/docs/docs/intro.md +16 -0
  16. package/apiserver/docs/docs/nodejs/_category_.json +4 -0
  17. package/apiserver/docs/docs/nodejs/index.md +30 -0
  18. package/apiserver/docs/docs/restful/_category_.json +4 -0
  19. package/apiserver/docs/docs/restful/index.md +59 -0
  20. package/apiserver/docs/docusaurus.config.js +118 -0
  21. package/apiserver/docs/package.json +37 -0
  22. package/apiserver/docs/sidebars.js +31 -0
  23. package/apiserver/docs/src/components/HomepageFeatures/index.js +64 -0
  24. package/apiserver/docs/src/components/HomepageFeatures/styles.module.css +11 -0
  25. package/apiserver/docs/src/css/custom.css +39 -0
  26. package/apiserver/docs/src/pages/index.js +45 -0
  27. package/apiserver/docs/src/pages/index.module.css +23 -0
  28. package/apiserver/docs/src/pages/markdown-page.md +7 -0
  29. package/apiserver/docs/src/theme/IconArrow/index.js +10 -0
  30. package/apiserver/docs/static/.nojekyll +0 -0
  31. package/apiserver/docs/static/img/docusaurus.png +0 -0
  32. package/apiserver/docs/static/img/favicon.ico +0 -0
  33. package/apiserver/docs/static/img/logo.svg +1 -0
  34. package/apiserver/docs/static/img/tutorial/docsVersionDropdown.png +0 -0
  35. package/apiserver/docs/static/img/tutorial/localeDropdown.png +0 -0
  36. package/apiserver/docs/static/img/undraw_docusaurus_mountain.svg +171 -0
  37. package/apiserver/docs/static/img/undraw_docusaurus_react.svg +170 -0
  38. package/apiserver/docs/static/img/undraw_docusaurus_tree.svg +40 -0
  39. package/apiserver/inc/middleware_client.js +37 -0
  40. package/apiserver/inc/middleware_logging.js +17 -0
  41. package/apiserver/inc/shared.js +45 -0
  42. package/apiserver/inc/worker_fakefilter.js +53 -0
  43. package/apiserver/index.js +62 -0
  44. package/apiserver/public/10minemail.com.js +27 -0
  45. package/apiserver/public/10minuteemails.com.js +46 -0
  46. package/apiserver/public/10minutemail.com.js +29 -0
  47. package/apiserver/public/crazymailing.com.js +27 -0
  48. package/apiserver/public/gettempmail.com.js +39 -0
  49. package/apiserver/public/img/dynamic/README.md +0 -0
  50. package/apiserver/public/onetempmail.com.js +35 -0
  51. package/apiserver/public/shared.js +54 -0
  52. package/apiserver/public/temp-mail.org.js +28 -0
  53. package/apiserver/public/tempmail.com.tr.js +36 -0
  54. package/apiserver/public/tempmail.net.js +28 -0
  55. package/apiserver/public/tempmailid.com.js +40 -0
  56. package/apiserver/public/tempmailo.org.js +36 -0
  57. package/apiserver/public/throwawaymail.com.js +27 -0
  58. package/burner/README.md +1 -0
  59. package/burner/burner-check.js +57 -0
  60. package/burner/emails.txt +57106 -0
  61. package/chart-update.js +179 -0
  62. package/cleanup.js +58 -0
  63. package/config.js +126 -0
  64. package/events.js +59 -0
  65. package/fetch.js +177 -0
  66. package/models/events.js +37 -0
  67. package/models/harvested.js +45 -0
  68. package/models/harvested_clone.js +44 -0
  69. package/package.json +41 -23
  70. package/providers/10-minute-mail.com.js +38 -0
  71. package/providers/10-minuten-mail.de.js +38 -0
  72. package/providers/10mails.net.js +40 -0
  73. package/providers/10minut.com.pl.js +38 -0
  74. package/providers/10minut.xyz.js +40 -0
  75. package/providers/10minuteemails.com.js +39 -0
  76. package/providers/10minutemail.co.za.js +38 -0
  77. package/providers/10minutemail.com.js +39 -0
  78. package/providers/10minutemail.info.js +38 -0
  79. package/providers/10minutemail.net.js +38 -0
  80. package/providers/10minutemail.org.js +38 -0
  81. package/providers/10minutesemail.net.js +36 -0
  82. package/providers/10minutesmail.us.js +38 -0
  83. package/providers/1secmail.com.js +39 -0
  84. package/providers/20minutemail.com.js +36 -0
  85. package/providers/24hour.email.js +37 -0
  86. package/providers/___emailondeck.com.js +76 -0
  87. package/providers/abandonmail.com.js +38 -0
  88. package/providers/airmailbox.website.js +38 -0
  89. package/providers/akmail.in.js +37 -0
  90. package/providers/altmails.com.js +37 -0
  91. package/providers/anonbox.net.js +42 -0
  92. package/providers/anonmails.de.js +25 -0
  93. package/providers/another-temp-mail.com.js +40 -0
  94. package/providers/brodilla.email.js +44 -0
  95. package/providers/byom.de.js +42 -0
  96. package/providers/cryptogmail.com.js +40 -0
  97. package/providers/default.tmail.thehp.in.js +41 -0
  98. package/providers/developermail.com.js +39 -0
  99. package/providers/dispemail.com.js +37 -0
  100. package/providers/disposableemail.co.js +37 -0
  101. package/providers/disposableemail.us.js +36 -0
  102. package/providers/disposablemail.com.js +38 -0
  103. package/providers/disposeamail.com.js +43 -0
  104. package/providers/dispostable.com.js +38 -0
  105. package/providers/dodsi.com.js +38 -0
  106. package/providers/dropmail.me.js +37 -0
  107. package/providers/easytrashmail.com.js +33 -0
  108. package/providers/edumail.icu.js +36 -0
  109. package/providers/email-fake.com.js +35 -0
  110. package/providers/emailfake.com.js +35 -0
  111. package/providers/etempmail.net.js +37 -0
  112. package/providers/eyepaste.com.js +39 -0
  113. package/providers/fakemail.io.js +35 -0
  114. package/providers/fakemail.net.js +35 -0
  115. package/providers/fakemailgenerator.com.js +35 -0
  116. package/providers/fakermail.com.js +37 -0
  117. package/providers/fex.plus.js +38 -0
  118. package/providers/findtempmail.com.js +38 -0
  119. package/providers/foxiomail.com.js +41 -0
  120. package/providers/fyii.de.js +42 -0
  121. package/providers/gecicimail.co.js +14 -0
  122. package/providers/gecicimail.com.tr.js +15 -0
  123. package/providers/generator.email.js +37 -0
  124. package/providers/getnada.com.js +37 -0
  125. package/providers/gpa.lu.js +37 -0
  126. package/providers/guerrillamail.com.js +38 -0
  127. package/providers/harakirimail.com.js +38 -0
  128. package/providers/haribu.net.js +39 -0
  129. package/providers/hizli.email.js +40 -0
  130. package/providers/hottempmail.com.js +51 -0
  131. package/providers/instant-email.org.js +39 -0
  132. package/providers/instantemailaddress.com.js +39 -0
  133. package/providers/jooko.info.js +36 -0
  134. package/providers/kopeechka.store.js +53 -0
  135. package/providers/linshi-email.com.js +38 -0
  136. package/providers/lroid.com.js +35 -0
  137. package/providers/luxusmail.org.js +39 -0
  138. package/providers/mail-temp.com.js +37 -0
  139. package/providers/mail-tester.com.js +37 -0
  140. package/providers/mail.gen.tr.js +14 -0
  141. package/providers/mail.gw.js +35 -0
  142. package/providers/mail.td.js +42 -0
  143. package/providers/mail.tm.js +35 -0
  144. package/providers/mail1a.de.js +42 -0
  145. package/providers/mail7.io.js +41 -0
  146. package/providers/mailcatch.com.js +38 -0
  147. package/providers/maildim.com.js +38 -0
  148. package/providers/maildrop.cc.js +38 -0
  149. package/providers/mailinator.com.js +27 -0
  150. package/providers/mailnesia.com.js +41 -0
  151. package/providers/mailpoof.com.js +71 -0
  152. package/providers/mailsac.com.js +27 -0
  153. package/providers/mailswipe.net.js +37 -0
  154. package/providers/minimail.eu.org.js +27 -0
  155. package/providers/mintemail.com.js +49 -0
  156. package/providers/minuteinbox.com.js +35 -0
  157. package/providers/moakt.com.js +37 -0
  158. package/providers/mohmal.com.js +39 -0
  159. package/providers/muellmail.com.js +41 -0
  160. package/providers/mytemp.email.js +35 -0
  161. package/providers/mytrashmailer.com.js +38 -0
  162. package/providers/niepodam.pl.js +53 -0
  163. package/providers/nolog.email.js +38 -0
  164. package/providers/onetempmail.com.js +37 -0
  165. package/providers/open.js +41 -0
  166. package/providers/oxyemail.com.js +38 -0
  167. package/providers/phaantm.de.js +42 -0
  168. package/providers/poo.email.js +27 -0
  169. package/providers/sandvpn.com.js +49 -0
  170. package/providers/shitmail.me.js +38 -0
  171. package/providers/shitmail.org.js +38 -0
  172. package/providers/spamdecoy.net.js +38 -0
  173. package/providers/spamgourmet.com.js +29 -0
  174. package/providers/spoofmail.de.js +47 -0
  175. package/providers/t-mail.org.js +42 -0
  176. package/providers/temp-email.info.js +39 -0
  177. package/providers/temp-inbox.com.js +38 -0
  178. package/providers/temp-mail.io.js +36 -0
  179. package/providers/temp-mails.com.js +45 -0
  180. package/providers/temp.cab.js +39 -0
  181. package/providers/tempail.com.js +36 -0
  182. package/providers/tempinbox.xyz.js +38 -0
  183. package/providers/tempmail.altmails.com.js +37 -0
  184. package/providers/tempmail.cn.js +38 -0
  185. package/providers/tempmail.co.js +38 -0
  186. package/providers/tempmail.dev.js +35 -0
  187. package/providers/tempmail.ninja.js +35 -0
  188. package/providers/tempmail.plus.js +47 -0
  189. package/providers/tempmail.run.js +37 -0
  190. package/providers/tempmail.tel.js +38 -0
  191. package/providers/tempmailed.com.js +43 -0
  192. package/providers/tempmailo.com.js +35 -0
  193. package/providers/tempo-email.com.js +38 -0
  194. package/providers/tempo-mail.xyz.js +40 -0
  195. package/providers/temporary-email.com.js +35 -0
  196. package/providers/temporary-mail.net.js +42 -0
  197. package/providers/temporarymail.com.js +39 -0
  198. package/providers/tempos.email.js +38 -0
  199. package/providers/tempr.email.js +45 -0
  200. package/providers/temprmail.com.js +38 -0
  201. package/providers/tenmail.org.js +40 -0
  202. package/providers/thnen.com.js +25 -0
  203. package/providers/throwaway.io.js +39 -0
  204. package/providers/tmail.gg.js +36 -0
  205. package/providers/tmail.mmomekong.com.js +38 -0
  206. package/providers/tmailor.com.js +37 -0
  207. package/providers/tmailweb.com.js +39 -0
  208. package/providers/trash-mail.com.js +42 -0
  209. package/providers/trashmail.com.js +39 -0
  210. package/providers/trashmail.de.js +36 -0
  211. package/providers/trashmail.live.js +36 -0
  212. package/providers/trashmail.org.js +39 -0
  213. package/providers/trashmail.ws.js +42 -0
  214. package/providers/trashmails.com.js +38 -0
  215. package/providers/txen.de.js +48 -0
  216. package/providers/wegwerfemailadresse.com.js +43 -0
  217. package/providers/yopmail.com.js +37 -0
  218. package/providers/yopmail.fr.js +37 -0
  219. package/providers/yopmail.net.js +37 -0
  220. package/providers/yourmail.online.js +39 -0
  221. package/release.sh +26 -0
  222. package/repo-update.js +121 -0
  223. package/shared.js +559 -0
  224. package/test/doRequest.js +47 -0
  225. package/test/is_domain_banned.js +53 -0
  226. package/test/is_fakedomain.js +136 -0
  227. package/test/is_fakeemail.js +136 -0
  228. package/test/psl.js +58 -0
  229. package/test/repo_json_v1.js +30 -0
  230. package/test/repo_json_v2.js +41 -0
  231. package/test1.js +36 -0
  232. package/update-repo.sh +44 -0
  233. package/vars.js +16 -0
  234. package/CHARTS.md +0 -492
  235. package/LICENSE.md +0 -29
  236. package/examples/online.js +0 -16
  237. package/index.d.ts +0 -23
  238. package/index.js +0 -193
  239. package/json/data.json +0 -1
  240. package/json/data_version2.json +0 -1
  241. package/markdown/README.md +0 -16316
  242. package/txt/data.txt +0 -16316
@@ -0,0 +1,45 @@
1
+ const chalk = require('chalk')
2
+
3
+ function reply(res, reply_json = {}) {
4
+ console.log(chalk.green.inverse(`reply:`), JSON.stringify(reply_json))
5
+ return res.json(reply_json)
6
+ }
7
+
8
+ function hostnameFromEmailAddress(email) {
9
+ if (email && typeof email === 'string' && email.search(/@/) > 0)
10
+ return email.split(/@/)[1]
11
+ return null
12
+ }
13
+
14
+
15
+
16
+ function perDomain(combined) {
17
+ let json = {
18
+ v:2,
19
+ domains: {},
20
+ }
21
+ for (let provider of Object.keys(combined)) {
22
+ let domains = combined[provider]
23
+ for (let domain of Object.keys(domains)) {
24
+ let data = domains[domain]
25
+ if (!json.domains.hasOwnProperty(domain)) json.domains[domain] = {
26
+ providers: [provider],
27
+ hosts: data.hosts
28
+ };
29
+ else {
30
+ if (!json.domains[domain].providers.includes(provider)) json.domains[domain].providers.push(provider)
31
+ }
32
+
33
+ if (data.hasOwnProperty('unicodeDomain'))
34
+ json.domains[domain].unicodeDomain = data.unicodeDomain
35
+ }
36
+ }
37
+ return json.domains
38
+ }
39
+
40
+
41
+ module.exports = {
42
+ reply,
43
+ hostnameFromEmailAddress,
44
+ perDomain
45
+ }
@@ -0,0 +1,53 @@
1
+ const fs = require('fs')
2
+ const path = require('path')
3
+ const vars = require('./../../vars')
4
+ const chalk = require('chalk')
5
+ const { wait, isLocal } = require("mybase")
6
+ const { Sentry } = require('../../config')
7
+ const { pullDomains, combineDomains, obfuscatedTime } = require('../../shared')
8
+ const { perDomain } = require('./shared')
9
+
10
+ async function worker(config) {
11
+ console.log(chalk.green(`+ worker_fakefilter has been started`))
12
+
13
+ const cacheFile = path.join(config.cache_folder, 'api-current_filter.json')
14
+ // do we have a valid cache file to load immediately ?
15
+ if (fs.existsSync(cacheFile)) {
16
+ try {
17
+ let _tmp = JSON.parse(fs.readFileSync(cacheFile, 'utf8'))
18
+ vars.current_filter = _tmp
19
+ console.log(chalk.green(`+ current_filter has been loaded from cache`))
20
+ } catch (err) {
21
+ console.log(err)
22
+ Sentry.captureException(err)
23
+ }
24
+ }
25
+ while (true) {
26
+ try {
27
+ let rows = await pullDomains(isLocal() ? 30 : 10000)
28
+ if (rows) {
29
+ let combined = await combineDomains(rows)
30
+ if (combined) {
31
+ vars.current_filter = perDomain(combined)
32
+ console.log(chalk.green(`\n. current_filter updated with ${Object.keys(vars.current_filter).length} domains`))
33
+ // lets write this into the cache file
34
+ try {
35
+ fs.writeFileSync(cacheFile, JSON.stringify(vars.current_filter))
36
+ } catch (err) {
37
+ Sentry.captureException(err)
38
+ console.log(err)
39
+ }
40
+ vars.coadmin_service_apiserver.report_every(1, 'worker1')
41
+ }
42
+ }
43
+ // console.log(domains)
44
+ } catch (err) {
45
+ console.log(err)
46
+ Sentry.captureException(err)
47
+ }
48
+ await wait(vars.current_filter ? 600: 60)
49
+ }
50
+ }
51
+
52
+
53
+ module.exports = worker
@@ -0,0 +1,62 @@
1
+ const cors = require('cors')
2
+ const chalk = require('chalk')
3
+ const express = require('express');
4
+ const app = express()
5
+ const bodyParser = require('body-parser');
6
+ const middleware_logging = require('./inc/middleware_logging')
7
+ const middleware_client = require('./inc/middleware_client')
8
+ const worker_fakefilter = require('./inc/worker_fakefilter')
9
+ const package = require('./../package.json')
10
+ const { getConfig, Sentry } = require('./../config.js');
11
+ const { api_ping } = require('./api/ping');
12
+ const { api_is_fakedomain } = require('./api/is_fakedomain');
13
+ const { api_is_fakeemail } = require('./api/is_fakeemail')
14
+
15
+ const { api_ext_tasks } = require('./api/ext_tasks');
16
+ const { api_ext_result } = require('./api/ext_result');
17
+ const vars = require('../vars');
18
+
19
+
20
+ let config
21
+
22
+ // middleware
23
+ app.set('view engine', 'ejs')
24
+ app.use(cors())
25
+
26
+ app.use(bodyParser.urlencoded({ extended: true, limit: '1mb' })) // if 413, look at parameterlimit
27
+ app.use(bodyParser.json({ limit: '1mb', strict: false }))
28
+ app.use(middleware_client)
29
+ app.use(middleware_logging)
30
+ app.use('/static',express.static('docs/build'))
31
+ app.use('/public',express.static('public'))
32
+
33
+ app.get(`/api/ping`, api_ping)
34
+ app.get(`/api/is/fakedomain/:domain`, api_is_fakedomain)
35
+ app.get(`/api/is/fakeemail/:email`, api_is_fakeemail)
36
+
37
+ // extention
38
+ app.get (`/api/ext/tasks`, api_ext_tasks)
39
+ app.post(`/api/ext/result`, api_ext_result)
40
+
41
+ app.get(`*`, (req, res) => {res.redirect('/static/') })
42
+
43
+ async function bootstrap() {
44
+ config = await getConfig()
45
+ worker_fakefilter(config)
46
+ console.log(chalk.green(`Starting fakefilter apiserver`))
47
+ try {
48
+ app.listen(config.apiserver.port, config.apiserver.ip, async function () {
49
+ console.log(chalk.bold(`${package.name} ${package.version} Server is running at ${chalk.yellow(config.apiserver.ip)}:${chalk.yellow(config.apiserver.port)}`));
50
+ vars.coadmin_service_apiserver.report("api launched")
51
+ })
52
+ }
53
+ catch (err) {
54
+ console.log(chalk.red(`Exception at start:`), err)
55
+ vars.coadmin_service_apiserver.report_error("bootstrap")
56
+ // if (Sentry) Sentry.captureException(err, { extra: { location: 'bootstrap' } })
57
+ softexit(60)
58
+ }
59
+ }
60
+
61
+ bootstrap()
62
+
@@ -0,0 +1,27 @@
1
+ let provider='10minemail.com'
2
+ let interval
3
+ let email_sent = false
4
+
5
+ let precondition = () => {
6
+ return document.querySelector('input#mail').value.search(/@/) > 0
7
+ }
8
+
9
+ let loop = () => {
10
+ console.log(`setInterval ${Date.now()}`)
11
+ if (precondition() !== true) {
12
+ console.log(`precondition not met`)
13
+ return
14
+ }
15
+ let emailAddr = document.querySelector('input#mail').value
16
+ console.log(`10minemail.com is ready to be picken up`, emailAddr)
17
+ sendResult(provider,emailAddr)
18
+ }
19
+
20
+ let bootstrap = () => {
21
+ console.log(`Document is ready`)
22
+ interval = setInterval(loop, 1000)
23
+ }
24
+
25
+ console.log(`10minemail.com module has been loaded`)
26
+
27
+ bootstrap()
@@ -0,0 +1,46 @@
1
+ let provider='10minuteemails.com'
2
+ let interval
3
+ let email_sent = false
4
+
5
+ let precondition = () => {
6
+ if (!validator) return false // we need validator
7
+ // if email address we send precondition true
8
+ // return false
9
+
10
+ for(let div of document.querySelectorAll('div.block')) {
11
+ if (validator.isEmail(div.innerHTML)) return true
12
+ // console.log(div.innerHTML)
13
+ }
14
+
15
+ // if button is there, we click to the button
16
+ let button1 = document.querySelector(`input[value="Create a Random Email"]`)
17
+ if (button1) {
18
+ console.log(`button1`,button1)
19
+ console.log(`clicking to button1`)
20
+ // click to the random button if seen
21
+ button1.click()
22
+ return false
23
+ }
24
+
25
+ return false
26
+ }
27
+
28
+ let loop = () => {
29
+ console.log(`setInterval ${Date.now()}`)
30
+ if (precondition() !== true) {
31
+ console.log(`precondition not met`)
32
+ return
33
+ }
34
+ let emailAddr = document.querySelector('div#email_id').innerHTML
35
+ console.log(`${provider} is ready to be picken up`,emailAddr)
36
+ sendResult(provider,emailAddr)
37
+ }
38
+
39
+ let bootstrap = () => {
40
+ console.log(`Document is ready`)
41
+ interval = setInterval(loop, 2000)
42
+ }
43
+
44
+ console.log(`${provider} module has been loaded`)
45
+
46
+ bootstrap()
@@ -0,0 +1,29 @@
1
+
2
+ let provider='10minutemail.com'
3
+ let interval
4
+ let email_sent = false
5
+
6
+
7
+ let precondition = () => {
8
+ return document.querySelector('input#mail_address[type="text"]').value.search(/@/)>0
9
+ }
10
+
11
+ let loop = () => {
12
+ console.log(`setInterval ${Date.now()}`)
13
+ if (precondition() !== true) {
14
+ console.log(`precondition not met`)
15
+ return
16
+ }
17
+ let emailAddr = document.querySelector('input#mail_address[type="text"]').value
18
+ console.log(`${provider} is ready to be picken up`,emailAddr)
19
+ sendResult(provider,emailAddr)
20
+ }
21
+
22
+ let bootstrap = () => {
23
+ console.log(`Document is ready`)
24
+ interval = setInterval(loop, 2000)
25
+ }
26
+
27
+ console.log(`${provider} module has been loaded`)
28
+
29
+ bootstrap()
@@ -0,0 +1,27 @@
1
+ let provider='crazymailing.com'
2
+ let interval
3
+ let email_sent = false
4
+
5
+
6
+ let precondition = () => {
7
+ return document.querySelector('#trsh_mail').value.search(/@/)>0
8
+ }
9
+
10
+ let loop = () => {
11
+ console.log(`setInterval ${Date.now()}`)
12
+ if (precondition() !== true) {
13
+ console.log(`precondition not met`)
14
+ return
15
+ }
16
+ let emailDomain = document.querySelector('#trsh_mail').value
17
+ console.log(`${provider} is ready to be picken up`,emailDomain)
18
+ sendResult(provider,`any`+emailDomain)
19
+ }
20
+
21
+ let bootstrap = () => {
22
+ console.log(`Document is ready`)
23
+ interval = setInterval(loop, 1000)
24
+ }
25
+ console.log(`${provider} module has been loaded`)
26
+
27
+ bootstrap()
@@ -0,0 +1,39 @@
1
+ let provider='gettempmail.com'
2
+ let interval
3
+ let email_sent = false
4
+
5
+ let precondition = () => {
6
+ let email_field = document.querySelector('div#email_id').innerHTML.search(/@/)>0
7
+ if (email_field===true) return true
8
+
9
+ let random_button = document.querySelector('input#random[type="submit"]')
10
+ console.log(`random_button`,random_button)
11
+ if (random_button) {
12
+ console.log(`clicking to random_button`)
13
+ // click to the random button if seen
14
+ random_button.click()
15
+ return false
16
+ }
17
+
18
+ return false
19
+ }
20
+
21
+ let loop = () => {
22
+ console.log(`setInterval ${Date.now()}`)
23
+ if (precondition() !== true) {
24
+ console.log(`precondition not met`)
25
+ return
26
+ }
27
+ let emailAddr = document.querySelector('div#email_id').innerHTML
28
+ console.log(`${provider} is ready to be picken up`,emailAddr)
29
+ sendResult(provider,emailAddr)
30
+ }
31
+
32
+ let bootstrap = () => {
33
+ console.log(`Document is ready`)
34
+ interval = setInterval(loop, 2000)
35
+ }
36
+
37
+ console.log(`${provider} module has been loaded`)
38
+
39
+ bootstrap()
File without changes
@@ -0,0 +1,35 @@
1
+ let provider='onetempmail.com'
2
+
3
+ let interval
4
+ let email_sent = false
5
+
6
+ let precondition = () => {
7
+ return document.querySelector('h1 strong').innerText.search(/OTM/) > 0
8
+ }
9
+
10
+ let loop = () => {
11
+ if (!validator) return false // we need validator
12
+ console.log(`setInterval ${Date.now()}`)
13
+ if (precondition() !== true) {
14
+ console.log(`precondition not met`)
15
+ return
16
+ }
17
+
18
+ let emails = []
19
+ for (let item of document.querySelectorAll('a.transition')) {
20
+ if (validator.isEmail(`any@${item.innerText}`) && !emails.includes(`any@${item.innerText}`))
21
+ emails.push(`any@${item.innerText}`)
22
+ }
23
+ // let emailAddr = document.querySelector('input#eposta_adres').value
24
+ console.log(`onetempmail.com is ready to be picken up`, emails)
25
+ sendResult(provider,emails)
26
+ }
27
+
28
+ let bootstrap = () => {
29
+ console.log(`Document is ready`)
30
+ interval = setInterval(loop, 10000)
31
+ }
32
+
33
+ console.log(`onetempmail.com module has been loaded`)
34
+
35
+ bootstrap()
@@ -0,0 +1,54 @@
1
+ function reloadAfterHours(hours=12) {
2
+ console.log(`reloadAfterHours ${hours} hours`)
3
+ setTimeout(()=>{
4
+ location.reload(true)
5
+ },hours*60*60*1000)
6
+ }
7
+
8
+ function deleteCookies() {
9
+ var allCookies = document.cookie.split(';');
10
+
11
+ // The "expire" attribute of every cookie is
12
+ // Set to "Thu, 01 Jan 1970 00:00:00 GMT"
13
+ for (var i = 0; i < allCookies.length; i++)
14
+ document.cookie = allCookies[i] + "=;expires="
15
+ + new Date(0).toUTCString();
16
+
17
+ displayCookies.innerHTML = document.cookie;
18
+
19
+ }
20
+
21
+ function sendResult (provider,emailAddr) {
22
+ let emails = []
23
+ if (Array.isArray(emailAddr)) emails=emailAddr; else emails=[emailAddr];
24
+
25
+ console.log(`Sending result of ${provider}:`,emailAddr)
26
+ $.post("https://fakefilter.net/api/ext/result", {provider,emails} ,function (res) {
27
+ if (res.retcode==200) {
28
+ console.log(`Email '${emailAddr}' has been submitted successfully`)
29
+ document.body.innerHTML = `<h1>Success ${emailAddr}</h1><h2>Kapatabilirsiniz</h2> ${provider}`;
30
+ document.head.remove()
31
+ for(var iframe of document.querySelectorAll('iframe'))
32
+ iframe.remove()
33
+ }
34
+ else {
35
+ console.log(`Email could not be submitted`,res)
36
+ }
37
+
38
+ })
39
+ .done(function (x) {
40
+ console.log(`done`, x)
41
+ })
42
+ .fail(function (x) {
43
+ console.log(`fail`, x)
44
+ })
45
+ .always(function (x) {
46
+ console.log(`finished`, x)
47
+ email_sent = true
48
+ clearInterval(interval)
49
+ reloadAfterHours(12)
50
+ });
51
+ }
52
+
53
+ localStorage.clear()
54
+ deleteCookies()
@@ -0,0 +1,28 @@
1
+ let provider='temp-mail.org'
2
+
3
+ let interval
4
+ let email_sent = false
5
+
6
+ let precondition = () => {
7
+ return document.querySelector('input#mail').value.search(/@/) > 0
8
+ }
9
+
10
+ let loop = () => {
11
+ console.log(`setInterval ${Date.now()}`)
12
+ if (precondition() !== true) {
13
+ console.log(`precondition not met`)
14
+ return
15
+ }
16
+ let emailAddr = document.querySelector('input#mail').value
17
+ console.log(`temp-mail.org is ready to be picken up`, emailAddr)
18
+ sendResult(provider,emailAddr)
19
+ }
20
+
21
+ let bootstrap = () => {
22
+ console.log(`Document is ready`)
23
+ interval = setInterval(loop, 1000)
24
+ }
25
+
26
+ console.log(`temp-mail.org module has been loaded`)
27
+
28
+ bootstrap()
@@ -0,0 +1,36 @@
1
+ let provider='tempmail.com.tr'
2
+
3
+ let interval
4
+ let email_sent = false
5
+
6
+ let precondition = () => {
7
+ return document.querySelector('#trsh_mail').value.search(/@/) > 0
8
+ }
9
+
10
+ let loop = () => {
11
+ if (!validator) return false // we need validator
12
+ console.log(`looping ${Date.now()}`)
13
+ if (precondition() !== true) {
14
+ console.log(`precondition not met`)
15
+ return
16
+ }
17
+
18
+ // let emails = []
19
+ // for (let item of document.querySelectorAll('a.transition')) {
20
+ // if (validator.isEmail(`any@${item.innerText}`) && !emails.includes(`any@${item.innerText}`))
21
+ // emails.push(`any@${item.innerText}`)
22
+ // }
23
+ let emails = [ validator.isEmail(document.querySelector('#trsh_mail').value) ? document.querySelector('#trsh_mail').value : false ]
24
+ // let emailAddr = document.querySelector('input#eposta_adres').value
25
+ console.log(`tempmail.com.tr is ready to be picken up`, emails)
26
+ sendResult(provider,emails)
27
+ }
28
+
29
+ let bootstrap = () => {
30
+ console.log(`Document is ready`)
31
+ interval = setInterval(loop, 10000)
32
+ }
33
+
34
+ console.log(`tempmail.com.tr module has been loaded`)
35
+
36
+ bootstrap()
@@ -0,0 +1,28 @@
1
+ let provider='tempmail.net'
2
+
3
+ let interval
4
+ let email_sent = false
5
+
6
+ let precondition = () => {
7
+ return document.querySelector('input#eposta_adres').value.search(/@/) > 0
8
+ }
9
+
10
+ let loop = () => {
11
+ console.log(`setInterval ${Date.now()}`)
12
+ if (precondition() !== true) {
13
+ console.log(`precondition not met`)
14
+ return
15
+ }
16
+ let emailAddr = document.querySelector('input#eposta_adres').value
17
+ console.log(`tempmail.net is ready to be picken up`, emailAddr)
18
+ sendResult(provider,emailAddr)
19
+ }
20
+
21
+ let bootstrap = () => {
22
+ console.log(`Document is ready`)
23
+ interval = setInterval(loop, 1000)
24
+ }
25
+
26
+ console.log(`tempmail.net module has been loaded`)
27
+
28
+ bootstrap()
@@ -0,0 +1,40 @@
1
+
2
+ let provider='tempmailid.com'
3
+ let interval
4
+ let email_sent = false
5
+
6
+ let precondition = () => {
7
+ let email_field = document.querySelector('div#email_id').innerHTML.search(/@/)>0
8
+ if (email_field===true) return true
9
+
10
+ let random_button = document.querySelector('input#random[type="submit"]')
11
+ console.log(`random_button`,random_button)
12
+ if (random_button) {
13
+ console.log(`clicking to random_button`)
14
+ // click to the random button if seen
15
+ random_button.click()
16
+ return false
17
+ }
18
+
19
+ return false
20
+ }
21
+
22
+ let loop = () => {
23
+ console.log(`setInterval ${Date.now()}`)
24
+ if (precondition() !== true) {
25
+ console.log(`precondition not met`)
26
+ return
27
+ }
28
+ let emailAddr = document.querySelector('div#email_id').innerHTML
29
+ console.log(`${provider} is ready to be picken up`,emailAddr)
30
+ sendResult(provider,emailAddr)
31
+ }
32
+
33
+ let bootstrap = () => {
34
+ console.log(`Document is ready`)
35
+ interval = setInterval(loop, 2000)
36
+ }
37
+
38
+ console.log(`${provider} module has been loaded`)
39
+
40
+ bootstrap()
@@ -0,0 +1,36 @@
1
+ let provider='tempmailo.org'
2
+
3
+ let interval
4
+ let email_sent = false
5
+
6
+ let precondition = () => {
7
+ return document.querySelector('#trsh_mail').value.search(/@/) > 0
8
+ }
9
+
10
+ let loop = () => {
11
+ if (!validator) return false // we need validator
12
+ console.log(`looping ${Date.now()}`)
13
+ if (precondition() !== true) {
14
+ console.log(`precondition not met`)
15
+ return
16
+ }
17
+
18
+ // let emails = []
19
+ // for (let item of document.querySelectorAll('a.transition')) {
20
+ // if (validator.isEmail(`any@${item.innerText}`) && !emails.includes(`any@${item.innerText}`))
21
+ // emails.push(`any@${item.innerText}`)
22
+ // }
23
+ let emails = [ validator.isEmail(document.querySelector('#trsh_mail').value) ? document.querySelector('#trsh_mail').value : false ]
24
+ // let emailAddr = document.querySelector('input#eposta_adres').value
25
+ console.log(`tempmailo.org is ready to be picken up`, emails)
26
+ sendResult(provider,emails)
27
+ }
28
+
29
+ let bootstrap = () => {
30
+ console.log(`Document is ready`)
31
+ interval = setInterval(loop, 10000)
32
+ }
33
+
34
+ console.log(`tempmailo.org module has been loaded`)
35
+
36
+ bootstrap()
@@ -0,0 +1,27 @@
1
+ let provider='throwawaymail.com'
2
+ let interval
3
+ let email_sent = false
4
+
5
+ let precondition = () => {
6
+ return document.querySelector('span#email').innerHTML.search(/@/) > 0
7
+ }
8
+
9
+ let loop = () => {
10
+ console.log(`setInterval ${Date.now()}`)
11
+ if (precondition() !== true) {
12
+ console.log(`precondition not met`)
13
+ return
14
+ }
15
+ let emailAddr = document.querySelector('span#email').innerHTML
16
+ console.log(`throwawaymail.com is ready to be picken up`,emailAddr)
17
+ sendResult(provider,emailAddr)
18
+ }
19
+
20
+ let bootstrap = () => {
21
+ console.log(`Document is ready`)
22
+ interval = setInterval(loop, 1000)
23
+ }
24
+
25
+ console.log(`throwawaymail.com module has been loaded`)
26
+
27
+ bootstrap()
@@ -0,0 +1 @@
1
+ scripts to process https://github.com/wesbos/burner-email-providers list
@@ -0,0 +1,57 @@
1
+ const chalk = require('chalk')
2
+ const fs = require('fs')
3
+ const path = require('path')
4
+ var dns = require('dns')
5
+
6
+
7
+
8
+
9
+ function resolve4(host) {
10
+ return new Promise((resolve, reject) => {
11
+ dns.resolve4(host, (err, addresses) => {
12
+ if (err) return resolve(false)
13
+ resolve(addresses)
14
+ })
15
+ })
16
+ }
17
+
18
+ function processDomain(domain) {
19
+ return new Promise(async function (resolve, reject) {
20
+ let tmp = path.join(__dirname, 'temp', domain)
21
+ if (fs.existsSync(tmp)) resolve(true) // was processed
22
+ // console.log(chalk.yellow(domain))
23
+ let info = {
24
+ domain,
25
+ ip4: false,
26
+ mx: false
27
+ }
28
+ // resolveable?
29
+ info.ip4 = await resolve4(domain)
30
+ info.mx = await resolveMx(domain)
31
+
32
+ // console.log(info)
33
+ // save
34
+ fs.writeFileSync(tmp,JSON.stringify(info))
35
+
36
+ resolve(info)
37
+ })
38
+ }
39
+
40
+ async function start() {
41
+ try {
42
+ // download from https://raw.githubusercontent.com/wesbos/burner-email-providers/master/emails.txt
43
+ let all = fs.readFileSync('./emails.txt', 'ascii')
44
+ let split = all.split(/\n/)
45
+ for (let domain of split) {
46
+ // console.log(line)
47
+ let info = await processDomain(domain)
48
+ console.log(info)
49
+ // process.exit(0)
50
+ }
51
+ process.exit(0)
52
+ } catch (err) {
53
+ console.log(chalk.red(err))
54
+ }
55
+ }
56
+
57
+ start()