mxroute-cli 0.1.2 → 0.2.0

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.
Files changed (105) hide show
  1. package/README.md +524 -241
  2. package/dist/commands/accounts.js +19 -59
  3. package/dist/commands/accounts.js.map +1 -1
  4. package/dist/commands/aliases.js +8 -57
  5. package/dist/commands/aliases.js.map +1 -1
  6. package/dist/commands/audit.d.ts +1 -0
  7. package/dist/commands/audit.js +278 -0
  8. package/dist/commands/audit.js.map +1 -0
  9. package/dist/commands/auth.d.ts +0 -1
  10. package/dist/commands/auth.js +0 -69
  11. package/dist/commands/auth.js.map +1 -1
  12. package/dist/commands/autoresponder.js +10 -59
  13. package/dist/commands/autoresponder.js.map +1 -1
  14. package/dist/commands/benchmark.d.ts +1 -0
  15. package/dist/commands/benchmark.js +134 -0
  16. package/dist/commands/benchmark.js.map +1 -0
  17. package/dist/commands/bulk.d.ts +2 -0
  18. package/dist/commands/bulk.js +201 -0
  19. package/dist/commands/bulk.js.map +1 -0
  20. package/dist/commands/catchall.js +5 -38
  21. package/dist/commands/catchall.js.map +1 -1
  22. package/dist/commands/completions.d.ts +1 -0
  23. package/dist/commands/completions.js +138 -0
  24. package/dist/commands/completions.js.map +1 -0
  25. package/dist/commands/config.d.ts +1 -0
  26. package/dist/commands/config.js +42 -0
  27. package/dist/commands/config.js.map +1 -1
  28. package/dist/commands/cron.d.ts +2 -0
  29. package/dist/commands/cron.js +114 -0
  30. package/dist/commands/cron.js.map +1 -0
  31. package/dist/commands/diff.d.ts +1 -0
  32. package/dist/commands/diff.js +125 -0
  33. package/dist/commands/diff.js.map +1 -0
  34. package/dist/commands/dns-setup.d.ts +1 -0
  35. package/dist/commands/dns-setup.js +256 -0
  36. package/dist/commands/dns-setup.js.map +1 -0
  37. package/dist/commands/dns-watch.d.ts +1 -0
  38. package/dist/commands/dns-watch.js +67 -0
  39. package/dist/commands/dns-watch.js.map +1 -0
  40. package/dist/commands/dns.js +28 -6
  41. package/dist/commands/dns.js.map +1 -1
  42. package/dist/commands/dnsapi.js +10 -59
  43. package/dist/commands/dnsapi.js.map +1 -1
  44. package/dist/commands/doctor.d.ts +1 -0
  45. package/dist/commands/doctor.js +143 -0
  46. package/dist/commands/doctor.js.map +1 -0
  47. package/dist/commands/domains.js +4 -27
  48. package/dist/commands/domains.js.map +1 -1
  49. package/dist/commands/export-import.d.ts +2 -0
  50. package/dist/commands/export-import.js +189 -0
  51. package/dist/commands/export-import.js.map +1 -0
  52. package/dist/commands/filters.js +8 -57
  53. package/dist/commands/filters.js.map +1 -1
  54. package/dist/commands/forwarders.js +8 -57
  55. package/dist/commands/forwarders.js.map +1 -1
  56. package/dist/commands/ip.d.ts +1 -0
  57. package/dist/commands/ip.js +70 -0
  58. package/dist/commands/ip.js.map +1 -0
  59. package/dist/commands/lists.js +15 -80
  60. package/dist/commands/lists.js.map +1 -1
  61. package/dist/commands/monitor.d.ts +4 -0
  62. package/dist/commands/monitor.js +189 -0
  63. package/dist/commands/monitor.js.map +1 -0
  64. package/dist/commands/open.d.ts +1 -0
  65. package/dist/commands/open.js +53 -0
  66. package/dist/commands/open.js.map +1 -0
  67. package/dist/commands/quota.js +11 -48
  68. package/dist/commands/quota.js.map +1 -1
  69. package/dist/commands/send.d.ts +1 -0
  70. package/dist/commands/send.js +43 -1
  71. package/dist/commands/send.js.map +1 -1
  72. package/dist/commands/share.d.ts +1 -0
  73. package/dist/commands/share.js +217 -0
  74. package/dist/commands/share.js.map +1 -0
  75. package/dist/commands/spam.js +9 -42
  76. package/dist/commands/spam.js.map +1 -1
  77. package/dist/commands/status.js +62 -30
  78. package/dist/commands/status.js.map +1 -1
  79. package/dist/commands/troubleshoot.js.map +1 -1
  80. package/dist/commands/webhook.d.ts +3 -0
  81. package/dist/commands/webhook.js +124 -0
  82. package/dist/commands/webhook.js.map +1 -0
  83. package/dist/commands/whoami.d.ts +1 -0
  84. package/dist/commands/whoami.js +40 -0
  85. package/dist/commands/whoami.js.map +1 -0
  86. package/dist/index.js +171 -6
  87. package/dist/index.js.map +1 -1
  88. package/dist/mcp.js.map +1 -1
  89. package/dist/utils/blacklist.d.ts +17 -0
  90. package/dist/utils/blacklist.js +65 -0
  91. package/dist/utils/blacklist.js.map +1 -0
  92. package/dist/utils/directadmin.js +1 -1
  93. package/dist/utils/directadmin.js.map +1 -1
  94. package/dist/utils/dns.d.ts +1 -1
  95. package/dist/utils/dns.js +3 -3
  96. package/dist/utils/dns.js.map +1 -1
  97. package/dist/utils/registrars.d.ts +35 -0
  98. package/dist/utils/registrars.js +324 -0
  99. package/dist/utils/registrars.js.map +1 -0
  100. package/dist/utils/shared.d.ts +20 -0
  101. package/dist/utils/shared.js +64 -0
  102. package/dist/utils/shared.js.map +1 -0
  103. package/dist/utils/theme.js +0 -1
  104. package/dist/utils/theme.js.map +1 -1
  105. package/package.json +1 -1
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.authLogin = authLogin;
7
6
  exports.authStatus = authStatus;
