fakefilter 1.1.13 → 1.1.1582

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 (276) hide show
  1. package/LICENSE.md +29 -0
  2. package/README.md +66 -16
  3. package/dist/domainLookup.d.ts +7 -0
  4. package/dist/domainLookup.js +46 -0
  5. package/dist/index.d.ts +9 -0
  6. package/dist/index.js +213 -0
  7. package/dist/json/data.json +1 -0
  8. package/dist/types.d.ts +16 -0
  9. package/dist/types.js +3 -0
  10. package/package.json +37 -42
  11. package/apiserver/api/ext_result.js +0 -51
  12. package/apiserver/api/ext_tasks.js +0 -151
  13. package/apiserver/api/is_fakedomain.js +0 -39
  14. package/apiserver/api/is_fakeemail.js +0 -17
  15. package/apiserver/api/ping.js +0 -12
  16. package/apiserver/docs/README.md +0 -41
  17. package/apiserver/docs/babel.config.js +0 -3
  18. package/apiserver/docs/blog/2019-05-28-first-blog-post.md +0 -12
  19. package/apiserver/docs/blog/2019-05-29-long-blog-post.md +0 -44
  20. package/apiserver/docs/blog/2021-08-01-mdx-blog-post.mdx +0 -20
  21. package/apiserver/docs/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
  22. package/apiserver/docs/blog/2021-08-26-welcome/index.md +0 -25
  23. package/apiserver/docs/blog/authors.yml +0 -17
  24. package/apiserver/docs/docs/intro.md +0 -16
  25. package/apiserver/docs/docs/nodejs/_category_.json +0 -4
  26. package/apiserver/docs/docs/nodejs/index.md +0 -30
  27. package/apiserver/docs/docs/restful/_category_.json +0 -4
  28. package/apiserver/docs/docs/restful/index.md +0 -59
  29. package/apiserver/docs/docusaurus.config.js +0 -118
  30. package/apiserver/docs/package.json +0 -37
  31. package/apiserver/docs/sidebars.js +0 -31
  32. package/apiserver/docs/src/components/HomepageFeatures/index.js +0 -64
  33. package/apiserver/docs/src/components/HomepageFeatures/styles.module.css +0 -11
  34. package/apiserver/docs/src/css/custom.css +0 -39
  35. package/apiserver/docs/src/pages/index.js +0 -45
  36. package/apiserver/docs/src/pages/index.module.css +0 -23
  37. package/apiserver/docs/src/pages/markdown-page.md +0 -7
  38. package/apiserver/docs/src/theme/IconArrow/index.js +0 -10
  39. package/apiserver/docs/static/.nojekyll +0 -0
  40. package/apiserver/docs/static/img/docusaurus.png +0 -0
  41. package/apiserver/docs/static/img/favicon.ico +0 -0
  42. package/apiserver/docs/static/img/logo.svg +0 -1
  43. package/apiserver/docs/static/img/tutorial/docsVersionDropdown.png +0 -0
  44. package/apiserver/docs/static/img/tutorial/localeDropdown.png +0 -0
  45. package/apiserver/docs/static/img/undraw_docusaurus_mountain.svg +0 -171
  46. package/apiserver/docs/static/img/undraw_docusaurus_react.svg +0 -170
  47. package/apiserver/docs/static/img/undraw_docusaurus_tree.svg +0 -40
  48. package/apiserver/inc/middleware_client.js +0 -37
  49. package/apiserver/inc/middleware_logging.js +0 -17
  50. package/apiserver/inc/shared.js +0 -47
  51. package/apiserver/inc/worker_fakefilter.js +0 -53
  52. package/apiserver/index.js +0 -62
  53. package/apiserver/public/10minemail.com.js +0 -27
  54. package/apiserver/public/10minuteemails.com.js +0 -46
  55. package/apiserver/public/10minutemail.com.js +0 -29
  56. package/apiserver/public/crazymailing.com.js +0 -27
  57. package/apiserver/public/gettempmail.com.js +0 -39
  58. package/apiserver/public/img/dynamic/README.md +0 -0
  59. package/apiserver/public/img/test.html +0 -48
  60. package/apiserver/public/onetempmail.com.js +0 -35
  61. package/apiserver/public/shared.js +0 -54
  62. package/apiserver/public/temp-mail.org.js +0 -28
  63. package/apiserver/public/tempmail.com.tr.js +0 -36
  64. package/apiserver/public/tempmail.net.js +0 -28
  65. package/apiserver/public/tempmailid.com.js +0 -40
  66. package/apiserver/public/tempmailo.org.js +0 -36
  67. package/apiserver/public/throwawaymail.com.js +0 -27
  68. package/burner/README.md +0 -1
  69. package/burner/burner-check.js +0 -57
  70. package/burner/emails.txt +0 -57106
  71. package/chart-update.js +0 -261
  72. package/cleanup.js +0 -58
  73. package/config.js +0 -126
  74. package/demos/visitor0/index.js +0 -41
  75. package/demos/visitor0/renderedDOM.html +0 -8
  76. package/elements/demo.js +0 -78
  77. package/elements/renderedDOM.html +0 -6459
  78. package/elements/screenshots/afterclick.png +0 -0
  79. package/elements/screenshots/goto.png +0 -0
  80. package/events.js +0 -59
  81. package/fetch.js +0 -180
  82. package/models/events.js +0 -37
  83. package/models/harvested.js +0 -45
  84. package/models/harvested_clone.js +0 -44
  85. package/providers/10-minute-mail.com.js +0 -39
  86. package/providers/10-minuten-mail.de.js +0 -39
  87. package/providers/10mails.net.js +0 -41
  88. package/providers/10minut.com.pl.js +0 -39
  89. package/providers/10minut.xyz.js +0 -40
  90. package/providers/10minuteemails.com.js +0 -39
  91. package/providers/10minutemail.co.za.js +0 -39
  92. package/providers/10minutemail.com.js +0 -39
  93. package/providers/10minutemail.info.js +0 -38
  94. package/providers/10minutemail.net.js +0 -38
  95. package/providers/10minutemail.org.js +0 -38
  96. package/providers/10minutesemail.net.js +0 -36
  97. package/providers/10minutesmail.us.js +0 -39
  98. package/providers/1secmail.com.js +0 -39
  99. package/providers/20minutemail.com.js +0 -36
  100. package/providers/22.do.js +0 -25
  101. package/providers/24hour.email.js +0 -37
  102. package/providers/___emailondeck.com.js +0 -76
  103. package/providers/abandonmail.com.js +0 -39
  104. package/providers/airmailbox.website.js +0 -38
  105. package/providers/akmail.in.js +0 -37
  106. package/providers/altaddress.org.js +0 -50
  107. package/providers/altmails.com.js +0 -37
  108. package/providers/anonbox.net.js +0 -42
  109. package/providers/anonmails.de.js +0 -25
  110. package/providers/anonymmail.net.js +0 -47
  111. package/providers/another-temp-mail.com.js +0 -40
  112. package/providers/awgarstone.com.js +0 -15
  113. package/providers/brodilla.email.js +0 -45
  114. package/providers/byom.de.js +0 -42
  115. package/providers/chacuo.net.js +0 -38
  116. package/providers/cryptogmail.com.js +0 -40
  117. package/providers/default.tmail.thehp.in.js +0 -41
  118. package/providers/developermail.com.js +0 -39
  119. package/providers/dispemail.com.js +0 -38
  120. package/providers/disposableemail.co.js +0 -37
  121. package/providers/disposableemail.us.js +0 -37
  122. package/providers/disposablemail.com.js +0 -38
  123. package/providers/disposeamail.com.js +0 -43
  124. package/providers/dispostable.com.js +0 -39
  125. package/providers/dodsi.com.js +0 -38
  126. package/providers/dropmail.me.js +0 -37
  127. package/providers/easytrashmail.com.js +0 -33
  128. package/providers/edumail.icu.js +0 -36
  129. package/providers/email-fake.com.js +0 -35
  130. package/providers/emailfake.com.js +0 -35
  131. package/providers/emailnator.com.js +0 -37
  132. package/providers/etempmail.com.js +0 -36
  133. package/providers/etempmail.net.js +0 -37
  134. package/providers/eyepaste.com.js +0 -39
  135. package/providers/fakemail.io.js +0 -36
  136. package/providers/fakemail.net.js +0 -35
  137. package/providers/fakemailgenerator.com.js +0 -35
  138. package/providers/fakermail.com.js +0 -37
  139. package/providers/faxmail.co.js +0 -47
  140. package/providers/fex.plus.js +0 -38
  141. package/providers/findtempmail.com.js +0 -39
  142. package/providers/foxiomail.com.js +0 -42
  143. package/providers/fyii.de.js +0 -42
  144. package/providers/gecicimail.co.js +0 -14
  145. package/providers/gecicimail.com.tr.js +0 -15
  146. package/providers/generator.email.js +0 -37
  147. package/providers/getnada.cc.js +0 -37
  148. package/providers/getnada.com.js +0 -37
  149. package/providers/gmailcity.com.js +0 -37
  150. package/providers/gpa.lu.js +0 -37
  151. package/providers/guerrillamail.com.js +0 -38
  152. package/providers/harakirimail.com.js +0 -38
  153. package/providers/haribu.net.js +0 -39
  154. package/providers/hizli.email.js +0 -40
  155. package/providers/hottempmail.com.js +0 -52
  156. package/providers/instant-email.org.js +0 -39
  157. package/providers/instantemailaddress.com.js +0 -40
  158. package/providers/internxt.com.js +0 -47
  159. package/providers/jooko.info.js +0 -37
  160. package/providers/kopeechka.store.js +0 -43
  161. package/providers/kuku.lu.js +0 -37
  162. package/providers/linshi-email.com.js +0 -38
  163. package/providers/linshiyou.com.js +0 -25
  164. package/providers/linshiyouxiang.net.js +0 -36
  165. package/providers/lroid.com.js +0 -35
  166. package/providers/luxusmail.org.js +0 -39
  167. package/providers/mail-temp.com.js +0 -37
  168. package/providers/mail-tester.com.js +0 -37
  169. package/providers/mail.gen.tr.js +0 -14
  170. package/providers/mail.gw.js +0 -35
  171. package/providers/mail.td.js +0 -42
  172. package/providers/mail.tm.js +0 -35
  173. package/providers/mail1.js +0 -44
  174. package/providers/mail1a.de.js +0 -42
  175. package/providers/mail4qa.com.js +0 -37
  176. package/providers/mail7.io.js +0 -41
  177. package/providers/mailcatch.com.js +0 -38
  178. package/providers/maildim.com.js +0 -38
  179. package/providers/maildrop.cc.js +0 -38
  180. package/providers/mailinator.com.js +0 -27
  181. package/providers/mailnesia.com.js +0 -41
  182. package/providers/mailpoof.com.js +0 -71
  183. package/providers/mailsac.com.js +0 -27
  184. package/providers/mailswipe.net.js +0 -37
  185. package/providers/minimail.eu.org.js +0 -27
  186. package/providers/mintemail.com.js +0 -49
  187. package/providers/minuteinbox.com.js +0 -35
  188. package/providers/moakt.com.js +0 -37
  189. package/providers/mohmal.com.js +0 -39
  190. package/providers/muellmail.com.js +0 -40
  191. package/providers/mytemp.email.js +0 -35
  192. package/providers/mytrashmailer.com.js +0 -38
  193. package/providers/niepodam.pl.js +0 -53
  194. package/providers/nolog.email.js +0 -38
  195. package/providers/onetempmail.com.js +0 -37
  196. package/providers/open.js +0 -41
  197. package/providers/oxyemail.com.js +0 -38
  198. package/providers/phaantm.de.js +0 -42
  199. package/providers/poo.email.js +0 -27
  200. package/providers/sandvpn.com.js +0 -49
  201. package/providers/shitmail.me.js +0 -38
  202. package/providers/shitmail.org.js +0 -38
  203. package/providers/snapmail.cc.js +0 -42
  204. package/providers/spamdecoy.net.js +0 -38
  205. package/providers/spamgourmet.com.js +0 -29
  206. package/providers/spoofmail.de.js +0 -47
  207. package/providers/static.js +0 -32
  208. package/providers/t-mail.org.js +0 -42
  209. package/providers/temp-email.info.js +0 -39
  210. package/providers/temp-inbox.com.js +0 -38
  211. package/providers/temp-inbox.me.js +0 -47
  212. package/providers/temp-mail.io.js +0 -36
  213. package/providers/temp-mail.org.2.js +0 -60
  214. package/providers/temp-mail.org.js +0 -36
  215. package/providers/temp-mailbox.com.js +0 -35
  216. package/providers/temp-mails.com.js +0 -45
  217. package/providers/temp.cab.js +0 -39
  218. package/providers/tempail.com.js +0 -36
  219. package/providers/tempinbox.xyz.js +0 -38
  220. package/providers/tempmail.adguard.com.js +0 -31
  221. package/providers/tempmail.altmails.com.js +0 -37
  222. package/providers/tempmail.cn.js +0 -38
  223. package/providers/tempmail.co.js +0 -38
  224. package/providers/tempmail.dev.js +0 -35
  225. package/providers/tempmail.io.js +0 -38
  226. package/providers/tempmail.ninja.js +0 -35
  227. package/providers/tempmail.plus.js +0 -47
  228. package/providers/tempmail.quest.js +0 -45
  229. package/providers/tempmail.run.js +0 -37
  230. package/providers/tempmail.tel.js +0 -38
  231. package/providers/tempmailed.com.js +0 -43
  232. package/providers/tempmailo.com.js +0 -35
  233. package/providers/tempo-email.com.js +0 -38
  234. package/providers/tempo-mail.xyz.js +0 -40
  235. package/providers/temporary-email.com.js +0 -35
  236. package/providers/temporary-email.org.js +0 -36
  237. package/providers/temporary-mail.net.js +0 -42
  238. package/providers/temporarymail.com.js +0 -39
  239. package/providers/tempos.email.js +0 -38
  240. package/providers/tempr.email.js +0 -45
  241. package/providers/temprmail.com.js +0 -38
  242. package/providers/tenmail.org.js +0 -40
  243. package/providers/thnen.com.js +0 -25
  244. package/providers/throwaway.io.js +0 -39
  245. package/providers/tmail.gg.js +0 -36
  246. package/providers/tmail.mmomekong.com.js +0 -38
  247. package/providers/tmailor.com.js +0 -37
  248. package/providers/tmailweb.com.js +0 -39
  249. package/providers/trash-mail.com.js +0 -42
  250. package/providers/trashmail.com.js +0 -39
  251. package/providers/trashmail.de.js +0 -36
  252. package/providers/trashmail.live.js +0 -36
  253. package/providers/trashmail.org.js +0 -39
  254. package/providers/trashmail.ws.js +0 -42
  255. package/providers/trashmails.com.js +0 -38
  256. package/providers/tuamaeaquelaursa.com.js +0 -25
  257. package/providers/txen.de.js +0 -48
  258. package/providers/wegwerfemailadresse.com.js +0 -43
  259. package/providers/yopmail.com.js +0 -37
  260. package/providers/yopmail.fr.js +0 -37
  261. package/providers/yopmail.net.js +0 -37
  262. package/providers/yourmail.online.js +0 -39
  263. package/providers/youxiang.dev.js +0 -25
  264. package/release.sh +0 -26
  265. package/repo-update.js +0 -134
  266. package/shared.js +0 -736
  267. package/test/doRequest.js +0 -47
  268. package/test/is_domain_banned.js +0 -53
  269. package/test/is_fakedomain.js +0 -136
  270. package/test/is_fakeemail.js +0 -136
  271. package/test/psl.js +0 -58
  272. package/test/repo_json_v1.js +0 -30
  273. package/test/repo_json_v2.js +0 -41
  274. package/test1.js +0 -36
  275. package/update-repo.sh +0 -37
  276. package/vars.js +0 -16
