nolimit-x 1.0.31 → 1.0.33

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nolimit-x",
3
- "version": "1.0.31",
3
+ "version": "1.0.33",
4
4
  "description": "Advanced email sender ",
5
5
  "main": "src/cli.js",
6
6
  "bin": {
@@ -9,18 +9,24 @@
9
9
  "scripts": {
10
10
  "test": "echo \"Error: no test specified\" && exit 1"
11
11
  },
12
- "keywords": ["email", "sender", "red-team", "smtp"],
12
+ "keywords": [
13
+ "email",
14
+ "sender",
15
+ "red-team",
16
+ "smtp"
17
+ ],
13
18
  "author": "",
14
19
  "license": "ISC",
15
20
  "dependencies": {
16
21
  "commander": "^11.0.0",
22
+ "fs-extra": "^11.3.0",
17
23
  "natural": "^8.1.0",
24
+ "node-fetch": "^2.6.7",
18
25
  "nodemailer": "^7.0.4",
26
+ "ora": "^6.1.2",
27
+ "p-map": "^5.0.0",
19
28
  "puppeteer": "^23.0.0",
20
29
  "qrcode": "^1.5.3",
21
- "p-map": "^5.0.0",
22
- "ora": "^6.1.2",
23
- "node-fetch": "^2.6.7",
24
30
  "twilio": "^4.20.0"
25
31
  }
26
32
  }
package/src/cli.js CHANGED
@@ -8,6 +8,8 @@ const { spawn } = require('child_process');
8
8
  const ora = require("ora");
9
9
  const getOra = ora.default || ora;
10
10
  // const { send } = require("./sender"); // We'll use sendEmails for email mode
11
+ const phonebookTemplateDir = path.resolve(__dirname, '../../phonebook');
12
+ const fse = require('fs-extra');
11
13
 
12
14
  const program = new Command();
13
15
 
@@ -217,23 +219,8 @@ async function initSMSWorkspace(workspace) {
217
219
  process.exit(1);
218
220
  }
219
221
  try {
220
- fs.mkdirSync(dir, { recursive: true });
221
- fs.writeFileSync(path.join(dir, 'config.json'), JSON.stringify({
222
- mode: "smtp_sms",
223
- smtp_sms: true,
224
- api: false,
225
- system: { message_delay: 2, max_retries: 3 }
226
- }, null, 2));
227
- fs.writeFileSync(path.join(dir, 'numbers.txt'), "# List phone numbers here\n");
228
- fs.writeFileSync(path.join(dir, 'messages.txt'), "# List SMS messages here\n");
229
- fs.writeFileSync(path.join(dir, 'senders.txt'), "# List sender names or emails here\n");
230
- fs.mkdirSync(path.join(dir, 'smtp-gateways'), { recursive: true });
231
- fs.mkdirSync(path.join(dir, 'api'), { recursive: true });
232
- fs.writeFileSync(path.join(dir, 'api', 'twilio.json'), JSON.stringify({
233
- accountSid: "your_twilio_sid",
234
- authToken: "your_twilio_token",
235
- from: "+1234567890"
236
- }, null, 2));
222
+ // Copy all files and folders from phonebook/ to the new workspace
223
+ fse.copySync(phonebookTemplateDir, dir, { overwrite: false, errorOnExist: false });
237
224
  await new Promise(res => setTimeout(res, 2000));
238
225
  spinner.text = 'Workspace ready';
239
226
  await new Promise(res => setTimeout(res, 1000));
@@ -0,0 +1,31 @@
1
+ {
2
+ "mode": "smtp_sms",
3
+ "smtp_sms": true,
4
+ "api": false,
5
+ "smtp": [
6
+ {
7
+ "host": "smtp.example.com",
8
+ "port": 587,
9
+ "secure": false,
10
+ "user": "user@example.com",
11
+ "pass": "password"
12
+ }
13
+ ],
14
+ "system": {
15
+ "message_delay": 2,
16
+ "max_retries": 3,
17
+ "batch_size": 50,
18
+ "time_zone": "UTC",
19
+ "send_window": {
20
+ "start": "08:00",
21
+ "end": "20:00"
22
+ }
23
+ },
24
+ "placeholders": {
25
+ "unsubscribe": "Reply STOP to unsubscribe"
26
+ },
27
+ "logging": {
28
+ "log_to_file": true,
29
+ "log_file_path": "sms-log.txt"
30
+ }
31
+ }