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.
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 -489
  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 -16435
  242. 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
-