fakefilter 0.1.651 → 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.
- package/README.md +16 -64
- package/apiserver/api/ext_result.js +51 -0
- package/apiserver/api/ext_tasks.js +151 -0
- package/apiserver/api/is_fakedomain.js +39 -0
- package/apiserver/api/is_fakeemail.js +17 -0
- package/apiserver/api/ping.js +12 -0
- package/apiserver/docs/README.md +41 -0
- package/apiserver/docs/babel.config.js +3 -0
- package/apiserver/docs/blog/2019-05-28-first-blog-post.md +12 -0
- package/apiserver/docs/blog/2019-05-29-long-blog-post.md +44 -0
- package/apiserver/docs/blog/2021-08-01-mdx-blog-post.mdx +20 -0
- package/apiserver/docs/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
- package/apiserver/docs/blog/2021-08-26-welcome/index.md +25 -0
- package/apiserver/docs/blog/authors.yml +17 -0
- package/apiserver/docs/docs/intro.md +16 -0
- package/apiserver/docs/docs/nodejs/_category_.json +4 -0
- package/apiserver/docs/docs/nodejs/index.md +30 -0
- package/apiserver/docs/docs/restful/_category_.json +4 -0
- package/apiserver/docs/docs/restful/index.md +59 -0
- package/apiserver/docs/docusaurus.config.js +118 -0
- package/apiserver/docs/package.json +37 -0
- package/apiserver/docs/sidebars.js +31 -0
- package/apiserver/docs/src/components/HomepageFeatures/index.js +64 -0
- package/apiserver/docs/src/components/HomepageFeatures/styles.module.css +11 -0
- package/apiserver/docs/src/css/custom.css +39 -0
- package/apiserver/docs/src/pages/index.js +45 -0
- package/apiserver/docs/src/pages/index.module.css +23 -0
- package/apiserver/docs/src/pages/markdown-page.md +7 -0
- package/apiserver/docs/src/theme/IconArrow/index.js +10 -0
- package/apiserver/docs/static/.nojekyll +0 -0
- package/apiserver/docs/static/img/docusaurus.png +0 -0
- package/apiserver/docs/static/img/favicon.ico +0 -0
- package/apiserver/docs/static/img/logo.svg +1 -0
- package/apiserver/docs/static/img/tutorial/docsVersionDropdown.png +0 -0
- package/apiserver/docs/static/img/tutorial/localeDropdown.png +0 -0
- package/apiserver/docs/static/img/undraw_docusaurus_mountain.svg +171 -0
- package/apiserver/docs/static/img/undraw_docusaurus_react.svg +170 -0
- package/apiserver/docs/static/img/undraw_docusaurus_tree.svg +40 -0
- package/apiserver/inc/middleware_client.js +37 -0
- package/apiserver/inc/middleware_logging.js +17 -0
- package/apiserver/inc/shared.js +45 -0
- package/apiserver/inc/worker_fakefilter.js +53 -0
- package/apiserver/index.js +62 -0
- package/apiserver/public/10minemail.com.js +27 -0
- package/apiserver/public/10minuteemails.com.js +46 -0
- package/apiserver/public/10minutemail.com.js +29 -0
- package/apiserver/public/crazymailing.com.js +27 -0
- package/apiserver/public/gettempmail.com.js +39 -0
- package/apiserver/public/img/dynamic/README.md +0 -0
- package/apiserver/public/onetempmail.com.js +35 -0
- package/apiserver/public/shared.js +54 -0
- package/apiserver/public/temp-mail.org.js +28 -0
- package/apiserver/public/tempmail.com.tr.js +36 -0
- package/apiserver/public/tempmail.net.js +28 -0
- package/apiserver/public/tempmailid.com.js +40 -0
- package/apiserver/public/tempmailo.org.js +36 -0
- package/apiserver/public/throwawaymail.com.js +27 -0
- package/burner/README.md +1 -0
- package/burner/burner-check.js +57 -0
- package/burner/emails.txt +57106 -0
- package/chart-update.js +179 -0
- package/cleanup.js +58 -0
- package/config.js +126 -0
- package/events.js +59 -0
- package/fetch.js +177 -0
- package/models/events.js +37 -0
- package/models/harvested.js +45 -0
- package/models/harvested_clone.js +44 -0
- package/package.json +41 -23
- package/providers/10-minute-mail.com.js +38 -0
- package/providers/10-minuten-mail.de.js +38 -0
- package/providers/10mails.net.js +40 -0
- package/providers/10minut.com.pl.js +38 -0
- package/providers/10minut.xyz.js +40 -0
- package/providers/10minuteemails.com.js +39 -0
- package/providers/10minutemail.co.za.js +38 -0
- package/providers/10minutemail.com.js +39 -0
- package/providers/10minutemail.info.js +38 -0
- package/providers/10minutemail.net.js +38 -0
- package/providers/10minutemail.org.js +38 -0
- package/providers/10minutesemail.net.js +36 -0
- package/providers/10minutesmail.us.js +38 -0
- package/providers/1secmail.com.js +39 -0
- package/providers/20minutemail.com.js +36 -0
- package/providers/24hour.email.js +37 -0
- package/providers/___emailondeck.com.js +76 -0
- package/providers/abandonmail.com.js +38 -0
- package/providers/airmailbox.website.js +38 -0
- package/providers/akmail.in.js +37 -0
- package/providers/altmails.com.js +37 -0
- package/providers/anonbox.net.js +42 -0
- package/providers/anonmails.de.js +25 -0
- package/providers/another-temp-mail.com.js +40 -0
- package/providers/brodilla.email.js +44 -0
- package/providers/byom.de.js +42 -0
- package/providers/cryptogmail.com.js +40 -0
- package/providers/default.tmail.thehp.in.js +41 -0
- package/providers/developermail.com.js +39 -0
- package/providers/dispemail.com.js +37 -0
- package/providers/disposableemail.co.js +37 -0
- package/providers/disposableemail.us.js +36 -0
- package/providers/disposablemail.com.js +38 -0
- package/providers/disposeamail.com.js +43 -0
- package/providers/dispostable.com.js +38 -0
- package/providers/dodsi.com.js +38 -0
- package/providers/dropmail.me.js +37 -0
- package/providers/easytrashmail.com.js +33 -0
- package/providers/edumail.icu.js +36 -0
- package/providers/email-fake.com.js +35 -0
- package/providers/emailfake.com.js +35 -0
- package/providers/etempmail.net.js +37 -0
- package/providers/eyepaste.com.js +39 -0
- package/providers/fakemail.io.js +35 -0
- package/providers/fakemail.net.js +35 -0
- package/providers/fakemailgenerator.com.js +35 -0
- package/providers/fakermail.com.js +37 -0
- package/providers/fex.plus.js +38 -0
- package/providers/findtempmail.com.js +38 -0
- package/providers/foxiomail.com.js +41 -0
- package/providers/fyii.de.js +42 -0
- package/providers/gecicimail.co.js +14 -0
- package/providers/gecicimail.com.tr.js +15 -0
- package/providers/generator.email.js +37 -0
- package/providers/getnada.com.js +37 -0
- package/providers/gpa.lu.js +37 -0
- package/providers/guerrillamail.com.js +38 -0
- package/providers/harakirimail.com.js +38 -0
- package/providers/haribu.net.js +39 -0
- package/providers/hizli.email.js +40 -0
- package/providers/hottempmail.com.js +51 -0
- package/providers/instant-email.org.js +39 -0
- package/providers/instantemailaddress.com.js +39 -0
- package/providers/jooko.info.js +36 -0
- package/providers/kopeechka.store.js +53 -0
- package/providers/linshi-email.com.js +38 -0
- package/providers/lroid.com.js +35 -0
- package/providers/luxusmail.org.js +39 -0
- package/providers/mail-temp.com.js +37 -0
- package/providers/mail-tester.com.js +37 -0
- package/providers/mail.gen.tr.js +14 -0
- package/providers/mail.gw.js +35 -0
- package/providers/mail.td.js +42 -0
- package/providers/mail.tm.js +35 -0
- package/providers/mail1a.de.js +42 -0
- package/providers/mail7.io.js +41 -0
- package/providers/mailcatch.com.js +38 -0
- package/providers/maildim.com.js +38 -0
- package/providers/maildrop.cc.js +38 -0
- package/providers/mailinator.com.js +27 -0
- package/providers/mailnesia.com.js +41 -0
- package/providers/mailpoof.com.js +71 -0
- package/providers/mailsac.com.js +27 -0
- package/providers/mailswipe.net.js +37 -0
- package/providers/minimail.eu.org.js +27 -0
- package/providers/mintemail.com.js +49 -0
- package/providers/minuteinbox.com.js +35 -0
- package/providers/moakt.com.js +37 -0
- package/providers/mohmal.com.js +39 -0
- package/providers/muellmail.com.js +41 -0
- package/providers/mytemp.email.js +35 -0
- package/providers/mytrashmailer.com.js +38 -0
- package/providers/niepodam.pl.js +53 -0
- package/providers/nolog.email.js +38 -0
- package/providers/onetempmail.com.js +37 -0
- package/providers/open.js +41 -0
- package/providers/oxyemail.com.js +38 -0
- package/providers/phaantm.de.js +42 -0
- package/providers/poo.email.js +27 -0
- package/providers/sandvpn.com.js +49 -0
- package/providers/shitmail.me.js +38 -0
- package/providers/shitmail.org.js +38 -0
- package/providers/spamdecoy.net.js +38 -0
- package/providers/spamgourmet.com.js +29 -0
- package/providers/spoofmail.de.js +47 -0
- package/providers/t-mail.org.js +42 -0
- package/providers/temp-email.info.js +39 -0
- package/providers/temp-inbox.com.js +38 -0
- package/providers/temp-mail.io.js +36 -0
- package/providers/temp-mails.com.js +45 -0
- package/providers/temp.cab.js +39 -0
- package/providers/tempail.com.js +36 -0
- package/providers/tempinbox.xyz.js +38 -0
- package/providers/tempmail.altmails.com.js +37 -0
- package/providers/tempmail.cn.js +38 -0
- package/providers/tempmail.co.js +38 -0
- package/providers/tempmail.dev.js +35 -0
- package/providers/tempmail.ninja.js +35 -0
- package/providers/tempmail.plus.js +47 -0
- package/providers/tempmail.run.js +37 -0
- package/providers/tempmail.tel.js +38 -0
- package/providers/tempmailed.com.js +43 -0
- package/providers/tempmailo.com.js +35 -0
- package/providers/tempo-email.com.js +38 -0
- package/providers/tempo-mail.xyz.js +40 -0
- package/providers/temporary-email.com.js +35 -0
- package/providers/temporary-mail.net.js +42 -0
- package/providers/temporarymail.com.js +39 -0
- package/providers/tempos.email.js +38 -0
- package/providers/tempr.email.js +45 -0
- package/providers/temprmail.com.js +38 -0
- package/providers/tenmail.org.js +40 -0
- package/providers/thnen.com.js +25 -0
- package/providers/throwaway.io.js +39 -0
- package/providers/tmail.gg.js +36 -0
- package/providers/tmail.mmomekong.com.js +38 -0
- package/providers/tmailor.com.js +37 -0
- package/providers/tmailweb.com.js +39 -0
- package/providers/trash-mail.com.js +42 -0
- package/providers/trashmail.com.js +39 -0
- package/providers/trashmail.de.js +36 -0
- package/providers/trashmail.live.js +36 -0
- package/providers/trashmail.org.js +39 -0
- package/providers/trashmail.ws.js +42 -0
- package/providers/trashmails.com.js +38 -0
- package/providers/txen.de.js +48 -0
- package/providers/wegwerfemailadresse.com.js +43 -0
- package/providers/yopmail.com.js +37 -0
- package/providers/yopmail.fr.js +37 -0
- package/providers/yopmail.net.js +37 -0
- package/providers/yourmail.online.js +39 -0
- package/release.sh +26 -0
- package/repo-update.js +121 -0
- package/shared.js +559 -0
- package/test/doRequest.js +47 -0
- package/test/is_domain_banned.js +53 -0
- package/test/is_fakedomain.js +136 -0
- package/test/is_fakeemail.js +136 -0
- package/test/psl.js +58 -0
- package/test/repo_json_v1.js +30 -0
- package/test/repo_json_v2.js +41 -0
- package/test1.js +36 -0
- package/update-repo.sh +44 -0
- package/vars.js +16 -0
- package/CHARTS.md +0 -492
- package/LICENSE.md +0 -29
- package/examples/online.js +0 -16
- package/index.d.ts +0 -23
- package/index.js +0 -193
- package/json/data.json +0 -1
- package/json/data_version2.json +0 -1
- package/markdown/README.md +0 -16341
- package/txt/data.txt +0 -16341
|
@@ -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()
|
package/burner/README.md
ADDED
|
@@ -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()
|