package/test/doRequest.js DELETED
@@ -1,47 +0,0 @@
1
- var axios = require('axios')
2
- var debug = require('debug')('doRequest')
3
- var vars =require('../vars')
4
- var chalk = require('chalk')
5
- var querystring = require('querystring')
6
-
7
- async function doRequest(fullPath,dataObject={},method='POST',additionalHeaders={},testsessionData=false) {
8
- return new Promise(async function (resolve,reject) {
9
-
10
- const headers = {
11
- 'content-type': 'application/json',
12
- ...additionalHeaders
13
- }
14
-
15
- const data = dataObject
16
- // axios.defaults.headers.post['content-type'] = 'application/x-www-form-urlencoded'
17
-
18
- const options = {
19
- method,
20
- url:fullPath,
21
- data:method==='POST' ? data : false,
22
- params:method==='GET' ? dataObject : false,
23
- headers
24
- }
25
- try {
26
- axios(options).then(res=>{
27
- debug(`request response:`,res.data)
28
- if (method==='POST') {
29
- return resolve(res.data)
30
- }
31
-
32
- if (method==='GET') {
33
- return resolve(res)
34
- }
35
- }).catch(err=>{
36
- reject(err)
37
- })
38
- }catch(err3) {
39
- // console.log(err3)
40
- reject(err3)
41
- }
42
-
43
- })
44
-
45
- }
46
-
47
- module.exports = doRequest
@@ -1,53 +0,0 @@
1
- const { getConfig } = require('./../config')
2
- const expect= require('chai').expect
3
- const { is_domain_banned } = require('./../shared.js')
4
- let config
5
-
6
- describe('Function: is_domain_banned',function() {
7
- this.timeout(0)
8
- before(async function() {
9
- if (!config) {
10
- // config = await getConfig()
11
- // apiserver = `http://${config.apiserver.ip}:${config.apiserver.port}`
12
- }
13
- })
14
-
15
- it('invalid entries should return null',async function() {
16
- expect(is_domain_banned()).to.be.null
17
- expect(is_domain_banned(false)).to.be.null
18
- expect(is_domain_banned(null)).to.be.null
19
- expect(is_domain_banned([])).to.be.null
20
- expect(is_domain_banned({})).to.be.null
21
- expect(is_domain_banned(true)).to.be.null
22
- })
23
-
24
- it('invalid email address should return with its domain part only',async function() {
25
- expect(is_domain_banned('not]valid@gmail.com')).to.be.false
26
- expect(is_domain_banned('not]valid@gmail.com',{'gmail.com':{}})).to.be.a('object')
27
- })
28
-
29
- it('is fake domain',async function() {
30
- expect(is_domain_banned('fake1.com',{})).to.be.false
31
- expect(is_domain_banned('fake1.com',{'fake1.com':{}})).to.be.a('object')
32
- expect(is_domain_banned('Fake1.com',{'fake1.com':{}})).to.be.a('object')
33
- expect(is_domain_banned('Fake1.cOM',{'fake1.com':{}})).to.be.a('object')
34
- })
35
- it('is not fake domain',async function() {
36
- expect(is_domain_banned('fake2.com',{})).to.be.false
37
- expect(is_domain_banned('fake2.com',{'fake1.com':{}})).to.be.false
38
- expect(is_domain_banned('Fake2.com',{'fake1.com':{}})).to.be.false
39
- expect(is_domain_banned('Fake2.cOM',{'fake1.com':{}})).to.be.false
40
- })
41
-
42
- it('subdomains must be banned too',async function() {
43
- expect(is_domain_banned('sub.fake1.com',{'fake1.com':{}})).to.be.a('object')
44
- expect(is_domain_banned('sub2.sub1.fake1.com',{'fake1.com':{}})).to.be.a('object')
45
- expect(is_domain_banned('sub3.sub2.sub1.fake1.com',{'fake1.com':{}})).to.be.a('object')
46
- })
47
-
48
- it('if we have the subdomain in our current_filter, filter wont work',async function() {
49
- expect(is_domain_banned('sub.fake1.com',{'sub.fake1.com':{}})).to.be.false
50
- expect(is_domain_banned('sub2.sub1.fake1.com',{'sub.fake1.com':{}})).to.be.false
51
- expect(is_domain_banned('sub3.sub2.sub1.fake1.com',{'sub.fake1.com':{}})).to.be.false
52
- })
53
- })
@@ -1,136 +0,0 @@
1
- const punycode = require('punycode/')
2
- const chalk = require('chalk')
3
- const { getConfig } = require('./../config')
4
- const expect = require('chai').expect
5
- const { is_domain_banned, pullDomains } = require('./../shared.js')
6
- let config
7
- let testDomains = {}
8
-
9
- describe('API: is_fakedomain', function () {
10
- this.timeout(0)
11
- before(async function () {
12
- if (!config) {
13
- config = await getConfig()
14
- apiserver = `http://${config.apiserver.ip}:${config.apiserver.port}`
15
- let tmp = await pullDomains(10)
16
- for(let row of tmp) {
17
- if (!testDomains.hasOwnProperty(row.domain))
18
- testDomains[row.domain]=row
19
- }
20
- }
21
- })
22
-
23
- it('fakefilter.net domain', async function () {
24
- let res = await ((await fetch(`${apiserver}/api/is/fakedomain/fakefilter.net`)).json())
25
- expect(res).property('retcode').eq(200)
26
- expect(res).property('isFakeDomain').eq(false)
27
- })
28
-
29
-
30
- it('whitelisted domains main domains should never be in fakefilter', async function () {
31
- for(let wldomain of config.ignore_domains) {
32
- let res = await ((await fetch(`${apiserver}/api/is/fakedomain/${wldomain}`)).json())
33
- expect(res).property('retcode').eq(200)
34
- expect(res).property('isFakeDomain').eq(false)
35
- }
36
- })
37
-
38
- it('whitelisted domains sub domains should never be in fakefilter', async function () {
39
- for(let wldomain of config.ignore_domains) {
40
- let res = await ((await fetch(`${apiserver}/api/is/fakedomain/sub.${wldomain}`)).json())
41
- expect(res).property('retcode').eq(200)
42
- expect(res).property('isFakeDomain').eq(false)
43
- }
44
- })
45
-
46
- it('tests with existing fakedomains main domains', async function () {
47
- const progress = require('progressbar').create().step('testing')
48
- progress.setTotal(Object.keys(testDomains).length)
49
- for(let row of Object.values(testDomains)) {
50
- progress.addTick()
51
- // console.log(chalk.inverse(row.domain))
52
- // console.log(row)
53
- expect(row).property('domain')
54
- expect(row).property('provider')
55
- expect(row).property('id').to.be.a('number')
56
- expect(row).property('t').to.be.a('number').gt(1576308737349)
57
- let res = await ((await fetch(`${apiserver}/api/is/fakedomain/${row.domain}`)).json())
58
- // console.log(res)
59
-
60
-
61
- expect(res).property('retcode').eq(200)
62
- expect(res).property('isFakeDomain').eq(row.domain)
63
-
64
- expect(res).property('details').property('providers').contains(row.provider)
65
- expect(res).property('details').property('hosts').to.be.a('object')
66
- for(let hostDetail of Object.values(res.details.hosts)) {
67
- expect(hostDetail).property('firstseen').gt(1574600000)
68
- expect(hostDetail).property('lastseen').gt(1574600000)
69
- }
70
-
71
- // console.log(res.details)
72
- // break
73
- }
74
- })
75
-
76
- it('tests with existing fakedomains sub domains', async function () {
77
- const progress = require('progressbar').create().step('testing')
78
- progress.setTotal(Object.keys(testDomains).length)
79
- for(let row of Object.values(testDomains)) {
80
- progress.addTick()
81
- // console.log(chalk.inverse(row.domain))
82
- // console.log(row)
83
- expect(row).property('domain')
84
- expect(row).property('provider')
85
- expect(row).property('id').to.be.a('number')
86
- expect(row).property('t').to.be.a('number').gt(1576308737349)
87
- let res = await ((await fetch(`${apiserver}/api/is/fakedomain/sub.${row.domain}`)).json())
88
- // console.log(res)
89
-
90
- expect(res).property('retcode').eq(200)
91
- expect(res).property('isFakeDomain').eq("sub."+row.domain)
92
-
93
- expect(res).property('details').property('providers').contains(row.provider)
94
- expect(res).property('details').property('hosts').to.be.a('object')
95
- for(let hostDetail of Object.values(res.details.hosts)) {
96
- expect(hostDetail).property('firstseen').gt(1574600000)
97
- expect(hostDetail).property('lastseen').gt(1574600000)
98
- }
99
- }
100
- })
101
-
102
- it('query idn unicode domains in urlencoded format', async function() {
103
- const progress = require('progressbar').create().step('testing')
104
- progress.setTotal(Object.keys(testDomains).length)
105
- for(let row of Object.values(testDomains)) {
106
- progress.addTick()
107
- // pick only the unicode domains from mysql
108
- if (punycode.toASCII(row.domain)==row.domain) continue
109
- let res = await ((await fetch(`${apiserver}/api/is/fakedomain/${row.domain}`)).json())
110
- // console.log(res)
111
- expect(res).property('retcode').eq(200)
112
- expect(res).property('isFakeDomain').eq(row.domain)
113
- expect(res).property('details').property('providers').contains(row.provider)
114
- expect(res).property('details').property('hosts').to.be.a('object')
115
- }
116
- })
117
-
118
- it('query idn domains in punycode format', async function() {
119
- const progress = require('progressbar').create().step('testing')
120
- progress.setTotal(Object.keys(testDomains).length)
121
- for(let row of Object.values(testDomains)) {
122
- progress.addTick()
123
- // pick only the unicode domains from mysql
124
- if (punycode.toASCII(row.domain)==row.domain) continue
125
- let pc = punycode.toASCII(row.domain)
126
- let res = await ((await fetch(`${apiserver}/api/is/fakedomain/${pc}`)).json())
127
- // console.log(res)
128
- expect(res).property('retcode').eq(200)
129
- expect(res).property('isFakeDomain').eq(pc)
130
- expect(res).property('details').property('providers').contains(row.provider)
131
- expect(res).property('details').property('hosts').to.be.a('object')
132
- }
133
- })
134
-
135
-
136
- })
@@ -1,136 +0,0 @@
1
- const punycode = require('punycode/')
2
- const chalk = require('chalk')
3
- const { getConfig } = require('./../config')
4
- const expect = require('chai').expect
5
- const { is_domain_banned, pullDomains } = require('./../shared.js')
6
- let config
7
- let testDomains = {}
8
-
9
- describe('API: is_fakeemail', function () {
10
- this.timeout(0)
11
- before(async function () {
12
- if (!config) {
13
- config = await getConfig()
14
- apiserver = `http://${config.apiserver.ip}:${config.apiserver.port}`
15
- let tmp = await pullDomains(10)
16
- for(let row of tmp) {
17
- if (!testDomains.hasOwnProperty(row.domain))
18
- testDomains[row.domain]=row
19
- }
20
- }
21
- })
22
-
23
- it('fakefilter.net domain', async function () {
24
- let res = await ((await fetch(`${apiserver}/api/is/fakeemail/fake@fakefilter.net`)).json())
25
- expect(res).property('retcode').eq(200)
26
- expect(res).property('isFakeDomain').eq(false)
27
- })
28
-
29
-
30
- it('whitelisted domains main domains should never be in fakefilter', async function () {
31
- for(let wldomain of config.ignore_domains) {
32
- let res = await ((await fetch(`${apiserver}/api/is/fakeemail/fake@${wldomain}`)).json())
33
- expect(res).property('retcode').eq(200)
34
- expect(res).property('isFakeDomain').eq(false)
35
- }
36
- })
37
-
38
- it('whitelisted domains sub domains should never be in fakefilter', async function () {
39
- for(let wldomain of config.ignore_domains) {
40
- let res = await ((await fetch(`${apiserver}/api/is/fakeemail/fake@sub.${wldomain}`)).json())
41
- expect(res).property('retcode').eq(200)
42
- expect(res).property('isFakeDomain').eq(false)
43
- }
44
- })
45
-
46
- it('tests with existing fakedomains main domains', async function () {
47
- const progress = require('progressbar').create().step('testing')
48
- progress.setTotal(Object.keys(testDomains).length)
49
- for(let row of Object.values(testDomains)) {
50
- progress.addTick()
51
- // console.log(chalk.inverse(row.domain))
52
- // console.log(row)
53
- expect(row).property('domain')
54
- expect(row).property('provider')
55
- expect(row).property('id').to.be.a('number')
56
- expect(row).property('t').to.be.a('number').gt(1576308737349)
57
- let res = await ((await fetch(`${apiserver}/api/is/fakeemail/fake@${row.domain}`)).json())
58
- // console.log(res)
59
-
60
-
61
- expect(res).property('retcode').eq(200)
62
- expect(res).property('isFakeDomain').eq(row.domain)
63
-
64
- expect(res).property('details').property('providers').contains(row.provider)
65
- expect(res).property('details').property('hosts').to.be.a('object')
66
- for(let hostDetail of Object.values(res.details.hosts)) {
67
- expect(hostDetail).property('firstseen').gt(1574600000)
68
- expect(hostDetail).property('lastseen').gt(1574600000)
69
- }
70
-
71
- // console.log(res.details)
72
- // break
73
- }
74
- })
75
-
76
- it('tests with existing fakedomains sub domains', async function () {
77
- const progress = require('progressbar').create().step('testing')
78
- progress.setTotal(Object.keys(testDomains).length)
79
- for(let row of Object.values(testDomains)) {
80
- progress.addTick()
81
- // console.log(chalk.inverse(row.domain))
82
- // console.log(row)
83
- expect(row).property('domain')
84
- expect(row).property('provider')
85
- expect(row).property('id').to.be.a('number')
86
- expect(row).property('t').to.be.a('number').gt(1576308737349)
87
- let res = await ((await fetch(`${apiserver}/api/is/fakeemail/fake@sub.${row.domain}`)).json())
88
- // console.log(res)
89
-
90
- expect(res).property('retcode').eq(200)
91
- expect(res).property('isFakeDomain').eq("sub."+row.domain)
92
-
93
- expect(res).property('details').property('providers').contains(row.provider)
94
- expect(res).property('details').property('hosts').to.be.a('object')
95
- for(let hostDetail of Object.values(res.details.hosts)) {
96
- expect(hostDetail).property('firstseen').gt(1574600000)
97
- expect(hostDetail).property('lastseen').gt(1574600000)
98
- }
99
- }
100
- })
101
-
102
- it('query idn unicode domains in urlencoded format', async function() {
103
- const progress = require('progressbar').create().step('testing')
104
- progress.setTotal(Object.keys(testDomains).length)
105
- for(let row of Object.values(testDomains)) {
106
- progress.addTick()
107
- // pick only the unicode domains from mysql
108
- if (punycode.toASCII(row.domain)==row.domain) continue
109
- let res = await ((await fetch(`${apiserver}/api/is/fakeemail/fake@${row.domain}`)).json())
110
- // console.log(res)
111
- expect(res).property('retcode').eq(200)
112
- expect(res).property('isFakeDomain').eq(row.domain)
113
- expect(res).property('details').property('providers').contains(row.provider)
114
- expect(res).property('details').property('hosts').to.be.a('object')
115
- }
116
- })
117
-
118
- it('query idn domains in punycode format', async function() {
119
- const progress = require('progressbar').create().step('testing')
120
- progress.setTotal(Object.keys(testDomains).length)
121
- for(let row of Object.values(testDomains)) {
122
- progress.addTick()
123
- // pick only the unicode domains from mysql
124
- if (punycode.toASCII(row.domain)==row.domain) continue
125
- let pc = punycode.toASCII(row.domain)
126
- let res = await ((await fetch(`${apiserver}/api/is/fakeemail/fake@${pc}`)).json())
127
- // console.log(res)
128
- expect(res).property('retcode').eq(200)
129
- expect(res).property('isFakeDomain').eq(pc)
130
- expect(res).property('details').property('providers').contains(row.provider)
131
- expect(res).property('details').property('hosts').to.be.a('object')
132
- }
133
- })
134
-
135
-
136
- })
package/test/psl.js DELETED
@@ -1,58 +0,0 @@
1
- const punycode = require('punycode/')
2
- const psl = require('psl')
3
- const { getConfig } = require('./../config')
4
- const expect = require('chai').expect
5
- const { is_domain_banned } = require('./../shared.js')
6
- let config
7
-
8
- describe('PSL Library', function () {
9
- this.timeout(0)
10
- before(async function () {
11
- if (!config) {
12
- // config = await getConfig()
13
- // apiserver = `http://${config.apiserver.ip}:${config.apiserver.port}`
14
- }
15
- })
16
-
17
- it('punnycode encoded domains should be parseable', async function () {
18
- var got = psl.parse(punycode.toASCII('gmaıl.net'))
19
- expect(got).property('tld').eq('net')
20
- expect(got).property('listed').to.be.true
21
-
22
- got = psl.parse(punycode.toASCII('뜃.cf'))
23
- expect(got).property('tld').eq('cf')
24
- expect(got).property('listed').to.be.true
25
- })
26
-
27
- it('punnycode encoded domains their tld is not listed should be parseable', async function () {
28
- var got = psl.parse(punycode.toASCII('gmaıl.nt'))
29
- expect(got).property('tld').eq('nt')
30
- expect(got).property('listed').to.be.false
31
-
32
- got = psl.parse(punycode.toASCII('뜃.xx'))
33
- expect(got).property('tld').eq('xx')
34
- expect(got).property('listed').to.be.false
35
- })
36
-
37
- it('unicode encoded domains should be parseable', async function () {
38
- var got = psl.parse('gmaıl.net')
39
- expect(got).property('tld').eq('net')
40
- expect(got).property('listed').to.be.true
41
-
42
- got = psl.parse('뜃.cf')
43
- expect(got).property('tld').eq('cf')
44
- expect(got).property('listed').to.be.true
45
- })
46
-
47
- it('listed unicode tld should be parseable', async function () {
48
- var got = psl.parse('пушка-тула.рф')
49
- expect(got).property('tld').eq('рф')
50
- expect(got).property('listed').to.be.true
51
- })
52
-
53
- it('unlisted unicode tld should be parseable', async function () {
54
- var got = psl.parse('пушка-тула.xф')
55
- expect(got).property('tld').eq('xф')
56
- expect(got).property('listed').to.be.false
57
- })
58
- })
@@ -1,30 +0,0 @@
1
- const fs = require('fs')
2
- const path = require('path')
3
- const punycode = require('punycode/')
4
- const psl = require('psl')
5
- const { getConfig } = require('./../config')
6
- const expect = require('chai').expect
7
- const { is_domain_banned } = require('./../shared.js')
8
- let config
9
-
10
- describe('/repo/json/data.json format', function () {
11
- this.timeout(0)
12
- before(async function () {
13
- if (!config) {
14
- config = await getConfig()
15
- // apiserver = `http://${config.apiserver.ip}:${config.apiserver.port}`
16
- }
17
- })
18
-
19
- it('read generated json version1 format', async function () {
20
- let json = JSON.parse(fs.readFileSync(path.join(config.main_folder,'repo/json/data.json')))
21
- expect(json).property('version').eq(1)
22
- expect(json).property('domains')
23
- for(let domain of Object.keys(json.domains)) {
24
- let inner = json.domains[domain]
25
- expect(inner).property('provider').to.be.a('string')
26
- expect(inner).property('firstseen').to.be.a('number').gt(0)
27
- expect(inner).property('lastseen').to.be.a('number').gt(0)
28
- }
29
- })
30
- })
@@ -1,41 +0,0 @@
1
- const fs = require('fs')
2
- const path = require('path')
3
- const punycode = require('punycode/')
4
- const psl = require('psl')
5
- const { getConfig } = require('./../config')
6
- const expect = require('chai').expect
7
- const { is_domain_banned } = require('./../shared.js')
8
- let config
9
-
10
- describe('/repo/json/data_version2.json format', function () {
11
- this.timeout(0)
12
- before(async function () {
13
- if (!config) {
14
- config = await getConfig()
15
- // apiserver = `http://${config.apiserver.ip}:${config.apiserver.port}`
16
- }
17
- })
18
-
19
- it('read generated json version2 format', async function () {
20
- let json = JSON.parse(fs.readFileSync(path.join(config.main_folder,'repo/json/data_version2.json')))
21
- expect(json).property('version').eq(2)
22
- expect(json).property('domains')
23
- for(let domain of Object.keys(json.domains)) {
24
- let inner = json.domains[domain]
25
- // console.log(inner)
26
-
27
- if (inner.hasOwnProperty('unicodeDomain')) {
28
- expect(inner.unicodeDomain).not.contain('xn--')
29
- // console.log(domain,inner)
30
- }
31
- expect(inner).property('providers').to.be.a('array').length.gt(0)
32
- expect(inner).property('hosts').to.be.a('object')
33
- for(let hostKey of Object.keys(inner.hosts)) {
34
- expect(inner.hosts[hostKey]).property('firstseen').gt(0)
35
- expect(inner.hosts[hostKey]).property('lastseen').gt(0)
36
- // console.log(hostKey)
37
- }
38
-
39
- }
40
- })
41
- })
package/test1.js DELETED
@@ -1,36 +0,0 @@
1
- const chalk = require('chalk')
2
- const { getConfig } = require('./config')
3
-
4
- const new_domains = [
5
- 'gmail.com','gmail.ch','gmail.net','googlemail.com',
6
- 'hotmail.com','hotmail.be','hotmail.ca','hotmail.ch','hotmail.cl','hotmail.co.il','hotmail.co.jp','hotmail.com.ar','hotmail.com.au','hotmail.com.br','hotmail.com.tr','hotmail.com.tw','hotmail.co.nz','hotmail.co.uk','hotmail.cz','hotmail.de','hotmail.es','hotmail.fi','hotmail.fr','hotmail.gr','hotmail.hu','hotmail.it','hotmail.my','hotmail.nl','hotmail.ru','hotmail.se',
7
- 'yahoo.com','yahoo.ca','yahoo.cl','yahoo.cn','yahoo.co.id','yahoo.co.in','yahoo.co.jp','yahoo.co.kr','yahoo.com.ar','yahoo.com.au','yahoo.com.br','yahoo.com.cn','yahoo.com.hk','yahoo.com.mx','yahoo.com.my','yahoo.com.ph','yahoo.com.sg','yahoo.com.tr','yahoo.com.tw','yahoo.com.vn','yahoo.co.nz','yahoo.co.uk','yahoo.de','yahoo.dk','yahoo.es','yahoo.fr','yahoo.gr','yahoo.ie','yahoo.in','yahoo.it','yahoomail.com','yahoo.nl','yahoo.no','yahoo.pl','yahoo.se',
8
- 'outlook.com','outlook.sa','outlook.es','outlook.fr', 'live.com','live.com.au','live.com.mx','live.com.ph','live.co.uk','live.de','live.fr','live.it','live.nl', 'msn.com', 'icloud.com',
9
- '123mail.net','5ballov.ru','5ymail.com','a1.net','accountant.com','aeterna.ru','amorki.pl','anonymousspeech.com','aol.at','aol.com','aol.co.uk','aol.de','aol.fr','aol.in','aol.it','aprava.com','arcor.de','asia.com','bestmail.us','betriebsdirektor.de','bk.ru','bossmail.de','breakthru.com','btinternet.com','centrum.cz','cheerful.com','citromail.hu','consultant.com','contractor.net','cysel.zzn.com',
10
- 'dcemail.com','directbox.com','doctor.com','dr.com','email.com','email.cz','email.it','emailn.de','engineer.com','europe.com','everymail.net','eyou.com','fotoplenka.ru','freenet.de','freenetmail.de','fromru.com','front.ru','gmx.at','gmx.ch','gmx.com','gmx.co.uk','gmx.de','gmx.es','gmx.eu','gmx.fr','gmx.ie','gmx.it','gmx.li','gmx.net','gmx.org','gmx.pt','gmx.tm','gmx-topmail.de','gmx.us',
11
- 'hanmail.net','hidemail.de','hotbox.ru','hushmail.com','hushmail.me','iname.com','inbox.com','inbox.lv','inbox.ru','interia.pl','ip6.li','islammail.net','jubii.dk','junkmail.com','keemail.me','krovatka.su','laposte.net','lavabit.com','lawyer.com','libero.it','linuxmail.org','list.ru','live.at','live.ca','live.cl','live.cn','london.com','lykamspam.pl','mail15.com','mailbox.hu','mail.by','mailcan.com',
12
- 'mail.com','mail.co.uk','mail.ee','mail.ua','mailfa.com','mailmight.com','mail.ru','mauimail.com','mcn.net','memori.ru','messagebeamer.de','mighty.co.za','muchomail.com','mujmail.cz','mymail-in.net','myself.com','newmail.ru','nightmail.ru','nm.ru','nodns.org','nospammail.net','o2.pl','online.de','open.by','ownplace.com','photofile.ru','pm.me','pochtamt.ru','pochta.ru','pop3.ru','portugalmail.pt',
13
- 'post.com','post.cz','posteo.mx','posteo.si','prokonto.pl','protonmail.com','qip.ru','qq.com','rambler.ru','rbcmail.ru','rocketmail.com','safe-mail.net','secmail.in','secure-email.org','secure-mail.cc','seznam.cz','shaw.ca','sibmail.com','smtp.ru','startmail.com','stribmail.com','surimail.com','techemail.com','techie.com','tiscali.it','tlen.pl','tom.com','t-online.de','t-online.hu',
14
- 'topmail.com','tuta.io','tut.by','u7.eu','unitybox.de','usa.com','uymail.com','virgilio.it','voila.fr','vollbio.de','wanadoo.fr','warpmail.net','web.de','windowslive.com','wp.pl','x-mail.net','y7mail.com',
15
- 'comcast.net','aliyun.com','cps.edu','sina.com','sina.cn','139.com','orange.fr','me.com','abv.bg','i.ua','naver.com','ukr.net','126.com','163.com','yandex.com','yandex.ru','yandex.ua','ya.ru','yeah.net','ymail.com','yourinbox.co','yuurok.com','ziggo.nl','zoho.com']
16
-
17
- async function start() {
18
- try {
19
- let config = await getConfig()
20
- let current_domains = config.ignore_domains
21
-
22
-
23
- for(let current of new_domains) {
24
- if (current_domains.includes(current)) {
25
- console.log(`match: ${current}`)
26
- } else {
27
- console.log(chalk.red(`nomatch: ${current}`))
28
- }
29
- }
30
- // console.log(config)
31
- } catch(err) {
32
- console.log(err)
33
- }
34
- }
35
-
36
- start()
package/update-repo.sh DELETED
@@ -1,37 +0,0 @@
1
- #!/bin/bash
2
- source /opt/coadmin-peer/inc/shared.sh
3
- optstring=":v"
4
- verbose=
5
- while getopts ${optstring} arg; do
6
- case "${arg}" in
7
- v) verbose=1 ;;
8
- esac
9
- done
10
-
11
- pkill -f repo-update.js
12
- pkill -f chart-update.js
13
- pkill -f repo-update.js
14
- pkill -f chart-update.js
15
-
16
- export NPM_TOKEN=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
17
-
18
- cd /opt/fakefilter && {
19
- node chart-update.js
20
- node repo-update.js
21
- if cd repo/; then
22
- # git add assets/img/*.png
23
- report_test_ok "repo folder exists"
24
- if ./release.sh 'auto update'; then
25
- report_test_ok "published"
26
- if npm publish; then
27
- report_test_ok "npm published"
28
- else
29
- report_test_error "npm published"
30
- fi
31
- else
32
- report_test_error "published"
33
- fi
34
- else
35
- report_test_error "repo folder exists"
36
- fi
37
- }
package/vars.js DELETED
@@ -1,16 +0,0 @@
1
- const { CoadminService } = require('coadmin-lib');
2
-
3
- module.exports = {
4
- sequelize:false,
5
- config:false,
6
- providers:[],
7
- browsers:[],
8
- coadmin_service_apiserver:new CoadminService('fakefilter/apiserver'),
9
- current_filter:{},
10
-
11
- models:{
12
- Harvested:false,
13
- HarvestedClone:false,
14
- Events:false
15
- }
16
- }