discos 1.1.1 → 1.1.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.
- package/dist/common.d.ts +1 -0
- package/dist/common.d.ts.map +1 -1
- package/dist/common.js +187 -218
- package/dist/common.js.map +1 -1
- package/dist/config.js +1 -4
- package/dist/config.js.map +1 -1
- package/dist/ext/langMap.js +1 -4
- package/dist/ext/langMap.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -20
- package/dist/index.js.map +1 -1
- package/dist/modules/admin.d.ts +1 -1
- package/dist/modules/admin.d.ts.map +1 -1
- package/dist/modules/admin.js +41 -81
- package/dist/modules/admin.js.map +1 -1
- package/dist/modules/clear.js +2 -38
- package/dist/modules/clear.js.map +1 -1
- package/dist/modules/command.d.ts +2 -2
- package/dist/modules/command.d.ts.map +1 -1
- package/dist/modules/command.js +7 -43
- package/dist/modules/command.js.map +1 -1
- package/dist/modules/debug.d.ts +1 -1
- package/dist/modules/debug.d.ts.map +1 -1
- package/dist/modules/debug.js +13 -19
- package/dist/modules/debug.js.map +1 -1
- package/dist/modules/file.d.ts +2 -2
- package/dist/modules/file.d.ts.map +1 -1
- package/dist/modules/file.js +36 -79
- package/dist/modules/file.js.map +1 -1
- package/dist/modules/watch.d.ts +1 -1
- package/dist/modules/watch.d.ts.map +1 -1
- package/dist/modules/watch.js +4 -40
- package/dist/modules/watch.js.map +1 -1
- package/dist/shared/consts.js +4 -7
- package/dist/shared/consts.js.map +1 -1
- package/dist/shared/index.d.ts +3 -3
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +3 -19
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/interfaces.js +1 -2
- package/dist/shared/types.js +1 -2
- package/dist/slash-commands.d.ts.map +1 -1
- package/dist/slash-commands.js +11 -46
- package/dist/slash-commands.js.map +1 -1
- package/dist/startup.d.ts.map +1 -1
- package/dist/startup.js +42 -77
- package/dist/startup.js.map +1 -1
- package/dist/tools/backend.d.ts +3 -3
- package/dist/tools/backend.d.ts.map +1 -1
- package/dist/tools/backend.js +45 -82
- package/dist/tools/backend.js.map +1 -1
- package/dist/tools/ipcServer.d.ts +1 -1
- package/dist/tools/ipcServer.d.ts.map +1 -1
- package/dist/tools/ipcServer.js +13 -52
- package/dist/tools/ipcServer.js.map +1 -1
- package/dist/tools/queue-utils.d.ts +2 -2
- package/dist/tools/queue-utils.d.ts.map +1 -1
- package/dist/tools/queue-utils.js +6 -46
- package/dist/tools/queue-utils.js.map +1 -1
- package/dist/tools/validateDb.d.ts +1 -1
- package/dist/tools/validateDb.d.ts.map +1 -1
- package/dist/tools/validateDb.js +14 -53
- package/dist/tools/validateDb.js.map +1 -1
- package/dist/tools/validateDotenv.js +12 -51
- package/dist/tools/validateDotenv.js.map +1 -1
- package/dist/types/queues.d.ts +1 -1
- package/dist/types/queues.d.ts.map +1 -1
- package/dist/types/queues.js +1 -2
- package/package.json +4 -2
package/dist/startup.js
CHANGED
|
@@ -1,85 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.startDiscOS = startDiscOS;
|
|
37
|
-
const discord_js_1 = require("discord.js");
|
|
38
|
-
const validateDotenv_1 = require("./tools/validateDotenv");
|
|
39
|
-
const validateDb_1 = require("./tools/validateDb");
|
|
40
|
-
const ipcServer_1 = require("./tools/ipcServer");
|
|
41
|
-
const queueUtils = __importStar(require("./tools/queue-utils"));
|
|
42
|
-
const backend_1 = require("./tools/backend");
|
|
43
|
-
const config_1 = require("./config");
|
|
44
|
-
const COMMON = __importStar(require("./common"));
|
|
45
|
-
const slash_commands_1 = require("./slash-commands");
|
|
46
|
-
const command_1 = require("./modules/command");
|
|
47
|
-
const clear_1 = require("./modules/clear");
|
|
48
|
-
const file_1 = require("./modules/file");
|
|
49
|
-
const watch_1 = require("./modules/watch");
|
|
50
|
-
const debug_1 = require("./modules/debug");
|
|
51
|
-
const admin_1 = require("./modules/admin");
|
|
52
|
-
function startDiscOS() {
|
|
1
|
+
import { Client, GatewayIntentBits, Events } from 'discord.js';
|
|
2
|
+
import { validateDotenv } from './tools/validateDotenv.js';
|
|
3
|
+
import { validateDb } from './tools/validateDb.js';
|
|
4
|
+
import { startIPCServer } from './tools/ipcServer.js';
|
|
5
|
+
import * as queueUtils from './tools/queue-utils.js';
|
|
6
|
+
import { ping } from './tools/backend.js';
|
|
7
|
+
import { Config } from './config.js';
|
|
8
|
+
import * as COMMON from './common.js';
|
|
9
|
+
import { registerSlashCommands } from './slash-commands.js';
|
|
10
|
+
import { execCommand } from './modules/command.js';
|
|
11
|
+
import { clearHistory } from './modules/clear.js';
|
|
12
|
+
import { read, write, absPath, pathAutocomplete } from './modules/file.js';
|
|
13
|
+
import { watch } from './modules/watch.js';
|
|
14
|
+
import { debug } from './modules/debug.js';
|
|
15
|
+
import { handleAdmin, localUserAutocomplete } from './modules/admin.js';
|
|
16
|
+
import { fileURLToPath } from 'url';
|
|
17
|
+
export function startDiscOS() {
|
|
53
18
|
if (process.platform !== 'linux') {
|
|
54
19
|
console.error(COMMON.PLATFORM_ERR);
|
|
55
20
|
process.exit(1);
|
|
56
21
|
}
|
|
57
|
-
if (!
|
|
22
|
+
if (!validateDotenv()) {
|
|
58
23
|
process.exit(1);
|
|
59
24
|
}
|
|
60
25
|
const queues = {
|
|
61
26
|
validationQueue: [],
|
|
62
27
|
duplicateQueue: [],
|
|
63
28
|
};
|
|
64
|
-
if (!
|
|
29
|
+
if (!validateDb(queues)) {
|
|
65
30
|
process.exit(1);
|
|
66
31
|
}
|
|
67
|
-
|
|
68
|
-
const client = new
|
|
69
|
-
intents: [
|
|
32
|
+
Config.ipcServer = Config.standalone ? null : startIPCServer(queues);
|
|
33
|
+
const client = new Client({
|
|
34
|
+
intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMembers, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent],
|
|
70
35
|
});
|
|
71
|
-
if (!
|
|
72
|
-
void
|
|
36
|
+
if (!Config.standalone) {
|
|
37
|
+
void ping();
|
|
73
38
|
}
|
|
74
|
-
client.on(
|
|
39
|
+
client.on(Events.InteractionCreate, async (interaction) => {
|
|
75
40
|
if (interaction.isAutocomplete()) {
|
|
76
41
|
const subcommand = interaction.options.getSubcommand();
|
|
77
42
|
if ((interaction.commandName === COMMON.DCOS || interaction.commandName === COMMON.ADMOS) &&
|
|
78
43
|
(subcommand === COMMON.READ || subcommand === COMMON.WRITE)) {
|
|
79
|
-
return
|
|
44
|
+
return pathAutocomplete(interaction, queues);
|
|
80
45
|
}
|
|
81
46
|
else if ((interaction.commandName === COMMON.DCOS || interaction.commandName === COMMON.ADMOS) && subcommand === COMMON.USER_MGMT) {
|
|
82
|
-
return
|
|
47
|
+
return localUserAutocomplete(interaction, queues);
|
|
83
48
|
}
|
|
84
49
|
}
|
|
85
50
|
if (!interaction.isChatInputCommand())
|
|
@@ -90,15 +55,15 @@ function startDiscOS() {
|
|
|
90
55
|
await interaction.reply({ content: COMMON.GUILD_ERR, flags: 64 });
|
|
91
56
|
return;
|
|
92
57
|
}
|
|
93
|
-
if (!
|
|
58
|
+
if (!Config.allowedChannels.includes(interaction.channelId)) {
|
|
94
59
|
await interaction.reply({ content: COMMON.CHANNEL_ERR, flags: 64 });
|
|
95
60
|
return;
|
|
96
61
|
}
|
|
97
|
-
if (!
|
|
62
|
+
if (!Config.allowedUsers.includes(interaction.user.id)) {
|
|
98
63
|
await interaction.reply({ content: COMMON.USER_ERR, flags: 64 });
|
|
99
64
|
return;
|
|
100
65
|
}
|
|
101
|
-
if (queues.duplicateQueue.length >= Number(
|
|
66
|
+
if (queues.duplicateQueue.length >= Number(Config.cmdQueueMaxSize)) {
|
|
102
67
|
await interaction.reply({ content: COMMON.DISCOS_OVERLOADED, flags: 64 });
|
|
103
68
|
return;
|
|
104
69
|
}
|
|
@@ -107,8 +72,8 @@ function startDiscOS() {
|
|
|
107
72
|
const username = interaction.member && 'nickname' in interaction.member
|
|
108
73
|
? (interaction.member.nickname ?? interaction.user.username)
|
|
109
74
|
: (interaction.user.displayName ?? interaction.user.username);
|
|
110
|
-
const isAdminUser =
|
|
111
|
-
if (
|
|
75
|
+
const isAdminUser = Config.adminUsers.includes(userId);
|
|
76
|
+
if (Config.lockdown && !isAdminUser) {
|
|
112
77
|
await interaction.reply({ content: COMMON.LOCKDOWN_ERR, flags: 64 });
|
|
113
78
|
return;
|
|
114
79
|
}
|
|
@@ -120,7 +85,7 @@ function startDiscOS() {
|
|
|
120
85
|
});
|
|
121
86
|
return;
|
|
122
87
|
}
|
|
123
|
-
await
|
|
88
|
+
await handleAdmin(interaction, subcommand, username, queues, client);
|
|
124
89
|
return;
|
|
125
90
|
}
|
|
126
91
|
let queuedCmd = '';
|
|
@@ -150,7 +115,7 @@ function startDiscOS() {
|
|
|
150
115
|
}
|
|
151
116
|
case COMMON.WRITE: {
|
|
152
117
|
file = interaction.options.getAttachment(COMMON.FILE, true);
|
|
153
|
-
path = await
|
|
118
|
+
path = await absPath(interaction.options.getString(COMMON.PATH, false) ?? file.name, userId, queues);
|
|
154
119
|
queuedCmd = `dcos write to ${path}`;
|
|
155
120
|
break;
|
|
156
121
|
}
|
|
@@ -179,27 +144,27 @@ function startDiscOS() {
|
|
|
179
144
|
try {
|
|
180
145
|
switch (subcommand) {
|
|
181
146
|
case COMMON.EXEC: {
|
|
182
|
-
await
|
|
147
|
+
await execCommand(payload, interaction, queuedCmd, username, 0, queues);
|
|
183
148
|
break;
|
|
184
149
|
}
|
|
185
150
|
case COMMON.CLEAR: {
|
|
186
|
-
await
|
|
151
|
+
await clearHistory(lookback, interaction, username, sendSuccessMsg);
|
|
187
152
|
break;
|
|
188
153
|
}
|
|
189
154
|
case COMMON.READ: {
|
|
190
|
-
await
|
|
155
|
+
await read(interaction, username, path, payload);
|
|
191
156
|
break;
|
|
192
157
|
}
|
|
193
158
|
case COMMON.WRITE: {
|
|
194
|
-
await
|
|
159
|
+
await write(interaction, username, file, path, payload, queues);
|
|
195
160
|
break;
|
|
196
161
|
}
|
|
197
162
|
case COMMON.WATCH: {
|
|
198
|
-
await
|
|
163
|
+
await watch(interaction, username, userId, path, interval, repeat, queues);
|
|
199
164
|
break;
|
|
200
165
|
}
|
|
201
166
|
case COMMON.DEBUG: {
|
|
202
|
-
await
|
|
167
|
+
await debug(interaction, username, userId, queues, client);
|
|
203
168
|
break;
|
|
204
169
|
}
|
|
205
170
|
case COMMON.HELP: {
|
|
@@ -220,8 +185,8 @@ function startDiscOS() {
|
|
|
220
185
|
process.exit(1);
|
|
221
186
|
});
|
|
222
187
|
}
|
|
223
|
-
if (
|
|
224
|
-
|
|
188
|
+
if (process.argv[1] === fileURLToPath(import.meta.url)) {
|
|
189
|
+
registerSlashCommands();
|
|
225
190
|
startDiscOS();
|
|
226
191
|
}
|
|
227
192
|
//# sourceMappingURL=startup.js.map
|
package/dist/startup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/backend.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AxiosResponse } from 'axios';
|
|
2
|
-
import type { ICommandQueueItem, IFileWritePayload } from '../shared/interfaces';
|
|
3
|
-
import type { DB } from '../shared/types';
|
|
4
|
-
import type { CommandQueues } from 'src/types/queues';
|
|
2
|
+
import type { ICommandQueueItem, IFileWritePayload } from '../shared/interfaces.js';
|
|
3
|
+
import type { DB } from '../shared/types.js';
|
|
4
|
+
import type { CommandQueues } from 'src/types/queues.js';
|
|
5
5
|
export declare function post(payload: ICommandQueueItem, b64decode: boolean): Promise<AxiosResponse<any, any>>;
|
|
6
6
|
export declare function put(req: IFileWritePayload): Promise<AxiosResponse<any, any>>;
|
|
7
7
|
export declare function ping(): Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/tools/backend.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/tools/backend.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGpF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAS7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAgHzD,wBAAsB,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAe3G;AAED,wBAAsB,GAAG,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAgBlF;AAGD,wBAAsB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CA4B5C;AAGD,wBAAsB,6BAA6B,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBtG"}
|
package/dist/tools/backend.js
CHANGED
|
@@ -1,65 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.post = post;
|
|
40
|
-
exports.put = put;
|
|
41
|
-
exports.ping = ping;
|
|
42
|
-
exports.updateExternalBackendDatabase = updateExternalBackendDatabase;
|
|
43
|
-
const axios_1 = __importDefault(require("axios"));
|
|
44
|
-
const config_1 = require("../config");
|
|
45
|
-
const consts_1 = require("../shared/consts");
|
|
46
|
-
const COMMON = __importStar(require("../common"));
|
|
47
|
-
const consts_2 = require("../shared/consts");
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import { Config } from '../config.js';
|
|
3
|
+
import { DB_UPDATE } from '../shared/consts.js';
|
|
4
|
+
import * as COMMON from '../common.js';
|
|
5
|
+
import { ROOT_UID, PING_RESPONSE } from '../shared/consts.js';
|
|
48
6
|
const WRITE_OP_SUCCESS = '';
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const execAsync =
|
|
7
|
+
import * as queueUtils from '../tools/queue-utils.js';
|
|
8
|
+
import shellEscape from 'shell-escape';
|
|
9
|
+
import { exec } from 'child_process';
|
|
10
|
+
import { promisify } from 'util';
|
|
11
|
+
import { readFile } from 'fs/promises';
|
|
12
|
+
const execAsync = promisify(exec);
|
|
55
13
|
async function localUser(user) {
|
|
56
|
-
if (user ===
|
|
14
|
+
if (user === ROOT_UID) {
|
|
57
15
|
return 'root';
|
|
58
16
|
}
|
|
59
|
-
const dbContent = await
|
|
17
|
+
const dbContent = await readFile(Config.databasePath, 'utf-8');
|
|
60
18
|
const dbParsed = JSON.parse(dbContent);
|
|
61
19
|
const serverUser = dbParsed.users[user];
|
|
62
|
-
return (
|
|
20
|
+
return shellEscape([serverUser]);
|
|
63
21
|
}
|
|
64
22
|
function internalAxiosResponse(data, status) {
|
|
65
23
|
return {
|
|
@@ -74,11 +32,11 @@ function internalAxiosResponse(data, status) {
|
|
|
74
32
|
}
|
|
75
33
|
async function spawnChild(user, command) {
|
|
76
34
|
try {
|
|
77
|
-
const cmd = (
|
|
35
|
+
const cmd = shellEscape([command]);
|
|
78
36
|
const serverUser = await localUser(user);
|
|
79
37
|
const { stdout } = await execAsync(`sudo /usr/local/bin/cmdex ${serverUser} ${cmd}`, {
|
|
80
38
|
encoding: 'buffer',
|
|
81
|
-
maxBuffer: 1000 * 1000 *
|
|
39
|
+
maxBuffer: 1000 * 1000 * Config.fileMaxSize * 1.34,
|
|
82
40
|
});
|
|
83
41
|
return stdout;
|
|
84
42
|
}
|
|
@@ -87,8 +45,8 @@ async function spawnChild(user, command) {
|
|
|
87
45
|
}
|
|
88
46
|
}
|
|
89
47
|
async function fileWrite(url, path, payload) {
|
|
90
|
-
const escapedPath = (
|
|
91
|
-
const safeUrl = (
|
|
48
|
+
const escapedPath = shellEscape([path]);
|
|
49
|
+
const safeUrl = shellEscape([url]);
|
|
92
50
|
try {
|
|
93
51
|
const { stdout } = await execAsync(`sudo /usr/local/bin/cmdex root whoami`);
|
|
94
52
|
if (stdout.trim() !== 'root') {
|
|
@@ -99,39 +57,39 @@ async function fileWrite(url, path, payload) {
|
|
|
99
57
|
return COMMON.SPAWN_ERR;
|
|
100
58
|
}
|
|
101
59
|
const serverUser = await localUser(payload.user);
|
|
102
|
-
const isDirCmd = (
|
|
60
|
+
const isDirCmd = shellEscape([`[ -d ${escapedPath} ] && echo 1 || echo 0`]);
|
|
103
61
|
let { stdout } = await execAsync(`sudo /usr/local/bin/cmdex ${serverUser} ${isDirCmd}`);
|
|
104
62
|
if (stdout.trim() === '1') {
|
|
105
63
|
return COMMON.DIR_ERR;
|
|
106
64
|
}
|
|
107
|
-
const testPermissionCmd = (
|
|
65
|
+
const testPermissionCmd = shellEscape([`mkdir -p "$(dirname ${escapedPath})" && echo > ${escapedPath} && rm -f ${escapedPath}`]);
|
|
108
66
|
({ stdout } = await execAsync(`sudo /usr/local/bin/cmdex ${serverUser} ${testPermissionCmd}`));
|
|
109
67
|
if (stdout.trim() !== '') {
|
|
110
68
|
return COMMON.PERM_ERR;
|
|
111
69
|
}
|
|
112
|
-
const curlCmd = (
|
|
70
|
+
const curlCmd = shellEscape([`curl -fsSL ${safeUrl} -o ${escapedPath}`]);
|
|
113
71
|
({ stdout } = await execAsync(`sudo /usr/local/bin/cmdex ${serverUser} ${curlCmd}`));
|
|
114
72
|
if (stdout.trim() !== '') {
|
|
115
73
|
return COMMON.DOWNLOAD_ERR;
|
|
116
74
|
}
|
|
117
|
-
const getHomeCmd = (
|
|
75
|
+
const getHomeCmd = shellEscape(['echo $HOME']);
|
|
118
76
|
({ stdout } = await execAsync(`sudo /usr/local/bin/cmdex ${serverUser} ${getHomeCmd}`));
|
|
119
77
|
const userHomeDir = stdout.trim();
|
|
120
|
-
const permCmd = (
|
|
78
|
+
const permCmd = shellEscape([`cd ${userHomeDir} && chown ${serverUser}:${serverUser} ${escapedPath} && chmod 644 ${escapedPath}`]);
|
|
121
79
|
({ stdout } = await execAsync(`sudo /usr/local/bin/cmdex root ${permCmd}`));
|
|
122
80
|
if (stdout.trim() !== '') {
|
|
123
81
|
return COMMON.SET_PERM_ERR;
|
|
124
82
|
}
|
|
125
83
|
return WRITE_OP_SUCCESS;
|
|
126
84
|
}
|
|
127
|
-
async function post(payload, b64decode) {
|
|
85
|
+
export async function post(payload, b64decode) {
|
|
128
86
|
let res;
|
|
129
|
-
if (
|
|
87
|
+
if (Config.standalone) {
|
|
130
88
|
const output = await spawnChild(payload.user, payload.cmd);
|
|
131
89
|
res = internalAxiosResponse(b64decode ? Buffer.from(output.toString(), 'base64') : output, 200);
|
|
132
90
|
}
|
|
133
91
|
else {
|
|
134
|
-
res = await
|
|
92
|
+
res = await axios.post(Config.backend, payload, {
|
|
135
93
|
responseType: 'text',
|
|
136
94
|
validateStatus: (status) => status <= 500,
|
|
137
95
|
});
|
|
@@ -140,14 +98,14 @@ async function post(payload, b64decode) {
|
|
|
140
98
|
}
|
|
141
99
|
return res;
|
|
142
100
|
}
|
|
143
|
-
async function put(req) {
|
|
101
|
+
export async function put(req) {
|
|
144
102
|
let res;
|
|
145
|
-
if (
|
|
103
|
+
if (Config.standalone) {
|
|
146
104
|
const internalResponse = await fileWrite(req.url, req.path, req.payload);
|
|
147
105
|
return internalAxiosResponse(internalResponse, internalResponse === WRITE_OP_SUCCESS ? 200 : 500);
|
|
148
106
|
}
|
|
149
107
|
else {
|
|
150
|
-
res = await
|
|
108
|
+
res = await axios.put(Config.backend, req, {
|
|
151
109
|
headers: {
|
|
152
110
|
'Content-Type': 'application/json',
|
|
153
111
|
},
|
|
@@ -156,16 +114,16 @@ async function put(req) {
|
|
|
156
114
|
}
|
|
157
115
|
return res;
|
|
158
116
|
}
|
|
159
|
-
async function ping() {
|
|
117
|
+
export async function ping() {
|
|
160
118
|
const controller = new AbortController();
|
|
161
119
|
const timeout = setTimeout(() => controller.abort(), 5000);
|
|
162
120
|
try {
|
|
163
|
-
const res = await
|
|
121
|
+
const res = await axios.get(Config.backend, {
|
|
164
122
|
responseType: 'text',
|
|
165
123
|
validateStatus: (status) => status >= 200 && status < 300,
|
|
166
124
|
signal: controller.signal,
|
|
167
125
|
});
|
|
168
|
-
if (res.data.trim() !==
|
|
126
|
+
if (res.data.trim() !== PING_RESPONSE) {
|
|
169
127
|
throw new Error(COMMON.EXTERNAL_NORESPONSE);
|
|
170
128
|
}
|
|
171
129
|
console.log(COMMON.EXTERNAL_OK);
|
|
@@ -184,15 +142,20 @@ async function ping() {
|
|
|
184
142
|
clearTimeout(timeout);
|
|
185
143
|
}
|
|
186
144
|
}
|
|
187
|
-
async function updateExternalBackendDatabase(database, queues) {
|
|
188
|
-
const validationPayload = { user:
|
|
145
|
+
export async function updateExternalBackendDatabase(database, queues) {
|
|
146
|
+
const validationPayload = { user: ROOT_UID, cmd: DB_UPDATE };
|
|
189
147
|
queueUtils.addToAll(queues, validationPayload);
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
148
|
+
try {
|
|
149
|
+
await axios.put(Config.backend + '/' + DB_UPDATE, database, {
|
|
150
|
+
headers: {
|
|
151
|
+
'Content-Type': 'application/json',
|
|
152
|
+
},
|
|
153
|
+
validateStatus: (status) => status <= 500,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
console.error(COMMON.NETWORK_ERR);
|
|
158
|
+
}
|
|
196
159
|
queueUtils.tryRemoveInQueue(queues.validationQueue, validationPayload);
|
|
197
160
|
}
|
|
198
161
|
//# sourceMappingURL=backend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/tools/backend.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/tools/backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipcServer.d.ts","sourceRoot":"","sources":["../../src/tools/ipcServer.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,KAAK,CAAC;AAMtB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ipcServer.d.ts","sourceRoot":"","sources":["../../src/tools/ipcServer.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,KAAK,CAAC;AAMtB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKxD,wBAAgB,cAAc,CAAC,SAAS,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CA+CnE"}
|
package/dist/tools/ipcServer.js
CHANGED
|
@@ -1,57 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.startIPCServer = startIPCServer;
|
|
40
|
-
const queueUtils = __importStar(require("../tools/queue-utils"));
|
|
41
|
-
const net_1 = __importDefault(require("net"));
|
|
42
|
-
const fs_1 = __importDefault(require("fs"));
|
|
43
|
-
const COMMON = __importStar(require("../common"));
|
|
44
|
-
const consts_1 = require("../shared/consts");
|
|
45
|
-
const config_1 = require("../config");
|
|
46
|
-
function startIPCServer(cmdQueues) {
|
|
1
|
+
import * as queueUtils from '../tools/queue-utils.js';
|
|
2
|
+
import net from 'net';
|
|
3
|
+
import fs from 'fs';
|
|
4
|
+
import * as COMMON from '../common.js';
|
|
5
|
+
import { SOCKET_PATH } from '../shared/consts.js';
|
|
6
|
+
import { Config } from '../config.js';
|
|
7
|
+
export function startIPCServer(cmdQueues) {
|
|
47
8
|
try {
|
|
48
|
-
|
|
9
|
+
fs.unlinkSync(SOCKET_PATH);
|
|
49
10
|
}
|
|
50
11
|
catch {
|
|
51
12
|
}
|
|
52
|
-
const server =
|
|
13
|
+
const server = net.createServer((socket) => {
|
|
53
14
|
socket.on('data', (data) => {
|
|
54
|
-
if (!
|
|
15
|
+
if (!Config.safemode) {
|
|
55
16
|
socket.write(JSON.stringify({ valid: true }));
|
|
56
17
|
socket.end();
|
|
57
18
|
}
|
|
@@ -74,9 +35,9 @@ function startIPCServer(cmdQueues) {
|
|
|
74
35
|
socket.end();
|
|
75
36
|
});
|
|
76
37
|
});
|
|
77
|
-
server.listen(
|
|
78
|
-
|
|
79
|
-
console.log(COMMON.LISTENING +
|
|
38
|
+
server.listen(SOCKET_PATH, () => {
|
|
39
|
+
fs.chmodSync(SOCKET_PATH, 0o600);
|
|
40
|
+
console.log(COMMON.LISTENING + SOCKET_PATH);
|
|
80
41
|
});
|
|
81
42
|
return server;
|
|
82
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipcServer.js","sourceRoot":"","sources":["../../src/tools/ipcServer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ipcServer.js","sourceRoot":"","sources":["../../src/tools/ipcServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAC;AAEtD,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKlD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,UAAU,cAAc,CAAC,SAAwB;IAErD,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE;QACzC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAEzB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC9C,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,CAAC;YAGD,IAAI,GAAsB,CAAC;YAC3B,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAsB,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC/C,MAAM,CAAC,GAAG,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YAGD,IAAI,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC;gBACzD,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;gBAE5D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE;QAI9B,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ChatInputCommandInteraction, CacheType } from 'discord.js';
|
|
2
|
-
import type { ICommandQueueItem } from '../shared/interfaces';
|
|
3
|
-
import type { CommandQueues } from '../types/queues';
|
|
2
|
+
import type { ICommandQueueItem } from '../shared/interfaces.js';
|
|
3
|
+
import type { CommandQueues } from '../types/queues.js';
|
|
4
4
|
export declare function addToAll(queues: CommandQueues, req: ICommandQueueItem): void;
|
|
5
5
|
export declare function removeFromAll(queues: CommandQueues, req: ICommandQueueItem): void;
|
|
6
6
|
export declare function tryRemoveInQueue(queue: ICommandQueueItem[], req: ICommandQueueItem): void;
|