8
7
  exports.authLogout = authLogout;
9
8
  const chalk_1 = __importDefault(require("chalk"));
@@ -12,74 +11,6 @@ const inquirer_1 = __importDefault(require("inquirer"));
12
11
  const theme_1 = require("../utils/theme");
13
12
  const config_1 = require("../utils/config");
14
13
  const directadmin_1 = require("../utils/directadmin");
15
- async function authLogin() {
16
- console.log(theme_1.theme.heading('Authenticate with MXroute'));
17
- const config = (0, config_1.getConfig)();
18
- console.log(theme_1.theme.muted(' To create a Login Key:'));
19
- console.log(theme_1.theme.muted(' 1. Log into your MXroute Control Panel (panel.mxroute.com)'));
20
- console.log(theme_1.theme.muted(' 2. Go to Login Keys (or API Keys)'));
21
- console.log(theme_1.theme.muted(' 3. Create a new key with the permissions you need'));
22
- console.log(theme_1.theme.muted(' 4. Copy the generated key'));
23
- console.log('');
24
- const answers = await inquirer_1.default.prompt([
25
- {
26
- type: 'input',
27
- name: 'server',
28
- message: theme_1.theme.secondary('Server hostname:'),
29
- default: config.server || '',
30
- validate: (input) => (input.trim() ? true : 'Server is required (e.g., tuesday)'),
31
- filter: (input) => input.replace('.mxrouting.net', '').replace(':2222', '').trim(),
32
- },
33
- {
34
- type: 'input',
35
- name: 'username',
36
- message: theme_1.theme.secondary('DirectAdmin username:'),
37
- default: config.daUsername || '',
38
- validate: (input) => (input.trim() ? true : 'Username is required'),
39
- },
40
- {
41
- type: 'password',
42
- name: 'loginKey',
43
- message: theme_1.theme.secondary('Login Key:'),
44
- mask: '•',
45
- validate: (input) => (input.trim() ? true : 'Login key is required'),
46
- },
47
- ]);
48
- const spinner = (0, ora_1.default)({
49
- text: 'Testing authentication...',
50
- spinner: 'dots12',
51
- color: 'cyan',
52
- }).start();
53
- try {
54
- const result = await (0, directadmin_1.testAuth)({
55
- server: answers.server,
56
- username: answers.username,
57
- loginKey: answers.loginKey,
58
- });
59
- if (result.success) {
60
- spinner.succeed(chalk_1.default.green('Authentication successful!'));
61
- (0, config_1.setConfig)('server', answers.server);
62
- (0, config_1.setConfig)('daUsername', answers.username);
63
- (0, config_1.setConfig)('daLoginKey', answers.loginKey);
64
- console.log('');
65
- console.log(theme_1.theme.box([
66
- theme_1.theme.keyValue('Server', `${answers.server}.mxrouting.net:2222`, 0),
67
- theme_1.theme.keyValue('Username', answers.username, 0),
68
- theme_1.theme.keyValue('Login Key', '••••••••', 0),
69
- ].join('\n'), 'Credentials Saved'));
70
- console.log('');
71
- console.log(theme_1.theme.muted(` You can now use: mxroute domains, mxroute accounts, mxroute forwarders\n`));
72
- }
73
- else {
74
- spinner.fail(chalk_1.default.red('Authentication failed'));
75
- console.log(theme_1.theme.error(`\n ${result.message}\n`));
76
- }
77
- }
78
- catch (err) {
79
- spinner.fail(chalk_1.default.red('Authentication failed'));
80
- console.log(theme_1.theme.error(`\n ${err.message}\n`));
81
- }
82
- }
83
14
  async function authStatus() {
84
15
  const config = (0, config_1.getConfig)();
85
16
  console.log(theme_1.theme.heading('Authentication Status'));
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -12,44 +12,11 @@ const ora_1 = __importDefault(require("ora"));
12
12
  const inquirer_1 = __importDefault(require("inquirer"));
13
13
  const cli_table3_1 = __importDefault(require("cli-table3"));
14
14
  const theme_1 = require("../utils/theme");
15
- const config_1 = require("../utils/config");
16
15
  const directadmin_1 = require("../utils/directadmin");
17
- function getCreds() {
18
- const config = (0, config_1.getConfig)();
19
- if (!config.daUsername || !config.daLoginKey) {
20
- console.log(theme_1.theme.error(`\n ${theme_1.theme.statusIcon('fail')} Not authenticated. Run ${theme_1.theme.bold('mxroute auth login')} first.\n`));
21
- process.exit(1);
22
- }
23
- return { server: config.server, username: config.daUsername, loginKey: config.daLoginKey };
24
- }
25
- async function pickDomain(creds, domain) {
26
- if (domain)
27
- return domain;
28
- const config = (0, config_1.getConfig)();
29
- if (config.domain)
30
- return config.domain;
31
- const spinner = (0, ora_1.default)({ text: 'Fetching domains...', spinner: 'dots12', color: 'cyan' }).start();
32
- const domains = await (0, directadmin_1.listDomains)(creds);
33
- spinner.stop();
34
- if (domains.length === 0) {
35
- console.log(theme_1.theme.error(`\n ${theme_1.theme.statusIcon('fail')} No domains found.\n`));
36
- process.exit(1);
37
- }
38
- if (domains.length === 1)
39
- return domains[0];
40
- const { selected } = await inquirer_1.default.prompt([
41
- {
42
- type: 'list',
43
- name: 'selected',
44
- message: 'Select domain:',
45
- choices: domains,
46
- },
47
- ]);
48
- return selected;
49
- }
16
+ const shared_1 = require("../utils/shared");
50
17
  async function autoresponderList(domain) {
51
- const creds = getCreds();
52
- const targetDomain = await pickDomain(creds, domain);
18
+ const creds = (0, shared_1.getCreds)();
19
+ const targetDomain = await (0, shared_1.pickDomain)(creds, domain);
53
20
  console.log(theme_1.theme.heading(`Autoresponders: ${targetDomain}`));
54
21
  const spinner = (0, ora_1.default)({ text: 'Fetching autoresponders...', spinner: 'dots12', color: 'cyan' }).start();
55
22
  try {
@@ -62,23 +29,7 @@ async function autoresponderList(domain) {
62
29
  const table = new cli_table3_1.default({
63
30
  head: [chalk_1.default.hex('#6C63FF')('#'), chalk_1.default.hex('#6C63FF')('Account'), chalk_1.default.hex('#6C63FF')('CC')],
64
31
  style: { head: [], border: ['gray'] },
65
- chars: {
66
- top: '─',
67
- 'top-mid': '┬',
68
- 'top-left': ' ┌',
69
- 'top-right': '┐',
70
- bottom: '─',
71
- 'bottom-mid': '┴',
72
- 'bottom-left': ' └',
73
- 'bottom-right': '┘',
74
- left: ' │',
75
- 'left-mid': ' ├',
76
- mid: '─',
77
- 'mid-mid': '┼',
78
- right: '│',
79
- 'right-mid': '┤',
80
- middle: '│',
81
- },
32
+ chars: shared_1.tableChars,
82
33
  });
83
34
  for (let i = 0; i < autoresponders.length; i++) {
84
35
  const user = autoresponders[i];
@@ -105,8 +56,8 @@ async function autoresponderList(domain) {
105
56
  }
106
57
  }
107
58
  async function autoresponderCreate(domain) {
108
- const creds = getCreds();
109
- const targetDomain = await pickDomain(creds, domain);
59
+ const creds = (0, shared_1.getCreds)();
60
+ const targetDomain = await (0, shared_1.pickDomain)(creds, domain);
110
61
  console.log(theme_1.theme.heading(`Create Autoresponder on ${targetDomain}`));
111
62
  const acctSpinner = (0, ora_1.default)({ text: 'Fetching email accounts...', spinner: 'dots12', color: 'cyan' }).start();
112
63
  try {
@@ -171,8 +122,8 @@ async function autoresponderCreate(domain) {
171
122
  }
172
123
  }
173
124
  async function autoresponderEdit(domain) {
174
- const creds = getCreds();
175
- const targetDomain = await pickDomain(creds, domain);
125
+ const creds = (0, shared_1.getCreds)();
126
+ const targetDomain = await (0, shared_1.pickDomain)(creds, domain);
176
127
  console.log(theme_1.theme.heading(`Edit Autoresponder on ${targetDomain}`));
177
128
  const spinner = (0, ora_1.default)({ text: 'Fetching autoresponders...', spinner: 'dots12', color: 'cyan' }).start();
178
129
  try {
@@ -230,8 +181,8 @@ async function autoresponderEdit(domain) {
230
181
  }
231
182
  }
232
183
  async function autoresponderDelete(domain) {
233
- const creds = getCreds();
234
- const targetDomain = await pickDomain(creds, domain);
184
+ const creds = (0, shared_1.getCreds)();
185
+ const targetDomain = await (0, shared_1.pickDomain)(creds, domain);
235
186
  console.log(theme_1.theme.heading(`Delete Autoresponder on ${targetDomain}`));
236
187
  const spinner = (0, ora_1.default)({ text: 'Fetching autoresponders...', spinner: 'dots12', color: 'cyan' }).start();
237
188
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"autoresponder.js","sourceRoot":"","sources":["../../src/commands/autoresponder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autoresponder.js","sourceRoot":"","sources":["../../src/commands/autoresponder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function benchmarkCommand(): Promise<void>;
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
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.benchmarkCommand = benchmarkCommand;
40
+ const net = __importStar(require("net"));
41
+ const ora_1 = __importDefault(require("ora"));
42
+ const theme_1 = require("../utils/theme");
43
+ const config_1 = require("../utils/config");
44
+ async function benchPort(host, port, service, timeout = 10000) {
45
+ const startConnect = Date.now();
46
+ return new Promise((resolve) => {
47
+ const socket = new net.Socket();
48
+ socket.setTimeout(timeout);
49
+ let banner = '';
50
+ let connectTime = 0;
51
+ socket.on('connect', () => {
52
+ connectTime = Date.now() - startConnect;
53
+ });
54
+ socket.on('data', (data) => {
55
+ banner = data.toString().trim().substring(0, 80);
56
+ const bannerTime = Date.now() - startConnect;
57
+ socket.destroy();
58
+ resolve({ service, port, connected: true, connectTime, bannerTime, banner });
59
+ });
60
+ socket.on('timeout', () => {
61
+ socket.destroy();
62
+ resolve({ service, port, connected: false, connectTime: timeout, bannerTime: timeout, banner: '' });
63
+ });
64
+ socket.on('error', () => {
65
+ socket.destroy();
66
+ resolve({ service, port, connected: false, connectTime: Date.now() - startConnect, bannerTime: 0, banner: '' });
67
+ });
68
+ socket.connect(port, host);
69
+ });
70
+ }
71
+ async function benchmarkCommand() {
72
+ const config = (0, config_1.getConfig)();
73
+ const server = config.server;
74
+ if (!server) {
75
+ console.log(theme_1.theme.error(`\n ${theme_1.theme.statusIcon('fail')} Not configured. Run ${theme_1.theme.bold('mxroute config setup')}\n`));
76
+ return;
77
+ }
78
+ const hostname = `${server}.mxrouting.net`;
79
+ console.log(theme_1.theme.heading(`Benchmark: ${hostname}`));
80
+ console.log(theme_1.theme.muted(' Testing connection speed to your MXroute server...\n'));
81
+ const ports = [
82
+ { port: 993, service: 'IMAP SSL' },
83
+ { port: 465, service: 'SMTP SSL' },
84
+ { port: 587, service: 'SMTP STARTTLS' },
85
+ { port: 143, service: 'IMAP STARTTLS' },
86
+ { port: 110, service: 'POP3 STARTTLS' },
87
+ { port: 995, service: 'POP3 SSL' },
88
+ ];
89
+ const results = [];
90
+ for (const { port, service } of ports) {
91
+ const spinner = (0, ora_1.default)({ text: `Testing ${service} (${port})...`, spinner: 'dots12', color: 'cyan' }).start();
92
+ const result = await benchPort(hostname, port, service);
93
+ results.push(result);
94
+ if (result.connected) {
95
+ spinner.succeed(`${theme_1.theme.bold(service.padEnd(16))} ` +
96
+ `connect: ${colorLatency(result.connectTime)} ` +
97
+ `banner: ${colorLatency(result.bannerTime)}`);
98
+ }
99
+ else {
100
+ spinner.fail(`${theme_1.theme.bold(service.padEnd(16))} unreachable`);
101
+ }
102
+ }
103
+ // Summary
104
+ const connected = results.filter((r) => r.connected);
105
+ if (connected.length > 0) {
106
+ const avgConnect = Math.round(connected.reduce((s, r) => s + r.connectTime, 0) / connected.length);
107
+ const avgBanner = Math.round(connected.reduce((s, r) => s + r.bannerTime, 0) / connected.length);
108
+ console.log('');
109
+ console.log(theme_1.theme.separator());
110
+ console.log('');
111
+ console.log(theme_1.theme.keyValue('Avg Connect', `${avgConnect}ms`));
112
+ console.log(theme_1.theme.keyValue('Avg Response', `${avgBanner}ms`));
113
+ console.log(theme_1.theme.keyValue('Services Up', `${connected.length}/${results.length}`));
114
+ let rating = 'Excellent';
115
+ if (avgBanner > 500)
116
+ rating = 'Slow';
117
+ else if (avgBanner > 200)
118
+ rating = 'Fair';
119
+ else if (avgBanner > 100)
120
+ rating = 'Good';
121
+ console.log(theme_1.theme.keyValue('Rating', rating));
122
+ console.log('');
123
+ }
124
+ }
125
+ function colorLatency(ms) {
126
+ const chalk = require('chalk');
127
+ const text = `${ms}ms`;
128
+ if (ms < 100)
129
+ return chalk.hex('#00E676')(text);
130
+ if (ms < 300)
131
+ return chalk.hex('#FFD600')(text);
132
+ return chalk.hex('#FF5252')(text);
133
+ }
134
+ //# sourceMappingURL=benchmark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/commands/benchmark.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA,4CAgEC;AAhHD,yCAA2B;AAC3B,8CAAsB;AACtB,0CAAuC;AACvC,4CAA4C;AAW5C,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,IAAY,EAAE,OAAe,EAAE,OAAO,GAAG,KAAK;IACnF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEhC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACxB,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;YAC7C,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACxB,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACtG,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAClH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAE7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CACT,aAAK,CAAC,KAAK,CAAC,OAAO,aAAK,CAAC,UAAU,CAAC,MAAM,CAAC,wBAAwB,aAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAC3G,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,MAAM,gBAAgB,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,aAAK,CAAC,OAAO,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,aAAK,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC,CAAC;IAEnF,MAAM,KAAK,GAAG;QACZ,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE;QAClC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE;QAClC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE;QACvC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE;QACvC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE;QACvC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE;KACnC,CAAC;IAEF,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,KAAK,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,EAAE,IAAI,EAAE,WAAW,OAAO,KAAK,IAAI,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3G,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,CAAC,OAAO,CACb,GAAG,aAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG;gBAClC,YAAY,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI;gBAChD,WAAW,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAC/C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,aAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,UAAU;IACV,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACnG,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAEjG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,aAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,aAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,aAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,aAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEpF,IAAI,MAAM,GAAG,WAAW,CAAC;QACzB,IAAI,SAAS,GAAG,GAAG;YAAE,MAAM,GAAG,MAAM,CAAC;aAChC,IAAI,SAAS,GAAG,GAAG;YAAE,MAAM,GAAG,MAAM,CAAC;aACrC,IAAI,SAAS,GAAG,GAAG;YAAE,MAAM,GAAG,MAAM,CAAC;QAE1C,OAAO,CAAC,GAAG,CAAC,aAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,EAAU;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC;IACvB,IAAI,EAAE,GAAG,GAAG;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,EAAE,GAAG,GAAG;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function bulkAccounts(domain?: string): Promise<void>;
2
+ export declare function bulkForwarders(domain?: string): Promise<void>;
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
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.bulkAccounts = bulkAccounts;
40
+ exports.bulkForwarders = bulkForwarders;
41
+ const fs = __importStar(require("fs"));
42
+ const ora_1 = __importDefault(require("ora"));
43
+ const inquirer_1 = __importDefault(require("inquirer"));
44
+ const theme_1 = require("../utils/theme");
45
+ const shared_1 = require("../utils/shared");
46
+ const directadmin_1 = require("../utils/directadmin");
47
+ function parseCsv(content) {
48
+ const lines = content.trim().split('\n');
49
+ if (lines.length < 2)
50
+ return [];
51
+ const headers = lines[0].split(',').map((h) => h.trim().toLowerCase());
52
+ return lines.slice(1).map((line) => {
53
+ const values = line.split(',').map((v) => v.trim());
54
+ const row = {};
55
+ headers.forEach((h, i) => {
56
+ row[h] = values[i] || '';
57
+ });
58
+ return row;
59
+ });
60
+ }
61
+ async function bulkAccounts(domain) {
62
+ const creds = (0, shared_1.getCreds)();
63
+ const targetDomain = await (0, shared_1.pickDomain)(creds, domain);
64
+ console.log(theme_1.theme.heading(`Bulk Create Accounts: ${targetDomain}`));
65
+ console.log(theme_1.theme.subheading('CSV Format:'));
66
+ console.log(theme_1.theme.muted(' username,password,quota'));
67
+ console.log(theme_1.theme.muted(' john,SecurePass123!,0'));
68
+ console.log(theme_1.theme.muted(' jane,AnotherPass456!,500'));
69
+ console.log(theme_1.theme.muted(' (quota in MB, 0 = unlimited)\n'));
70
+ const { file } = await inquirer_1.default.prompt([
71
+ {
72
+ type: 'input',
73
+ name: 'file',
74
+ message: theme_1.theme.secondary('CSV file path:'),
75
+ validate: (input) => (fs.existsSync(input) ? true : 'File not found'),
76
+ },
77
+ ]);
78
+ const rows = parseCsv(fs.readFileSync(file, 'utf-8'));
79
+ if (rows.length === 0) {
80
+ console.log(theme_1.theme.error('\n No valid rows found in CSV.\n'));
81
+ return;
82
+ }
83
+ // Validate
84
+ const invalid = rows.filter((r) => !r.username || !r.password);
85
+ if (invalid.length > 0) {
86
+ console.log(theme_1.theme.error(`\n ${invalid.length} row(s) missing username or password.\n`));
87
+ return;
88
+ }
89
+ console.log(theme_1.theme.muted(`\n Found ${rows.length} account(s) to create on ${targetDomain}\n`));
90
+ const { proceed } = await inquirer_1.default.prompt([
91
+ {
92
+ type: 'confirm',
93
+ name: 'proceed',
94
+ message: `Create ${rows.length} accounts?`,
95
+ default: false,
96
+ },
97
+ ]);
98
+ if (!proceed) {
99
+ console.log(theme_1.theme.muted('\n Cancelled.\n'));
100
+ return;
101
+ }
102
+ let success = 0;
103
+ let failed = 0;
104
+ for (const row of rows) {
105
+ const spinner = (0, ora_1.default)({
106
+ text: `Creating ${row.username}@${targetDomain}...`,
107
+ spinner: 'dots12',
108
+ color: 'cyan',
109
+ }).start();
110
+ try {
111
+ const result = await (0, directadmin_1.createEmailAccount)(creds, targetDomain, row.username, row.password, Number(row.quota || 0));
112
+ if (result.error && result.error !== '0') {
113
+ spinner.fail(`${row.username}@${targetDomain}: ${result.text || 'Failed'}`);
114
+ failed++;
115
+ }
116
+ else {
117
+ spinner.succeed(`${row.username}@${targetDomain}`);
118
+ success++;
119
+ }
120
+ }
121
+ catch (err) {
122
+ spinner.fail(`${row.username}@${targetDomain}: ${err.message}`);
123
+ failed++;
124
+ }
125
+ }
126
+ console.log('');
127
+ console.log(theme_1.theme.success(` ${success} created`));
128
+ if (failed > 0)
129
+ console.log(theme_1.theme.error(` ${failed} failed`));
130
+ console.log('');
131
+ }
132
+ async function bulkForwarders(domain) {
133
+ const creds = (0, shared_1.getCreds)();
134
+ const targetDomain = await (0, shared_1.pickDomain)(creds, domain);
135
+ console.log(theme_1.theme.heading(`Bulk Create Forwarders: ${targetDomain}`));
136
+ console.log(theme_1.theme.subheading('CSV Format:'));
137
+ console.log(theme_1.theme.muted(' username,destination'));
138
+ console.log(theme_1.theme.muted(' sales,team@company.com'));
139
+ console.log(theme_1.theme.muted(' info,hello@company.com\n'));
140
+ const { file } = await inquirer_1.default.prompt([
141
+ {
142
+ type: 'input',
143
+ name: 'file',
144
+ message: theme_1.theme.secondary('CSV file path:'),
145
+ validate: (input) => (fs.existsSync(input) ? true : 'File not found'),
146
+ },
147
+ ]);
148
+ const rows = parseCsv(fs.readFileSync(file, 'utf-8'));
149
+ if (rows.length === 0) {
150
+ console.log(theme_1.theme.error('\n No valid rows found in CSV.\n'));
151
+ return;
152
+ }
153
+ const invalid = rows.filter((r) => !r.username || !r.destination);
154
+ if (invalid.length > 0) {
155
+ console.log(theme_1.theme.error(`\n ${invalid.length} row(s) missing username or destination.\n`));
156
+ return;
157
+ }
158
+ console.log(theme_1.theme.muted(`\n Found ${rows.length} forwarder(s) to create on ${targetDomain}\n`));
159
+ const { proceed } = await inquirer_1.default.prompt([
160
+ {
161
+ type: 'confirm',
162
+ name: 'proceed',
163
+ message: `Create ${rows.length} forwarders?`,
164
+ default: false,
165
+ },
166
+ ]);
167
+ if (!proceed) {
168
+ console.log(theme_1.theme.muted('\n Cancelled.\n'));
169
+ return;
170
+ }
171
+ let success = 0;
172
+ let failed = 0;
173
+ for (const row of rows) {
174
+ const spinner = (0, ora_1.default)({
175
+ text: `Creating ${row.username}@${targetDomain} → ${row.destination}...`,
176
+ spinner: 'dots12',
177
+ color: 'cyan',
178
+ }).start();
179
+ try {
180
+ const result = await (0, directadmin_1.createForwarder)(creds, targetDomain, row.username, row.destination);
181
+ if (result.error && result.error !== '0') {
182
+ spinner.fail(`${row.username}: ${result.text || 'Failed'}`);
183
+ failed++;
184
+ }
185
+ else {
186
+ spinner.succeed(`${row.username}@${targetDomain} → ${row.destination}`);
187
+ success++;
188
+ }
189
+ }
190
+ catch (err) {
191
+ spinner.fail(`${row.username}: ${err.message}`);
192
+ failed++;
193
+ }
194
+ }
195
+ console.log('');
196
+ console.log(theme_1.theme.success(` ${success} created`));
197
+ if (failed > 0)
198
+ console.log(theme_1.theme.error(` ${failed} failed`));
199
+ console.log('');
200
+ }
201
+ //# sourceMappingURL=bulk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulk.js","sourceRoot":"","sources":["../../src/commands/bulk.ts"],"names":[],"mappings":"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"}