mirror of
https://github.com/MaciejkaG/statki.git
synced 2024-11-30 07:52:55 +01:00
Compare commits
No commits in common. "99d26fffdcef8453ebb57905757438ffd3a409bb" and "f6f5af9758dc53d4b021d197eae928e12c5311c5" have entirely different histories.
99d26fffdc
...
f6f5af9758
5
index.js
5
index.js
@ -208,10 +208,7 @@ app.post('/api/login', (req, res) => {
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
auth.startVerification(req.body.email, getIP(req, req.get('User-Agent'))).then(async result => {
|
||||||
const locale = new Lang(req.acceptsLanguages());
|
|
||||||
|
|
||||||
auth.startVerification(req.body.email, getIP(req), req.get('user-agent'), locale.lang).then(async result => {
|
|
||||||
if (result.status === 1 || result.status === -1) {
|
if (result.status === 1 || result.status === -1) {
|
||||||
req.session.userId = result.uid;
|
req.session.userId = result.uid;
|
||||||
|
|
||||||
|
@ -102,7 +102,7 @@ export class MailAuth {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
startVerification(email, ip, agent, langId) {
|
startVerification(email, ip, agent) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const conn = mysql.createConnection(this.mysqlOptions);
|
const conn = mysql.createConnection(this.mysqlOptions);
|
||||||
conn.query(`SELECT user_id, nickname FROM accounts WHERE email = ${conn.escape(email)}`, async (error, response) => {
|
conn.query(`SELECT user_id, nickname FROM accounts WHERE email = ${conn.escape(email)}`, async (error, response) => {
|
||||||
@ -125,7 +125,7 @@ export class MailAuth {
|
|||||||
if (error) reject(error);
|
if (error) reject(error);
|
||||||
const row = response[0];
|
const row = response[0];
|
||||||
|
|
||||||
const html = fs.readFileSync(path.join(__dirname, `mail/auth-code-firsttime-${langId}.html`), 'utf8');
|
const html = fs.readFileSync(path.join(__dirname, 'mail/auth-code-firsttime.html'), 'utf8');
|
||||||
let authCode = genCode();
|
let authCode = genCode();
|
||||||
|
|
||||||
await this.redis.set(`codeAuth:${authCode}`, row.user_id);
|
await this.redis.set(`codeAuth:${authCode}`, row.user_id);
|
||||||
@ -160,7 +160,7 @@ export class MailAuth {
|
|||||||
|
|
||||||
const row = response[0];
|
const row = response[0];
|
||||||
|
|
||||||
const html = fs.readFileSync(path.join(__dirname, `mail/auth-code-${langId}.html`), 'utf8');
|
const html = fs.readFileSync(path.join(__dirname, 'mail/auth-code.html'), 'utf8');
|
||||||
let authCode = genCode();
|
let authCode = genCode();
|
||||||
|
|
||||||
await this.redis.set(`codeAuth:${authCode}`, row.user_id);
|
await this.redis.set(`codeAuth:${authCode}`, row.user_id);
|
||||||
@ -173,7 +173,7 @@ export class MailAuth {
|
|||||||
|
|
||||||
const lookup = geoip.lookup(ip);
|
const lookup = geoip.lookup(ip);
|
||||||
|
|
||||||
const lookupData = `User-Agent: ${agent}\nIP address: ${ip}\nCountry: ${lookup.country}\nRegion: ${lookup.region}\nCity: ${lookup.city}`;
|
const lookupData = `User-Agent: ${agent}\nAdres IP: ${ip}\nKraj: ${lookup.country}\nRegion: ${lookup.region}\nMiasto: ${lookup.city}`;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await this.mail.sendMail({
|
await this.mail.sendMail({
|
||||||
|
@ -45,5 +45,7 @@ export class Lang {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
||||||
<link
|
|
||||||
href="https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400;1,700&family=Poppins:ital,wght@0,600;1,600&family=Roboto+Mono:ital@0;1&display=swap"
|
|
||||||
rel="stylesheet">
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body style="background: rgb(0, 0, 0);color: white;;font-family: 'Lato', sans-serif;padding: 30px;">
|
|
||||||
<div style="margin:30px;text-align: center;font-size:1.3em;margin: auto;width: 35%;min-width:25em;padding:20px;">
|
|
||||||
<h2 style="font-family: 'Poppins', sans-serif;">Hey, {{ NICKNAME }}!</h2>
|
|
||||||
<p>Someone tried to log in to Statki using your account, if it wasn't you, ignore this
|
|
||||||
message.<br>The authorisation code is below, remember to not share it with anyone.</p>
|
|
||||||
<div
|
|
||||||
style="border: solid white 1px; border-radius: 15px;font-family: 'Roboto Mono', monospace;padding:15px;font-size: 1.5em;">
|
|
||||||
{{ CODE }}
|
|
||||||
</div>
|
|
||||||
<p>Following code expires after 10 minutes</p>
|
|
||||||
<p>Below is some information about a logging in device*</p>
|
|
||||||
<pre style="text-align: left;">{{ LOOKUP }}</pre>
|
|
||||||
<p style="font-size: 12px;">* Geolocation data may not be accurate.</p>
|
|
||||||
</div>
|
|
||||||
<p style="color:white;margin-bottom: 20px;margin-top: 20px;text-align: center;"><a href="https://maciejka.xyz/"
|
|
||||||
style="text-decoration: none;color:white;">Copyright © 2024 MCJK</a> | <a
|
|
||||||
href="https://statki.maciejka.xyz/"
|
|
||||||
style="text-decoration: none;color: rgb(85, 111, 255);">statki.maciejka.xyz</a><br>This message has been
|
|
||||||
sent automatically, do not reply to it.<br>For support, message <a
|
|
||||||
href="mailto:biz@maciejka.xyz">biz@maciejka.xyz</a></p>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
@ -1,34 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
||||||
<link
|
|
||||||
href="https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400;1,700&family=Poppins:ital,wght@0,600;1,600&family=Roboto+Mono:ital@0;1&display=swap"
|
|
||||||
rel="stylesheet">
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body style="background: rgb(0, 0, 0);color: white;;font-family: 'Lato', sans-serif;padding: 30px;">
|
|
||||||
<div style="margin:30px;text-align: center;font-size:1.3em;margin: auto;width: 35%;min-width:25em;padding:20px;">
|
|
||||||
<h2 style="font-family: 'Poppins', sans-serif;">Cześć!</h2>
|
|
||||||
<p>Someone tried to create a Statki (battleships) account with this e-mail. If it wasn't you, ignore this
|
|
||||||
message.<br>The authorisation code is below, remember to not share it with anyone.</p>
|
|
||||||
<div
|
|
||||||
style="border: solid white 1px; border-radius: 15px;font-family: 'Roboto Mono', monospace;padding:15px;font-size: 1.5em;">
|
|
||||||
{{ CODE }}
|
|
||||||
</div>
|
|
||||||
<p>Following code expires after 10 minutes</p>
|
|
||||||
<p>Below is some information about a logging in device*</p>
|
|
||||||
<pre style="text-align: left;">{{ LOOKUP }}</pre>
|
|
||||||
<p style="font-size: 12px;">* Geolocation data may not be accurate.</p>
|
|
||||||
</div>
|
|
||||||
<p style="color:white;margin-bottom: 20px;margin-top: 20px;text-align: center;"><a href="https://maciejka.xyz/"
|
|
||||||
style="text-decoration: none;color:white;">Copyright © 2024 MCJK</a> | <a
|
|
||||||
href="https://statki.maciejka.xyz/"
|
|
||||||
style="text-decoration: none;color: rgb(85, 111, 255);">statki.maciejka.xyz</a><br>This message has been
|
|
||||||
sent automatically, do not reply to it.<br>For support, message <a
|
|
||||||
href="mailto:biz@maciejka.xyz">biz@maciejka.xyz</a></p>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
@ -21,14 +21,13 @@
|
|||||||
<p>Powyższy kod wygasa po 10 minutach</p>
|
<p>Powyższy kod wygasa po 10 minutach</p>
|
||||||
<p>Poniżej znajdują się informacje o logującym się urządzeniu*</p>
|
<p>Poniżej znajdują się informacje o logującym się urządzeniu*</p>
|
||||||
<pre style="text-align: left;">{{ LOOKUP }}</pre>
|
<pre style="text-align: left;">{{ LOOKUP }}</pre>
|
||||||
<p style="font-size: 12px;">* Dane lokalizacyjne mogą nie być dokładne.</p>
|
<p style="font-size: 12px;">* Dane lokalizacyjne mogą mijać się z prawdą. Traktuj je z dystansem</p>
|
||||||
</div>
|
</div>
|
||||||
<p style="color:white;margin-bottom: 20px;margin-top: 20px;text-align: center;"><a href="https://maciejka.xyz/"
|
<p style="color:white;margin-bottom: 20px;margin-top: 20px;text-align: center;"><a href="https://maciejka.xyz/"
|
||||||
style="text-decoration: none;color:white;">Copyright © 2024 MCJK</a> | <a
|
style="text-decoration: none;color:white;">Copyright © 2024 MCJK</a> | <a
|
||||||
href="https://statki.maciejka.xyz/"
|
href="https://statki.maciejka.xyz/"
|
||||||
style="text-decoration: none;color: rgb(85, 111, 255);">statki.maciejka.xyz</a><br>Ta wiadomość została
|
style="text-decoration: none;color: rgb(85, 111, 255);">statki.maciejka.xyz</a><br>Ta wiadomość została
|
||||||
wysłana automatycznie, nie odpowiadaj na nią.<br>Jeżeli szukasz wsparcia, napisz na <a
|
wysłana automatycznie, nie odpowiadaj na nią.</p>
|
||||||
href="mailto:biz@maciejka.xyz">biz@maciejka.xyz</a></p>
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
@ -21,14 +21,13 @@
|
|||||||
<p>Powyższy kod wygasa po 10 minutach</p>
|
<p>Powyższy kod wygasa po 10 minutach</p>
|
||||||
<p>Poniżej znajdują się informacje o logującym się urządzeniu*</p>
|
<p>Poniżej znajdują się informacje o logującym się urządzeniu*</p>
|
||||||
<pre style="text-align: left;">{{ LOOKUP }}</pre>
|
<pre style="text-align: left;">{{ LOOKUP }}</pre>
|
||||||
<p style="font-size: 12px;">* Dane lokalizacyjne mogą nie być dokładne.</p>
|
<p style="font-size: 12px;">* Dane lokalizacyjne mogą mijać się z prawdą. Traktuj je z dystansem</p>
|
||||||
</div>
|
</div>
|
||||||
<p style="color:white;margin-bottom: 20px;margin-top: 20px;text-align: center;"><a href="https://maciejka.xyz/"
|
<p style="color:white;margin-bottom: 20px;margin-top: 20px;text-align: center;"><a href="https://maciejka.xyz/"
|
||||||
style="text-decoration: none;color:white;">Copyright © 2024 MCJK</a> | <a
|
style="text-decoration: none;color:white;">Copyright © 2024 MCJK</a> | <a
|
||||||
href="https://statki.maciejka.xyz/"
|
href="https://statki.maciejka.xyz/"
|
||||||
style="text-decoration: none;color: rgb(85, 111, 255);">statki.maciejka.xyz</a><br>Ta wiadomość została
|
style="text-decoration: none;color: rgb(85, 111, 255);">statki.maciejka.xyz</a><br>Ta wiadomość została
|
||||||
wysłana automatycznie, nie odpowiadaj na nią.<br>Jeżeli szukasz wsparcia, napisz na <a
|
wysłana automatycznie, nie odpowiadaj na nią.</p>
|
||||||
href="mailto:biz@maciejka.xyz">biz@maciejka.xyz</a></p>
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
Loading…
Reference in New Issue
Block a user