fakefilter 0.1.656 → 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 -489
- 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 -16435
- package/txt/data.txt +0 -16435
package/index.js
DELETED
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
|
|
3
|
-
Basic Javascript Interface to lookup by Email or Domain
|
|
4
|
-
|
|
5
|
-
Important: you need to auto update npm package daily to make continious feed
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
const assert = require('assert');
|
|
9
|
-
const static_json_v1 = require('./json/data.json')
|
|
10
|
-
const https = require('https')
|
|
11
|
-
const http = require('http')
|
|
12
|
-
const apiserver = "https://fakefilter.net"
|
|
13
|
-
// const apiserver = "http://127.0.0.1:5520" -- local tests
|
|
14
|
-
const scheme = apiserver.search(/^https/) === 0 ? "https" : "http"
|
|
15
|
-
|
|
16
|
-
function hostnameFromEmailAddress(email) {
|
|
17
|
-
if (email && typeof email === 'string' && email.search(/@/) > 0)
|
|
18
|
-
return email.split(/@/)[1]
|
|
19
|
-
return null
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function isFakeDomain(domain, json = false) {
|
|
23
|
-
if (!json) json = static_json_v1
|
|
24
|
-
for (let dom of Object.keys(json.domains)) {
|
|
25
|
-
// exact match
|
|
26
|
-
if (dom === domain.toLowerCase().trim()) return dom
|
|
27
|
-
// subdomain match
|
|
28
|
-
if (domain.search(new RegExp(`.+\\.${dom}`)) === 0) return dom
|
|
29
|
-
}
|
|
30
|
-
return false
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
function fetch(url, timeout = 5000, json = true) {
|
|
34
|
-
return new Promise(async function (resolve, reject) {
|
|
35
|
-
try {
|
|
36
|
-
let proto = apiserver.search(/^https/) === 0 ? https : http
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
let request = proto.get(url, (res) => {
|
|
40
|
-
if (res.statusCode !== 200) {
|
|
41
|
-
res.resume()
|
|
42
|
-
return reject('STATUSCODE')
|
|
43
|
-
}
|
|
44
|
-
let data = ''
|
|
45
|
-
res.on('data', (chunk) => { data += chunk })
|
|
46
|
-
res.on('close', () => {
|
|
47
|
-
if (json) {
|
|
48
|
-
try {
|
|
49
|
-
return resolve(JSON.parse(data))
|
|
50
|
-
} catch (err) {
|
|
51
|
-
return resolve(false)
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return resolve(data)
|
|
55
|
-
})
|
|
56
|
-
})
|
|
57
|
-
request.setTimeout(timeout, () => {
|
|
58
|
-
request.destroy()
|
|
59
|
-
return reject('TIMEOUT')
|
|
60
|
-
})
|
|
61
|
-
request.end()
|
|
62
|
-
|
|
63
|
-
request.on('error', (err) => {
|
|
64
|
-
return reject(err)
|
|
65
|
-
})
|
|
66
|
-
} catch (err3) {
|
|
67
|
-
// errors like ERR_INVALID_PROTOCOL is thrown here
|
|
68
|
-
reject(err3)
|
|
69
|
-
}
|
|
70
|
-
})
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
function isFakeEmail(email, json = false) {
|
|
74
|
-
return isFakeDomain(hostnameFromEmailAddress(email), json)
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
function isFakeEmailOnline(email, timeout = 5000) {
|
|
78
|
-
return isFakeDomainOnline(hostnameFromEmailAddress(email), timeout)
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
function isFakeDomainOnline(domain, timeout = 5000) {
|
|
83
|
-
// we intentionally do not reject because we do not want to hold
|
|
84
|
-
// the process too long, null indicates error
|
|
85
|
-
return new Promise(async function (resolve, reject) {
|
|
86
|
-
try {
|
|
87
|
-
let answer = await fetch(`${apiserver}/api/is/fakedomain/${domain}`, timeout, true)
|
|
88
|
-
if (answer && answer.hasOwnProperty('retcode') && answer.retcode === 200)
|
|
89
|
-
return resolve(answer)
|
|
90
|
-
} catch (err) {
|
|
91
|
-
// error returns null
|
|
92
|
-
return resolve(null)
|
|
93
|
-
}
|
|
94
|
-
})
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
async function runTests() {
|
|
98
|
-
// fetch tests
|
|
99
|
-
|
|
100
|
-
// not existing domain
|
|
101
|
-
try {
|
|
102
|
-
await fetch(`${scheme}://nonexisting${Date.now()}.com`)
|
|
103
|
-
assert.equal(false, true) // we should never reach this position
|
|
104
|
-
} catch (err) {
|
|
105
|
-
assert.equal(err.code, 'ENOTFOUND')
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// not existing url on existing domain
|
|
109
|
-
try {
|
|
110
|
-
await fetch(`${apiserver}/notexisting`)
|
|
111
|
-
assert.equal(false, true) // we should never reach this position
|
|
112
|
-
} catch (err) {
|
|
113
|
-
assert.equal(err, 'STATUSCODE')
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
// invalid protocoll
|
|
117
|
-
try {
|
|
118
|
-
await fetch(`htps://fakefilter.net/notexisting`)
|
|
119
|
-
assert.equal(false, true) // we should never reach this position
|
|
120
|
-
} catch (err) {
|
|
121
|
-
assert.equal(err.code, 'ERR_INVALID_PROTOCOL')
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
// invalid url
|
|
125
|
-
try {
|
|
126
|
-
await fetch(`://fakefilter.net/notexisting`)
|
|
127
|
-
assert.equal(false, true) // we should never reach this position
|
|
128
|
-
} catch (err) {
|
|
129
|
-
assert.equal(err.code, 'ERR_INVALID_URL')
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
// 404
|
|
134
|
-
try {
|
|
135
|
-
await fetch(`${apiserver}/api/is/fakedomain/`)
|
|
136
|
-
assert.equal(false, true) // we should never reach this position
|
|
137
|
-
} catch (err) {
|
|
138
|
-
assert.equal(err, 'STATUSCODE')
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
// non FakeDomain
|
|
142
|
-
assert.equal((await fetch(`${apiserver}/api/is/fakedomain/fakefilter.net`)).retcode, 200)
|
|
143
|
-
// FakeDomain
|
|
144
|
-
assert.equal((await fetch(`${apiserver}/api/is/fakedomain/fakefilte r.net`)).retcode, -50)
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
let json = static_json_v1
|
|
148
|
-
console.log(`Running tests`)
|
|
149
|
-
let all_domains = Object.keys(json.domains)
|
|
150
|
-
|
|
151
|
-
// all domains we know must be detected as FakeDomain
|
|
152
|
-
for (let domain of all_domains) {
|
|
153
|
-
// if (domain!=='www.barryogorman.com') continue
|
|
154
|
-
// console.log((domain),isFakeDomain(domain)===domain.toLowerCase())
|
|
155
|
-
// exact match
|
|
156
|
-
// console.log(`>> ${domain}`)
|
|
157
|
-
|
|
158
|
-
assert.notEqual(isFakeDomain(domain), false)
|
|
159
|
-
// subdomain match for example any@sub.test.com should match if test.com is part of the filter
|
|
160
|
-
assert.notEqual(isFakeDomain(`sub.${domain}`), false)
|
|
161
|
-
|
|
162
|
-
assert.notEqual(isFakeDomain(`sub.sub.${domain}`), false)
|
|
163
|
-
assert.notEqual(isFakeDomain(`another.sub.sub.${domain}`), false)
|
|
164
|
-
// sub$hostname should not be detected as fakedomain - if we have test.com in the filter, subtest.com should not be detected as fake
|
|
165
|
-
if (domain.search(/^[^.]+\.[^.]+$/) == 0) {
|
|
166
|
-
assert.equal(isFakeEmail(`any@sub${domain}`), false)
|
|
167
|
-
assert.equal(isFakeDomain(`sub${domain}`), false)
|
|
168
|
-
}
|
|
169
|
-
assert.notEqual(isFakeEmail(`any@${domain}`), false)
|
|
170
|
-
assert.notEqual(isFakeEmail(`any@sub.${domain}`), false)
|
|
171
|
-
|
|
172
|
-
// RESTFul API query
|
|
173
|
-
assert.equal((await isFakeDomainOnline(domain)).isFakeDomain, domain)
|
|
174
|
-
assert.equal((await isFakeEmailOnline(`any@${domain}`)).isFakeDomain, domain)
|
|
175
|
-
assert.equal((await isFakeEmailOnline(`any@sub.${domain}`)).isFakeDomain, "sub." + domain)
|
|
176
|
-
}
|
|
177
|
-
console.log(`OK`)
|
|
178
|
-
process.exit(0)
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
// basic tests
|
|
182
|
-
if (require.main == module) runTests()
|
|
183
|
-
|
|
184
|
-
module.exports = {
|
|
185
|
-
// offline version
|
|
186
|
-
isFakeDomain,
|
|
187
|
-
isFakeEmail,
|
|
188
|
-
|
|
189
|
-
// online version
|
|
190
|
-
isFakeDomainOnline,
|
|
191
|
-
isFakeEmailOnline
|
|
192
|
-
}
|
|
193
|
-
|