summaryrefslogtreecommitdiff
path: root/includes/external/addressbook/email.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/external/addressbook/email.js')
-rw-r--r--includes/external/addressbook/email.js175
1 files changed, 0 insertions, 175 deletions
diff --git a/includes/external/addressbook/email.js b/includes/external/addressbook/email.js
deleted file mode 100644
index 81abec3..0000000
--- a/includes/external/addressbook/email.js
+++ /dev/null
@@ -1,175 +0,0 @@
-const axios = require('axios');
-const protonMail = "web-mail@5.0.20.3";
-const app = require('../../app.json');
-const net = require('net');
-
-function sleep(ms) {
- return new Promise((res) => {
- setTimeout(res, ms);
- });
-}
-
-function checkGmail(user, type) {
- return new Promise((res) => {
- const client = net.createConnection(25, "gmail-smtp-in.l.google.com");
- let current = 0;
-
- client.on('data', (data) => {
- let message = data.toString().trim();
-
- if (message.startsWith("220 ")) {
- client.write("helo equestria.dev\n");
- } else if (message.startsWith("250 ") && current === 0) {
- current++;
- client.write("mail from: <invalid@invalid.equestria.dev>\n");
- } else if (message.startsWith("250 ") && current === 1) {
- current++;
- client.write(`rcpt to: <${user}>\n`);
- } else if (message.startsWith("250 ") && current === 2) {
- client.write("quit\n");
- res("gmail");
- } else if (message.startsWith("550-") && current === 2) {
- client.write("quit\n");
- res(type);
- }
- });
-
- client.on('end', () => {
- res(type);
- });
- });
-}
-
-(async () => {
- let user = process.argv[2];
- let type = "generic";
-
- try {
- let data = (await axios.get(`https://mail.proton.me/api/core/v4/keys?Email=${encodeURIComponent(user)}`, {
- headers: {
- Cookie: app.proton.cookie,
- 'X-Pm-Appversion': protonMail,
- 'X-Pm-Uid': app.proton.id
- }
- })).data;
-
- if (data['RecipientType'] < 2) type = "proton";
- } catch (e) {}
-
- if (type === "generic") {
- try {
- type = await checkGmail(user, type);
- } catch (e) {}
- }
-
- if (type === "generic") {
- let domain = user.split("@")[1].trim();
-
- if (domain === "outlook.dk"
- || domain === "skype.dk"
- || domain === "live.dk"
- || domain === "hotmail.dk"
- || domain === "outlook.dk"
- || domain === "skype.se"
- || domain === "live.se"
- || domain === "hotmail.se"
- || domain === "outlook.se"
- || domain === "outlook.fr"
- || domain === "skype.fr"
- || domain === "live.fr"
- || domain === "hotmail.fr"
- || domain === "outlook.it"
- || domain === "skype.it"
- || domain === "live.it"
- || domain === "hotmail.it"
- || domain === "outlook.de"
- || domain === "skype.de"
- || domain === "live.de"
- || domain === "hotmail.de"
- || domain === "outlook.com.au"
- || domain === "hotmail.com"
- || domain === "hotmail.co.uk"
- || domain === "hotmail.eu"
- || domain === "hotmail.co"
- || domain === "hotmail.net"
- || domain === "hotmail.org"
- || domain === "live.com"
- || domain === "live.co.uk"
- || domain === "line.net"
- || domain === "line.co"
- || domain === "line.org"
- || domain === "line.eu"
- || domain === "skype.com"
- || domain === "skype.co.uk"
- || domain === "skype.net"
- || domain === "skype.co"
- || domain === "skype.org"
- || domain === "skype.eu"
- || domain === "outlook.com"
- || domain === "outlook.org"
- || domain === "outlook.co"
- || domain === "outlook.eu") {
- type = "outlook";
- }
- }
-
- if (type === "generic") {
- let domain = user.split("@")[1].trim();
-
- if (domain === "yahoo.com"
- || domain === "yahoo.fr"
- || domain === "yahoo.co.uk") {
- type = "yahoo";
- }
- }
-
- let parts = user.split("@").map(i => i.trim());
- let icon = "https://img.icons8.com/fluency-systems-regular/64/ffffff/email.png";
- let title = "Email";
-
- if (type === "gmail") {
- icon = "https://upload.wikimedia.org/wikipedia/commons/7/7e/Gmail_icon_%282020%29.svg";
- title = "Gmail";
- }
-
- if (type === "outlook") {
- icon = "https://upload.wikimedia.org/wikipedia/commons/d/df/Microsoft_Office_Outlook_%282018%E2%80%93present%29.svg";
- title = "Outlook";
- }
-
- if (type === "yahoo") {
- icon = "https://upload.wikimedia.org/wikipedia/commons/e/e0/Yahoo%21_Mail_icon_%282013-2019%29.png";
- title = "Yahoo";
- }
-
- if (type === "proton") {
- icon = "https://proton.me/static/fc5b1e8b92dd09734ca7c9d91e89db93/proton-mail-badge.svg";
- title = "Proton Mail";
- }
-
- console.log(JSON.stringify({
- error: null,
- avatar: icon,
- name: title,
- description: user,
- link: "mailto:" + user,
- copy: [
- {
- title: "Copy email address",
- text: user
- },
- {
- title: "Copy email domain",
- text: parts[1]
- },
- {
- title: "Copy email user name",
- text: parts[0]
- },
- {
- title: "Copy mailto: link",
- text: `mailto:${user}`
- }
- ]
- }, null, 2));
-})(); \ No newline at end of file