fakefilter 0.1.1401 → 1.1.12
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 -66
- 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 +47 -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/img/test.html +48 -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 +261 -0
- package/cleanup.js +58 -0
- package/config.js +126 -0
- package/demos/visitor0/index.js +41 -0
- package/demos/visitor0/renderedDOM.html +8 -0
- package/elements/demo.js +78 -0
- package/elements/renderedDOM.html +6459 -0
- package/elements/screenshots/afterclick.png +0 -0
- package/elements/screenshots/goto.png +0 -0
- package/events.js +59 -0
- package/fetch.js +180 -0
- package/models/events.js +37 -0
- package/models/harvested.js +45 -0
- package/models/harvested_clone.js +44 -0
- package/package.json +44 -23
- package/providers/10-minute-mail.com.js +39 -0
- package/providers/10-minuten-mail.de.js +39 -0
- package/providers/10mails.net.js +41 -0
- package/providers/10minut.com.pl.js +39 -0
- package/providers/10minut.xyz.js +40 -0
- package/providers/10minuteemails.com.js +39 -0
- package/providers/10minutemail.co.za.js +39 -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 +39 -0
- package/providers/1secmail.com.js +39 -0
- package/providers/20minutemail.com.js +36 -0
- package/providers/22.do.js +25 -0
- package/providers/24hour.email.js +37 -0
- package/providers/___emailondeck.com.js +76 -0
- package/providers/abandonmail.com.js +39 -0
- package/providers/airmailbox.website.js +38 -0
- package/providers/akmail.in.js +37 -0
- package/providers/altaddress.org.js +50 -0
- package/providers/altmails.com.js +37 -0
- package/providers/anonbox.net.js +42 -0
- package/providers/anonmails.de.js +25 -0
- package/providers/anonymmail.net.js +47 -0
- package/providers/another-temp-mail.com.js +40 -0
- package/providers/awgarstone.com.js +15 -0
- package/providers/brodilla.email.js +45 -0
- package/providers/byom.de.js +42 -0
- package/providers/chacuo.net.js +38 -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 +38 -0
- package/providers/disposableemail.co.js +37 -0
- package/providers/disposableemail.us.js +37 -0
- package/providers/disposablemail.com.js +38 -0
- package/providers/disposeamail.com.js +43 -0
- package/providers/dispostable.com.js +39 -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/emailnator.com.js +37 -0
- package/providers/etempmail.com.js +36 -0
- package/providers/etempmail.net.js +37 -0
- package/providers/eyepaste.com.js +39 -0
- package/providers/fakemail.io.js +36 -0
- package/providers/fakemail.net.js +35 -0
- package/providers/fakemailgenerator.com.js +35 -0
- package/providers/fakermail.com.js +37 -0
- package/providers/faxmail.co.js +47 -0
- package/providers/fex.plus.js +38 -0
- package/providers/findtempmail.com.js +39 -0
- package/providers/foxiomail.com.js +42 -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.cc.js +37 -0
- package/providers/getnada.com.js +37 -0
- package/providers/gmailcity.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 +52 -0
- package/providers/instant-email.org.js +39 -0
- package/providers/instantemailaddress.com.js +40 -0
- package/providers/internxt.com.js +47 -0
- package/providers/jooko.info.js +37 -0
- package/providers/kopeechka.store.js +43 -0
- package/providers/kuku.lu.js +37 -0
- package/providers/linshi-email.com.js +38 -0
- package/providers/linshiyou.com.js +25 -0
- package/providers/linshiyouxiang.net.js +36 -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/mail1.js +44 -0
- package/providers/mail1a.de.js +42 -0
- package/providers/mail4qa.com.js +37 -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 +40 -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/snapmail.cc.js +42 -0
- package/providers/spamdecoy.net.js +38 -0
- package/providers/spamgourmet.com.js +29 -0
- package/providers/spoofmail.de.js +47 -0
- package/providers/static.js +32 -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-inbox.me.js +47 -0
- package/providers/temp-mail.io.js +36 -0
- package/providers/temp-mail.org.2.js +60 -0
- package/providers/temp-mail.org.js +36 -0
- package/providers/temp-mailbox.com.js +35 -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.adguard.com.js +31 -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.io.js +38 -0
- package/providers/tempmail.ninja.js +35 -0
- package/providers/tempmail.plus.js +47 -0
- package/providers/tempmail.quest.js +45 -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-email.org.js +36 -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/tuamaeaquelaursa.com.js +25 -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/providers/youxiang.dev.js +25 -0
- package/release.sh +26 -0
- package/repo-update.js +134 -0
- package/shared.js +736 -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 +31 -0
- package/vars.js +16 -0
- package/CHARTS.md +0 -490
- 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/EXPIRED.md +0 -4117
- package/markdown/README.md +0 -9286
- package/txt/data.txt +0 -9286
package/README.md
CHANGED
|
@@ -1,77 +1,27 @@
|
|
|
1
|
-
#
|
|
2
|
-
The intention of this project is to sweep temporary and fake email addresses from registrations. We collect fake email providers and their domains and want to publish them here in different formats. We want that site owners use this repo as reliable source to find out all fake/temp provider registration attempts.
|
|
1
|
+
# Fakefilter Service
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
There are other lists like https://gist.github.com/adamloving/4401361 , https://disify.com/ , https://github.com/wesbos/burner-email-providers , https://github.com/disposable-email-domains/disposable-email-domains , https://github.com/elliotjreed/disposable-emails-filter-php , https://github.com/Propaganistas/Laravel-Disposable-Email , https://github.com/disposable/disposable - they do work with submissions. This is greatly appreciated service for the community. We want to thank to them. FakeFilter has different approach: we do actively monitor all known providers and get their domains almost realtime and distribute daily. All our system is automated. Your help is still required; if you submit us new providers, we will write services to watch those providers REALTIME. Users do have rights to fake their emails, but also service providers do have the right to know about this fact. We have nothing against free/fake services, this service aims to be automated and reliable.
|
|
3
|
+
this project will harvest domains of fake/temp-email providers and store them in mysql table. This project stores everything to mysql database. The `repo/` folder is mapped to `https://github.com/7c/fakefilter` repo which is supposed to be the distribution repo
|
|
6
4
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Amount of coverage, actions against all known Disposable Email Providers per Day
|
|
10
|
-

