init my glorious creating
This commit is contained in:
commit
6b16aac339
5 changed files with 85 additions and 0 deletions
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
node_modules/
|
||||
.pnpm-store
|
||||
.env
|
7
.prettierrc.json
Normal file
7
.prettierrc.json
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"tabWidth": 4,
|
||||
"useTabs": true,
|
||||
"singleQuote": false,
|
||||
"arrowParens": "avoid",
|
||||
"trailingComma": "none"
|
||||
}
|
41
index.mjs
Normal file
41
index.mjs
Normal file
|
@ -0,0 +1,41 @@
|
|||
// @ts-check
|
||||
|
||||
import { readFileSync, watch } from "fs";
|
||||
import { readFile } from "fs/promises";
|
||||
|
||||
let lastFlaggedLength = 0;
|
||||
|
||||
watch("/opt/endlessh/endlessh.INFO", async (eventType, filename) => {
|
||||
const fileContent = (await readFile("/opt/endlessh/endlessh.INFO", "utf8"))
|
||||
.split("\n")
|
||||
.filter(line => line.includes("ACCEPT"));
|
||||
if (lastFlaggedLength !== fileContent.length) {
|
||||
lastFlaggedLength = fileContent.length;
|
||||
const entry = fileContent[fileContent.length - 1];
|
||||
// @ts-ignore
|
||||
const ip = entry.match(/host=(\S+) /)[1];
|
||||
console.log(ip);
|
||||
const response = await (
|
||||
await fetch(`http://ip-api.com/json/${ip}`)
|
||||
).json();
|
||||
const t = Math.floor(Date.now() / 1000);
|
||||
const embed = {
|
||||
title: "New login",
|
||||
description: `> **Time:** <t:${t}:D> at <t:${t}:T> (<t:${t}:R>)\n> **IP:** \`${response.query}\``
|
||||
};
|
||||
if (response.status === "success") {
|
||||
embed.description += `\n**Country:** ${response.country}\n**Region:** ${response.regionName}\n**City:** ${response.city}\n**Provider:** ${response.as}`;
|
||||
}
|
||||
|
||||
// @ts-ignore
|
||||
fetch(process.env.WEBHOOK, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json"
|
||||
},
|
||||
body: JSON.stringify({
|
||||
embeds: [embed]
|
||||
})
|
||||
});
|
||||
}
|
||||
});
|
5
package.json
Normal file
5
package.json
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"@types/node": "^22.13.0"
|
||||
}
|
||||
}
|
29
pnpm-lock.yaml
generated
Normal file
29
pnpm-lock.yaml
generated
Normal file
|
@ -0,0 +1,29 @@
|
|||
lockfileVersion: '9.0'
|
||||
|
||||
settings:
|
||||
autoInstallPeers: true
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
importers:
|
||||
|
||||
.:
|
||||
dependencies:
|
||||
'@types/node':
|
||||
specifier: ^22.13.0
|
||||
version: 22.13.0
|
||||
|
||||
packages:
|
||||
|
||||
'@types/node@22.13.0':
|
||||
resolution: {integrity: sha512-ClIbNe36lawluuvq3+YYhnIN2CELi+6q8NpnM7PYp4hBn/TatfboPgVSm2rwKRfnV2M+Ty9GWDFI64KEe+kysA==}
|
||||
|
||||
undici-types@6.20.0:
|
||||
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
|
||||
|
||||
snapshots:
|
||||
|
||||
'@types/node@22.13.0':
|
||||
dependencies:
|
||||
undici-types: 6.20.0
|
||||
|
||||
undici-types@6.20.0: {}
|
Loading…
Add table
Reference in a new issue