|
|
5
|
+
## Testing specific provider for Development
|
|
6
|
+
You may want to start every provider seperatly (for development reasons for example) just by calling `node providers/<name>.js`, this would open the puppeteer in non-headless mode. This will allow you to debug
|
|
11
7
|
|
|
12
|
-
##
|
|
13
|
-
|
|
14
|
-

|
|
8
|
+
## Fetching specific provider
|
|
9
|
+
`node fetch.js <providerName> [<providerName> <providerName>]`
|
|
15
10
|
|
|
11
|
+
## Repo/ folder
|
|
12
|
+
this is seperate [github](https://github.com/7c/fakefilter) repo. Use `repo-update.js` from crontab to populate it.
|
|
16
13
|
|
|
17
|
-
##
|
|
18
|
-
We monitor every disposable email provider we know about and make charts about success rate in % per day. You can access provider based success rate charts at [here](CHARTS.md)
|
|
19
|
-
|
|
20
|
-
## Adding new Providers
|
|
21
|
-
Please help us to add new Providers to this list, simply create an issue with the title as providers main sitedomain, this way we can group them by domain. Your help is appreciated.
|
|
22
|
-
|
|
23
|
-
## Online Formats
|
|
24
|
-
We have implemented a RESTful API, you can check the API at [fakefilter.net](https://fakefilter.net/static/docs/restful/). This database is aimed to serve realtime, so once we detect a new domain, this API will have it. We recommend using the Offline format as backup since we cannot guarantee the uptime.
|
|
25
|
-
|
|
26
|
-
## Offline Formats
|
|
27
|
-
You may use one of these formats to have access to the information flow in your favorite programming language:
|
|
28
|
-
|
|
29
|
-
[Markdown](markdown/README.md)
|
|
30
|
-
|
|
31
|
-
[Json](json/data.json)
|
|
32
|
-
This format supports firstseen,lastseen,randomSubdomain properties
|
|
33
|
-
|
|
34
|
-
[Json v2](json/data_version2.json)
|
|
35
|
-
A fakedomain might belong to multiple providers, in this format we list their PSL (Public Suffix List) based domain and all known hostnames belonging to this PSL domain. Ths version also supports IDN domains, all domains are punycode.
|
|
36
|
-
|
|
37
|
-
[Txt](txt/data.txt)
|
|
38
|
-
|
|
39
|
-
## Expired Domains
|
|
40
|
-
Our service removes domains from fakefilter (json/api/markdown/txt) after a year of inactivity. If these domains reappear, they are reinstated in our database for a minimum of 365 days. You can find the list of expired domains per provider [here](markdown/EXPIRED.md)
|
|
41
|
-
|
|
42
|
-
## Whitelist
|
|
43
|
-
We whitelist major well-known providers from being blocked from fakefilter, just to make sure we do not add them automatically from our system. Some providers offer @gmail<dot>com emails, adding such domains would be painful for the community.
|
|
44
|
-
|
|
45
|
-
## Javascript Interface
|
|
46
|
-
We have implemented npm/javascript interface for Javascript Developers as demonstration
|
|
47
|
-
|
|
48
|
-
`npm i --save fakefilter`
|
|
49
|
-
|
|
50
|
-
You have to make sure that this npm package is always up2date in order this static implementation to work as designed.
|
|
51
|
-
|
|
52
|
-
Offline Lookup:
|
|
14
|
+
## repo-update.sh
|
|
53
15
|
```
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
console.log(isFakeDomain('domain.com'))
|
|
57
|
-
console.log(isFakeEmail('user@domain.com'))
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
Online Lookup:
|
|
62
|
-
|
|
63
|
-
this version does not throw at all. You either get null (which indicates any error) or false or the object as reply
|
|
16
|
+
--dry will not write to files
|
|
64
17
|
```
|
|
65
|
-
## also see examples/online.js
|
|
66
|
-
const { isFakeDomainOnline, isFakeEmailOnline } = require('fakefilter')
|
|
67
18
|
|
|
68
|
-
|
|
69
|
-
|
|
19
|
+
## chart-update.sh
|
|
20
|
+
this is responsible to draw charts using external module
|
|
70
21
|
|
|
71
|
-
```
|
|
72
22
|
|
|
23
|
+
## Docs
|
|
24
|
+
docs/website are/is made with Docusaurus, the source is inside apiserver/docs/. You can use `npm run serve` to develop and `npm run build` to build. This docs page serves as the main entry point for https://fakefilter.net
|
|
73
25
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
node index.js
|
|
77
|
-
```
|
|
26
|
+
## events.js
|
|
27
|
+
use this tool to pull events for specific provider from mysql
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
const { reply } = require('../inc/shared')
|
|
2
|
+
const vars = require('../../vars')
|
|
3
|
+
const { validEmail } = require('mybase')
|
|
4
|
+
const { validateParameters } = require('@7c/autovalidate')
|
|
5
|
+
const { getDomainPart, domainFromEmail } = require('../../shared')
|
|
6
|
+
const { Sentry } = require('../../config')
|
|
7
|
+
|
|
8
|
+
async function api_ext_result(req, res, next) {
|
|
9
|
+
let validation = validateParameters(req.body,
|
|
10
|
+
[
|
|
11
|
+
{ key: 'emails', type: ['array'], required: true },
|
|
12
|
+
{ key: 'provider', type: ['string'], required: true },
|
|
13
|
+
])
|
|
14
|
+
if (!validation.validated) return reply(res, { retcode: -50, validation })
|
|
15
|
+
|
|
16
|
+
let { provider, emails } = validation.values
|
|
17
|
+
|
|
18
|
+
try {
|
|
19
|
+
for (email of emails) {
|
|
20
|
+
if (validEmail(email)) {
|
|
21
|
+
console.log(`adding new email ${email}`)
|
|
22
|
+
let thedomain = getDomainPart(domainFromEmail(email))
|
|
23
|
+
await vars.models.Harvested.create({
|
|
24
|
+
provider,
|
|
25
|
+
t: Date.now(),
|
|
26
|
+
domain: thedomain
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
await vars.models.Events.create({
|
|
30
|
+
provider,
|
|
31
|
+
t: Date.now(),
|
|
32
|
+
event: 'fetch',
|
|
33
|
+
result: 'success'
|
|
34
|
+
})
|
|
35
|
+
console.log(`added new email ${email} domain ${thedomain}`)
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return reply(res, {
|
|
40
|
+
retcode: 200,
|
|
41
|
+
validation
|
|
42
|
+
})
|
|
43
|
+
} catch (err) {
|
|
44
|
+
console.log(err)
|
|
45
|
+
Sentry.captureException(err)
|
|
46
|
+
return reply(res, { retcode: -1 })
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
module.exports = { api_ext_result }
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
const { reply } = require('../inc/shared')
|
|
2
|
+
const vars = require('../../vars')
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
function api_ext_tasks(req, res, next) {
|
|
7
|
+
let jobs = [
|
|
8
|
+
{
|
|
9
|
+
id:'temp-mail.org',
|
|
10
|
+
start_url:'https://temp-mail.org',
|
|
11
|
+
domains:['temp-mail.org','www.temp-mail.org'],
|
|
12
|
+
scripts:['https://code.jquery.com/jquery-3.6.0.min.js','https://fakefilter.net/public/shared.js','https://fakefilter.net/public/temp-mail.org.js'],
|
|
13
|
+
remind_every:18 // hours
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
id:'10minemail.com',
|
|
17
|
+
start_url:'https://10minemail.com',
|
|
18
|
+
domains:['10minemail.com','www.10minemail.com'],
|
|
19
|
+
scripts:['https://code.jquery.com/jquery-3.6.0.min.js','https://fakefilter.net/public/shared.js','https://fakefilter.net/public/10minemail.com.js'],
|
|
20
|
+
remind_every:18 // hours
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
{
|
|
24
|
+
id:'throwawaymail.com',
|
|
25
|
+
start_url:'https://throwawaymail.com',
|
|
26
|
+
domains:['throwawaymail.com','www.throwawaymail.com'],
|
|
27
|
+
scripts:['https://code.jquery.com/jquery-3.6.0.min.js','https://fakefilter.net/public/shared.js','https://fakefilter.net/public/throwawaymail.com.js'],
|
|
28
|
+
remind_every:48 // hours
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
{
|
|
32
|
+
id:'crazymailing.com',
|
|
33
|
+
start_url:'https://crazymailing.com',
|
|
34
|
+
domains:['crazymailing.com','www.crazymailing.com'],
|
|
35
|
+
scripts:['https://code.jquery.com/jquery-3.6.0.min.js',
|
|
36
|
+
'https://fakefilter.net/public/shared.js',
|
|
37
|
+
'https://fakefilter.net/public/crazymailing.com.js'],
|
|
38
|
+
remind_every:78 // hours
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
{
|
|
43
|
+
id:'gettempmail.com',
|
|
44
|
+
start_url:'https://gettempmail.com',
|
|
45
|
+
domains:['gettempmail.com','www.gettempmail.com'],
|
|
46
|
+
scripts:['https://code.jquery.com/jquery-3.6.0.min.js',
|
|
47
|
+
'https://fakefilter.net/public/shared.js',
|
|
48
|
+
'https://fakefilter.net/public/gettempmail.com.js'],
|
|
49
|
+
remind_every:18 // hours
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
id:'tempmailid.com',
|
|
53
|
+
start_url:'https://tempmailid.com',
|
|
54
|
+
domains:['tempmailid.com','www.tempmailid.com'],
|
|
55
|
+
scripts:['https://code.jquery.com/jquery-3.6.0.min.js',
|
|
56
|
+
'https://fakefilter.net/public/shared.js',
|
|
57
|
+
'https://fakefilter.net/public/tempmailid.com.js'],
|
|
58
|
+
remind_every:78 // hours
|
|
59
|
+
},
|
|
60
|
+
|
|
61
|
+
{
|
|
62
|
+
id:'10minutemail.com',
|
|
63
|
+
start_url:'https://10minutemail.com',
|
|
64
|
+
domains:['10minutemail.com','www.10minutemail.com'],
|
|
65
|
+
scripts:['https://code.jquery.com/jquery-3.6.0.min.js',
|
|
66
|
+
'https://fakefilter.net/public/shared.js',
|
|
67
|
+
'https://fakefilter.net/public/10minutemail.com.js'],
|
|
68
|
+
remind_every:18 // hours
|
|
69
|
+
},
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
{
|
|
73
|
+
id:'10minuteemails.com',
|
|
74
|
+
start_url:'https://10minuteemails.com',
|
|
75
|
+
domains:['10minuteemails.com','www.10minuteemails.com'],
|
|
76
|
+
scripts:['https://code.jquery.com/jquery-3.6.0.min.js',
|
|
77
|
+
'https://unpkg.com/validator@latest/validator.min.js',
|
|
78
|
+
'https://fakefilter.net/public/shared.js',
|
|
79
|
+
'https://fakefilter.net/public/10minuteemails.com.js'],
|
|
80
|
+
remind_every:17 // hours
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
{
|
|
84
|
+
id:'tempmail.net',
|
|
85
|
+
start_url:'https://tempmail.net',
|
|
86
|
+
domains:['tempmail.net','www.tempmail.net'],
|
|
87
|
+
scripts:['https://code.jquery.com/jquery-3.6.0.min.js',
|
|
88
|
+
'https://unpkg.com/validator@latest/validator.min.js',
|
|
89
|
+
'https://fakefilter.net/public/shared.js',
|
|
90
|
+
'https://fakefilter.net/public/tempmail.net.js'],
|
|
91
|
+
remind_every:36 // hours
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id:'onetempmail.com',
|
|
95
|
+
start_url:'https://onetempmail.com',
|
|
96
|
+
domains:['onetempmail.com','www.onetempmail.com'],
|
|
97
|
+
scripts:['https://code.jquery.com/jquery-3.6.0.min.js',
|
|
98
|
+
'https://unpkg.com/validator@latest/validator.min.js',
|
|
99
|
+
'https://fakefilter.net/public/shared.js',
|
|
100
|
+
'https://fakefilter.net/public/onetempmail.com.js'],
|
|
101
|
+
remind_every:36 // hours
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
id:'tempmail.com.tr',
|
|
105
|
+
start_url:'https://tempmail.com.tr',
|
|
106
|
+
domains:['tempmail.com.tr','www.tempmail.com.tr'],
|
|
107
|
+
scripts:['https://code.jquery.com/jquery-3.6.0.min.js',
|
|
108
|
+
'https://unpkg.com/validator@latest/validator.min.js',
|
|
109
|
+
'https://fakefilter.net/public/shared.js',
|
|
110
|
+
'https://fakefilter.net/public/tempmail.com.tr.js'
|
|
111
|
+
],
|
|
112
|
+
// 'https://fakefilter.net/public/thnen.com.js'],
|
|
113
|
+
remind_every:36 // hours
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
id:'tempmailo.org',
|
|
117
|
+
start_url:'https://tempmailo.org',
|
|
118
|
+
domains:['tempmailo.org'],
|
|
119
|
+
scripts:['https://code.jquery.com/jquery-3.6.0.min.js',
|
|
120
|
+
'https://unpkg.com/validator@latest/validator.min.js',
|
|
121
|
+
'https://fakefilter.net/public/shared.js',
|
|
122
|
+
'https://fakefilter.net/public/tempmailo.org.js'
|
|
123
|
+
],
|
|
124
|
+
// 'https://fakefilter.net/public/thnen.com.js'],
|
|
125
|
+
remind_every:36 // hours
|
|
126
|
+
},
|
|
127
|
+
|
|
128
|
+
// {
|
|
129
|
+
// id:'tempmailid.com',
|
|
130
|
+
// start_url:'https://tempmailid.com',
|
|
131
|
+
// click_to:'input#random[type="submit"]',
|
|
132
|
+
// preconditions:[
|
|
133
|
+
// 'div#email_id',
|
|
134
|
+
// ],
|
|
135
|
+
|
|
136
|
+
// send:'body',
|
|
137
|
+
// remind_every:18 // hours
|
|
138
|
+
// },
|
|
139
|
+
]
|
|
140
|
+
|
|
141
|
+
return reply(res, {
|
|
142
|
+
retcode: 200,
|
|
143
|
+
jobs,
|
|
144
|
+
config:{
|
|
145
|
+
fetch_config: 6 // fetch the config every 6 hours
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
})
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
module.exports = { api_ext_tasks }
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const punycode = require('punycode/')
|
|
2
|
+
const { reply } = require('../inc/shared')
|
|
3
|
+
const { validateParameters } = require('@7c/autovalidate')
|
|
4
|
+
const { validHostname } = require('mybase')
|
|
5
|
+
const vars = require('../../vars')
|
|
6
|
+
const { is_domain_banned } = require('../../shared')
|
|
7
|
+
|
|
8
|
+
// GET
|
|
9
|
+
function api_is_fakedomain(req, res, next) {
|
|
10
|
+
let response = validateParameters(req.params, [{ key: 'domain', type: ['string'], validator: (v) => v.search(/\./) > 0 }])
|
|
11
|
+
let { validated } = response
|
|
12
|
+
if (!validated) return reply(res, { retcode: -50 })
|
|
13
|
+
let { domain } = response.values
|
|
14
|
+
let original_domain = domain
|
|
15
|
+
|
|
16
|
+
// is it an idn domain (unicode formatted)
|
|
17
|
+
if (punycode.toASCII(domain)!==domain)
|
|
18
|
+
domain = punycode.toASCII(domain)
|
|
19
|
+
|
|
20
|
+
if (!validHostname(domain)) return reply(res, { retcode: -50 })
|
|
21
|
+
|
|
22
|
+
try {
|
|
23
|
+
let outcome = is_domain_banned(domain,vars.current_filter)
|
|
24
|
+
if (outcome!==null) { // null indicates problem with the domain
|
|
25
|
+
vars.coadmin_service_apiserver.report_every(1,'is_fakedomain')
|
|
26
|
+
return reply(res, {
|
|
27
|
+
retcode: 200,
|
|
28
|
+
isFakeDomain:typeof outcome==='object' ? original_domain : false,
|
|
29
|
+
details: typeof outcome==='object' ? outcome : null
|
|
30
|
+
})
|
|
31
|
+
}
|
|
32
|
+
} catch (err) {
|
|
33
|
+
console.log(err)
|
|
34
|
+
Sentry.captureException(err)
|
|
35
|
+
}
|
|
36
|
+
return reply(res, { retcode: -1 })
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
module.exports = { api_is_fakedomain }
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const { reply, hostnameFromEmailAddress } = require('../inc/shared')
|
|
2
|
+
const { validateParameters } = require('@7c/autovalidate')
|
|
3
|
+
const { validEmail } = require('mybase')
|
|
4
|
+
const vars = require('../../vars')
|
|
5
|
+
const { api_is_fakedomain } = require('./is_fakedomain')
|
|
6
|
+
|
|
7
|
+
// GET
|
|
8
|
+
function api_is_fakeemail(req, res, next) {
|
|
9
|
+
let response = validateParameters(req.params, [{ key: 'email', type: ['string'], validator: (v) => validEmail(v) }])
|
|
10
|
+
let { validated, values } = response
|
|
11
|
+
if (!validated) return reply(res, { retcode: -50 })
|
|
12
|
+
let { email } = response.values
|
|
13
|
+
req.params.domain = hostnameFromEmailAddress(email)
|
|
14
|
+
api_is_fakedomain(req,res,next)
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
module.exports = { api_is_fakeemail }
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Website
|
|
2
|
+
|
|
3
|
+
This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator.
|
|
4
|
+
|
|
5
|
+
### Installation
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
$ yarn
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
### Local Development
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
$ yarn start
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
|
|
18
|
+
|
|
19
|
+
### Build
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
$ yarn build
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
This command generates static content into the `build` directory and can be served using any static contents hosting service.
|
|
26
|
+
|
|
27
|
+
### Deployment
|
|
28
|
+
|
|
29
|
+
Using SSH:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
$ USE_SSH=true yarn deploy
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Not using SSH:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
$ GIT_USER=<Your GitHub username> yarn deploy
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
slug: first-blog-post
|
|
3
|
+
title: First Blog Post
|
|
4
|
+
authors:
|
|
5
|
+
name: Gao Wei
|
|
6
|
+
title: Docusaurus Core Team
|
|
7
|
+
url: https://github.com/wgao19
|
|
8
|
+
image_url: https://github.com/wgao19.png
|
|
9
|
+
tags: [hola, docusaurus]
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
slug: long-blog-post
|
|
3
|
+
title: Long Blog Post
|
|
4
|
+
authors: endi
|
|
5
|
+
tags: [hello, docusaurus]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
This is the summary of a very long blog post,
|
|
9
|
+
|
|
10
|
+
Use a `<!--` `truncate` `-->` comment to limit blog post size in the list view.
|
|
11
|
+
|
|
12
|
+
<!--truncate-->
|
|
13
|
+
|
|
14
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
|
15
|
+
|
|
16
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
|
17
|
+
|
|
18
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
|
19
|
+
|
|
20
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
|
21
|
+
|
|
22
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
|
23
|
+
|
|
24
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
|
25
|
+
|
|
26
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
|
27
|
+
|
|
28
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
|
29
|
+
|
|
30
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
|
31
|
+
|
|
32
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
|
33
|
+
|
|
34
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
|
35
|
+
|
|
36
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
|
37
|
+
|
|
38
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
|
39
|
+
|
|
40
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
|
41
|
+
|
|
42
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
|
43
|
+
|
|
44
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
slug: mdx-blog-post
|
|
3
|
+
title: MDX Blog Post
|
|
4
|
+
authors: [slorber]
|
|
5
|
+
tags: [docusaurus]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/).
|
|
9
|
+
|
|
10
|
+
:::tip
|
|
11
|
+
|
|
12
|
+
Use the power of React to create interactive blog posts.
|
|
13
|
+
|
|
14
|
+
```js
|
|
15
|
+
<button onClick={() => alert('button clicked!')}>Click me!</button>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
<button onClick={() => alert('button clicked!')}>Click me!</button>
|
|
19
|
+
|
|
20
|
+
:::
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
slug: welcome
|
|
3
|
+
title: Welcome
|
|
4
|
+
authors: [slorber, yangshun]
|
|
5
|
+
tags: [facebook, hello, docusaurus]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).
|
|
9
|
+
|
|
10
|
+
Simply add Markdown files (or folders) to the `blog` directory.
|
|
11
|
+
|
|
12
|
+
Regular blog authors can be added to `authors.yml`.
|
|
13
|
+
|
|
14
|
+
The blog post date can be extracted from filenames, such as:
|
|
15
|
+
|
|
16
|
+
- `2019-05-30-welcome.md`
|
|
17
|
+
- `2019-05-30-welcome/index.md`
|
|
18
|
+
|
|
19
|
+
A blog post folder can be convenient to co-locate blog post images:
|
|
20
|
+
|
|
21
|
+

|
|
22
|
+
|
|
23
|
+
The blog supports tags as well!
|
|
24
|
+
|
|
25
|
+
**And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
endi:
|
|
2
|
+
name: Endilie Yacop Sucipto
|
|
3
|
+
title: Maintainer of Docusaurus
|
|
4
|
+
url: https://github.com/endiliey
|
|
5
|
+
image_url: https://github.com/endiliey.png
|
|
6
|
+
|
|
7
|
+
yangshun:
|
|
8
|
+
name: Yangshun Tay
|
|
9
|
+
title: Front End Engineer @ Facebook
|
|
10
|
+
url: https://github.com/yangshun
|
|
11
|
+
image_url: https://github.com/yangshun.png
|
|
12
|
+
|
|
13
|
+
slorber:
|
|
14
|
+
name: Sébastien Lorber
|
|
15
|
+
title: Docusaurus maintainer
|
|
16
|
+
url: https://sebastienlorber.com
|
|
17
|
+
image_url: https://github.com/slorber.png
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 1
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# About FakeFilter
|
|
6
|
+
|
|
7
|
+
FakeFilter`s aim is to monitor Fake/Temp Email providers and offer site operators the chance to distinguish between fake- and real emails. Even though anonimity is a right of clients, site operators also do have rights to know about this. This way they can decide whether they want to accept registrations or not.
|
|
8
|
+
|
|
9
|
+
## Repo
|
|
10
|
+
|
|
11
|
+
Main repo can be found at [Github](https://github.com/7c/fakefilter/), this repo hosts different formats such as [JSON](https://github.com/7c/fakefilter/blob/main/json/data.json), [Markdown](https://github.com/7c/fakefilter/tree/main/markdown), [Txt](https://github.com/7c/fakefilter/blob/main/txt/data.txt). These formats are designed for you to implement FakeFilter into different backends.
|
|
12
|
+
|
|
13
|
+
## Offline databases
|
|
14
|
+
|
|
15
|
+
Offline Database is distributed through the repo, updated daily at 00:00 UTC time in different formats. You may `git pull` the repo right after 00:00 UTC to get latest formats. You may also `npm update` to get latest npm package if you are using NodeJS. We increase the package version daily.
|
|
16
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# NodeJS API
|
|
2
|
+
|
|
3
|
+
## Installation
|
|
4
|
+
`npm i --save fakefilter`
|
|
5
|
+
|
|
6
|
+
## Usage
|
|
7
|
+
We provide isFakeDomain and isFakeEmail functions to be implemented from NodeJS.Both return boolean `false` if there is no match, otherwise they will return the domain which has matched
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Basic Usage
|
|
11
|
+
See [index.js](https://github.com/7c/fakefilter/blob/82c5fe3851418813d605a678e48b34d84bad3fcc/index.js#L40) for tests and how to use it.
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
const { isFakeDomain, isFakeEmail } = require('fakefilter')
|
|
15
|
+
|
|
16
|
+
console.log(isFakeDomain('domain.com')) // will return false
|
|
17
|
+
console.log(isFakeEmail('user@domain.com')) // will return false
|
|
18
|
+
|
|
19
|
+
// domain lookup
|
|
20
|
+
console.log(isFakeDomain('afakedomain.com')) // will return 'afakedomain.com'
|
|
21
|
+
console.log(isFakeDomain('sub.afakedomain.com')) // will return 'afakedomain.com'
|
|
22
|
+
console.log(isFakeDomain('subafakedomain.com')) // will return false
|
|
23
|
+
|
|
24
|
+
// email lookup
|
|
25
|
+
console.log(isFakeEmail('user@afakedomain.com')) // will return 'afakedomain.com'
|
|
26
|
+
console.log(isFakeEmail('user@sub.afakedomain.com')) // will return 'afakedomain.com'
|
|
27
|
+
console.log(isFakeEmail('user@asubafakedomain.com')) // will return false
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# RESTFul API
|
|
2
|
+
|
|
3
|
+
fakefilter providers a RESTFul API for `isFakeDomain` and `isFakeEmail` functionalities. The queries are more recent than offline versions but we do not provide any reliability of our backend. You may want to try..catch and use offline versions in case our endpoint is down
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## API
|
|
7
|
+
|
|
8
|
+
### GET /api/ping
|
|
9
|
+
Use this endpoint to see if our backend is ready
|
|
10
|
+
```
|
|
11
|
+
curl https://fakefilter.net/api/ping
|
|
12
|
+
{
|
|
13
|
+
"retcode": 200,
|
|
14
|
+
"message": "pong"
|
|
15
|
+
}
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### GET /api/is/fakedomain/:domain
|
|
19
|
+
```
|
|
20
|
+
curl https://fakefilter.net/api/is/fakedomain/fakefilter.net
|
|
21
|
+
{
|
|
22
|
+
"retcode": 200,
|
|
23
|
+
"isFakeDomain": false,
|
|
24
|
+
"details": null
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
curl https://fakefilter.net/api/is/fakedomain/10minmail.de
|
|
28
|
+
{
|
|
29
|
+
"retcode": 200,
|
|
30
|
+
"isFakeDomain": "10minmail.de",
|
|
31
|
+
"details": {
|
|
32
|
+
"provider": "muellmail.com",
|
|
33
|
+
"firstseen": 1646140000,
|
|
34
|
+
"lastseen": 1646140000,
|
|
35
|
+
"randomSubdomain": false
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
### GET /api/is/fakeemail/:email
|
|
40
|
+
```
|
|
41
|
+
curl https://fakefilter.net/api/is/fakeemail/user@fakefilter.net
|
|
42
|
+
{
|
|
43
|
+
"retcode": 200,
|
|
44
|
+
"isFakeEmail": false,
|
|
45
|
+
"details": null
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
curl https://fakefilter.net/api/is/fakeemail/10minmail.de
|
|
49
|
+
{
|
|
50
|
+
"retcode": 200,
|
|
51
|
+
"isFakeEmail": "10minmail.de",
|
|
52
|
+
"details": {
|
|
53
|
+
"provider": "muellmail.com",
|
|
54
|
+
"firstseen": 1646140000,
|
|
55
|
+
"lastseen": 1646140000,
|
|
56
|
+
"randomSubdomain": false
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
```
|