c-capcut 1.0.2 → 1.0.4
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/index.js +4 -6
- package/package.json +5 -1
- package/src/commands/create.js +218 -238
- package/assets/logo.svg +0 -37
- package/config.json +0 -24
- package/data/accounts.json +0 -67
- package/data/email-db.json +0 -7
- package/data/result.txt +0 -5
package/index.js
CHANGED
|
@@ -25,17 +25,15 @@ async function checkLisensi() {
|
|
|
25
25
|
if (!res.ok) throw new Error("Network Error");
|
|
26
26
|
const text = await res.text();
|
|
27
27
|
const db = text.split('\n').map(l => l.trim());
|
|
28
|
-
|
|
29
28
|
if (db.includes(myKey)) {
|
|
30
29
|
console.log(chalk.green("Valid!\n"));
|
|
31
30
|
return true;
|
|
32
31
|
} else {
|
|
33
32
|
console.log(chalk.red("Ditolak!"));
|
|
34
33
|
console.log(chalk.red("\n[-] Akses Ditolak!"));
|
|
35
|
-
console.log(chalk.
|
|
34
|
+
console.log(chalk.green(`HWID : ${myKey}`));
|
|
36
35
|
console.log("Status : Unregistered");
|
|
37
|
-
console.log("Telegram : @OfficialRyotaStore");
|
|
38
|
-
console.log("WhatsApp : +62895428421402\n");
|
|
36
|
+
console.log("Telegram : @OfficialRyotaStore\n");
|
|
39
37
|
process.exit(1);
|
|
40
38
|
}
|
|
41
39
|
} catch (e) {
|
|
@@ -69,8 +67,8 @@ async function main() {
|
|
|
69
67
|
);
|
|
70
68
|
console.log();
|
|
71
69
|
}
|
|
72
|
-
} catch (
|
|
73
|
-
console.
|
|
70
|
+
} catch (e) {
|
|
71
|
+
console.log(chalk.red("\n[-] Error detail: " + e.message));
|
|
74
72
|
process.exit(1);
|
|
75
73
|
}
|
|
76
74
|
}
|
package/package.json
CHANGED
package/src/commands/create.js
CHANGED
|
@@ -6,266 +6,246 @@
|
|
|
6
6
|
|
|
7
7
|
import chalk from "chalk";
|
|
8
8
|
import readline from "readline";
|
|
9
|
-
import { writeFileSync, existsSync, unlinkSync } from "fs";
|
|
9
|
+
import { writeFileSync, existsSync, unlinkSync, readFileSync } from "fs";
|
|
10
10
|
import { resolve } from "path";
|
|
11
11
|
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
BATCH_SIZE,
|
|
13
|
+
RESULT_FILE,
|
|
14
|
+
ACCOUNT_API_URL,
|
|
15
|
+
ACCOUNT_API_KEY,
|
|
16
|
+
OTP_TIMEOUT,
|
|
17
|
+
OTP_POLL,
|
|
18
|
+
} from "../config.js"; // Pastikan sudah "../.." (dua kali titik-titik)
|
|
19
|
+
|
|
20
20
|
import { createAccountGenerator } from "../lib/email-gen.js";
|
|
21
21
|
import { createOtpWaiter } from "../lib/otp.js";
|
|
22
22
|
import { registerAccount, TOTAL_STEPS } from "../lib/capcut.js";
|
|
23
23
|
import {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
saveAccount,
|
|
25
|
+
clearAccounts,
|
|
26
|
+
isEmailUsed,
|
|
27
|
+
saveEmailToDb,
|
|
28
28
|
} from "../lib/storage.js";
|
|
29
29
|
import {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
printBanner,
|
|
31
|
+
printSection,
|
|
32
|
+
printField,
|
|
33
|
+
printResult,
|
|
34
|
+
printSaved,
|
|
35
35
|
} from "../ui/banner.js";
|
|
36
36
|
import { LiveDisplay } from "../ui/display.js";
|
|
37
37
|
|
|
38
|
-
// ─── Helper: Prompt Input ─────────────────────────────────────────────────────
|
|
39
|
-
|
|
40
38
|
function ask(question) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
39
|
+
const rl = readline.createInterface({
|
|
40
|
+
input: process.stdin,
|
|
41
|
+
output: process.stdout,
|
|
42
|
+
});
|
|
43
|
+
return new Promise((resolve) =>
|
|
44
|
+
rl.question(question, (ans) => {
|
|
45
|
+
rl.close();
|
|
46
|
+
resolve(ans.trim());
|
|
47
|
+
}),
|
|
48
|
+
);
|
|
51
49
|
}
|
|
52
50
|
|
|
53
51
|
function sleep(ms) {
|
|
54
|
-
|
|
52
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
55
53
|
}
|
|
56
54
|
|
|
57
|
-
// ─── Auto-Export ──────────────────────────────────────────────────────────────
|
|
58
|
-
|
|
59
55
|
function autoExport(allResults) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
writeFileSync(resolve(RESULT_FILE), lines.join("\n"), "utf-8");
|
|
56
|
+
if (allResults.length === 0) return;
|
|
57
|
+
const lines = allResults.map(
|
|
58
|
+
(acc) => `${acc.email}\t${acc.password}\t${acc.fullName || acc.firstName || "-"}`
|
|
59
|
+
);
|
|
60
|
+
writeFileSync(resolve(RESULT_FILE), lines.join("\n"), "utf-8");
|
|
66
61
|
}
|
|
67
62
|
|
|
68
|
-
// ─── Format Duration ──────────────────────────────────────────────────────────
|
|
69
|
-
|
|
70
63
|
function formatDuration(ms) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
64
|
+
const s = Math.floor(ms / 1000) % 60;
|
|
65
|
+
const m = Math.floor(ms / 60000);
|
|
66
|
+
if (m > 0) return `${m}m ${s}s`;
|
|
67
|
+
return `${s}s`;
|
|
75
68
|
}
|
|
76
69
|
|
|
77
|
-
// ─── Main Command ─────────────────────────────────────────────────────────────
|
|
78
|
-
|
|
79
70
|
export async function cmdCreate() {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
const duration = formatDuration(Date.now() - startTime);
|
|
261
|
-
|
|
262
|
-
console.log();
|
|
263
|
-
printResult({
|
|
264
|
-
total: count,
|
|
265
|
-
success: totalSuccess,
|
|
266
|
-
failed: count - totalSuccess,
|
|
267
|
-
duration,
|
|
268
|
-
});
|
|
269
|
-
|
|
270
|
-
printSaved();
|
|
71
|
+
printBanner();
|
|
72
|
+
|
|
73
|
+
printSection("CONFIGURATION");
|
|
74
|
+
|
|
75
|
+
const countInput = await ask(
|
|
76
|
+
chalk.hex("#00D4AA")(" | ") +
|
|
77
|
+
chalk.hex("#00D4AA")("❯ ") +
|
|
78
|
+
chalk.white("How many accounts to create? "),
|
|
79
|
+
);
|
|
80
|
+
const count = Math.max(1, parseInt(countInput) || 1);
|
|
81
|
+
|
|
82
|
+
const emailSuffix = await ask(
|
|
83
|
+
chalk.hex("#00D4AA")(" | ") +
|
|
84
|
+
chalk.hex("#00D4AA")("❯ ") +
|
|
85
|
+
chalk.white("Email suffix (leave empty for none): "),
|
|
86
|
+
);
|
|
87
|
+
|
|
88
|
+
printSection("INFO");
|
|
89
|
+
|
|
90
|
+
const suffixDisplay = emailSuffix
|
|
91
|
+
? chalk.white(`"${emailSuffix}"`) + chalk.gray(` → e.g. johndoe${emailSuffix}@domain.xyz`)
|
|
92
|
+
: chalk.gray("none");
|
|
93
|
+
|
|
94
|
+
printField(
|
|
95
|
+
chalk.hex("#00D4AA")("✓"),
|
|
96
|
+
chalk.gray("Accounts: ") +
|
|
97
|
+
chalk.white.bold(count) +
|
|
98
|
+
chalk.gray(" │ Workers: ") +
|
|
99
|
+
chalk.white.bold(Math.min(count, BATCH_SIZE)) +
|
|
100
|
+
chalk.gray(" │ Steps: ") +
|
|
101
|
+
chalk.white.bold(TOTAL_STEPS),
|
|
102
|
+
);
|
|
103
|
+
printField(
|
|
104
|
+
chalk.hex("#00D4AA")("✓"),
|
|
105
|
+
chalk.gray("API: ") + chalk.hex("#00A8DE")(ACCOUNT_API_URL),
|
|
106
|
+
);
|
|
107
|
+
printField(chalk.hex("#00D4AA")("✓"), chalk.gray("Suffix: ") + suffixDisplay);
|
|
108
|
+
await clearAccounts();
|
|
109
|
+
const resultPath = resolve(RESULT_FILE);
|
|
110
|
+
if (existsSync(resultPath)) unlinkSync(resultPath);
|
|
111
|
+
printField(chalk.hex("#FFD700")("⟳"), chalk.gray("Previous data cleared"));
|
|
112
|
+
let customPassword = "DefaultPassword123!";
|
|
113
|
+
try {
|
|
114
|
+
const rawConfig = readFileSync(resolve("config.json"), "utf-8");
|
|
115
|
+
const parsedConfig = JSON.parse(rawConfig);
|
|
116
|
+
if (parsedConfig.password) {
|
|
117
|
+
customPassword = parsedConfig.password;
|
|
118
|
+
}
|
|
119
|
+
} catch (err) {
|
|
120
|
+
// Abaikan error, script lanjut pakai DefaultPassword123!
|
|
121
|
+
}
|
|
122
|
+
const generateAccount = createAccountGenerator({
|
|
123
|
+
apiUrl: ACCOUNT_API_URL,
|
|
124
|
+
apiKey: ACCOUNT_API_KEY,
|
|
125
|
+
password: customPassword,
|
|
126
|
+
suffix: emailSuffix,
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
const waitForOtp = createOtpWaiter({
|
|
130
|
+
apiUrl: ACCOUNT_API_URL,
|
|
131
|
+
apiKey: ACCOUNT_API_KEY,
|
|
132
|
+
timeout: OTP_TIMEOUT,
|
|
133
|
+
pollInterval: OTP_POLL,
|
|
134
|
+
});
|
|
135
|
+
printSection("PROCESSING");
|
|
136
|
+
const workerCount = Math.min(count, BATCH_SIZE);
|
|
137
|
+
let nextAccountIndex = 0;
|
|
138
|
+
let totalSuccess = 0;
|
|
139
|
+
const allResults = new Array(count);
|
|
140
|
+
const startTime = Date.now();
|
|
141
|
+
const liveDisplay = new LiveDisplay(count);
|
|
142
|
+
liveDisplay.initialRender();
|
|
143
|
+
const workers = Array.from({ length: workerCount }, () =>
|
|
144
|
+
(async () => {
|
|
145
|
+
while (true) {
|
|
146
|
+
if (nextAccountIndex >= count) return;
|
|
147
|
+
const accountIndex = nextAccountIndex++;
|
|
148
|
+
const MAX_RETRIES = 3;
|
|
149
|
+
let success = false;
|
|
150
|
+
for (let retry = 0; retry < MAX_RETRIES && !success; retry++) {
|
|
151
|
+
let account;
|
|
152
|
+
|
|
153
|
+
try {
|
|
154
|
+
liveDisplay.updateRow(accountIndex, {
|
|
155
|
+
email: "-",
|
|
156
|
+
step: 0,
|
|
157
|
+
status: retry > 0 ? `Retry ${retry}/${MAX_RETRIES}...` : "Creating email...",
|
|
158
|
+
done: false,
|
|
159
|
+
success: false,
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
account = await generateAccount();
|
|
163
|
+
|
|
164
|
+
if (isEmailUsed(account.email)) {
|
|
165
|
+
liveDisplay.updateRow(accountIndex, {
|
|
166
|
+
status: "Email collision, retrying...",
|
|
167
|
+
});
|
|
168
|
+
await sleep(1000);
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
} catch (err) {
|
|
172
|
+
liveDisplay.updateRow(accountIndex, {
|
|
173
|
+
email: "-",
|
|
174
|
+
step: 0,
|
|
175
|
+
status: `Email gen failed: ${err.message.substring(0, 25)}`,
|
|
176
|
+
done: false,
|
|
177
|
+
success: false,
|
|
178
|
+
});
|
|
179
|
+
await sleep(2000 + Math.random() * 2000);
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
liveDisplay.updateRow(accountIndex, {
|
|
184
|
+
email: account.email,
|
|
185
|
+
step: 0,
|
|
186
|
+
status: "Starting registration...",
|
|
187
|
+
done: false,
|
|
188
|
+
success: false,
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
try {
|
|
192
|
+
const result = await registerAccount(account, {
|
|
193
|
+
askOtpFn: waitForOtp,
|
|
194
|
+
onProgress: (step, msg) => {
|
|
195
|
+
liveDisplay.updateRow(accountIndex, {
|
|
196
|
+
step,
|
|
197
|
+
status: msg,
|
|
198
|
+
});
|
|
199
|
+
},
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
await saveAccount(result);
|
|
203
|
+
await saveEmailToDb(account.email);
|
|
204
|
+
|
|
205
|
+
allResults[accountIndex] = result;
|
|
206
|
+
totalSuccess++;
|
|
207
|
+
success = true;
|
|
208
|
+
|
|
209
|
+
liveDisplay.updateRow(accountIndex, {
|
|
210
|
+
step: TOTAL_STEPS,
|
|
211
|
+
status: "Complete ✓",
|
|
212
|
+
done: true,
|
|
213
|
+
success: true,
|
|
214
|
+
});
|
|
215
|
+
} catch (err) {
|
|
216
|
+
liveDisplay.updateRow(accountIndex, {
|
|
217
|
+
step: 0,
|
|
218
|
+
status: `Failed: ${err.message.substring(0, 30)}`,
|
|
219
|
+
done: false,
|
|
220
|
+
success: false,
|
|
221
|
+
});
|
|
222
|
+
await sleep(3000 + Math.random() * 3000);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
if (!success) {
|
|
227
|
+
liveDisplay.updateRow(accountIndex, {
|
|
228
|
+
step: 0,
|
|
229
|
+
status: "Failed (max retries) ✗",
|
|
230
|
+
done: true,
|
|
231
|
+
success: false,
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
})(),
|
|
236
|
+
);
|
|
237
|
+
|
|
238
|
+
await Promise.allSettled(workers);
|
|
239
|
+
const validResults = allResults.filter(Boolean);
|
|
240
|
+
autoExport(validResults);
|
|
241
|
+
const duration = formatDuration(Date.now() - startTime);
|
|
242
|
+
console.log();
|
|
243
|
+
printResult({
|
|
244
|
+
total: count,
|
|
245
|
+
success: totalSuccess,
|
|
246
|
+
failed: count - totalSuccess,
|
|
247
|
+
duration,
|
|
248
|
+
});
|
|
249
|
+
|
|
250
|
+
printSaved();
|
|
271
251
|
}
|
package/assets/logo.svg
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
<svg width="160" height="160" viewBox="0 0 160 160" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="BROM4KER - CapCut Account Creator">
|
|
2
|
-
<defs>
|
|
3
|
-
<linearGradient id="brand" x1="0" y1="0" x2="160" y2="160" gradientUnits="userSpaceOnUse">
|
|
4
|
-
<stop offset="0" stop-color="#00D4AA"/>
|
|
5
|
-
<stop offset="0.5" stop-color="#0092F8"/>
|
|
6
|
-
<stop offset="1" stop-color="#CC3AFF"/>
|
|
7
|
-
</linearGradient>
|
|
8
|
-
<linearGradient id="screen" x1="24" y1="34" x2="136" y2="126" gradientUnits="userSpaceOnUse">
|
|
9
|
-
<stop offset="0" stop-color="#0d1b2a"/>
|
|
10
|
-
<stop offset="1" stop-color="#10263b"/>
|
|
11
|
-
</linearGradient>
|
|
12
|
-
</defs>
|
|
13
|
-
|
|
14
|
-
<!-- outer rounded badge -->
|
|
15
|
-
<rect x="4" y="4" width="152" height="152" rx="34" fill="url(#brand)"/>
|
|
16
|
-
<rect x="9" y="9" width="142" height="142" rx="29" fill="#0a1622"/>
|
|
17
|
-
|
|
18
|
-
<!-- terminal window -->
|
|
19
|
-
<rect x="26" y="34" width="108" height="80" rx="12" fill="url(#screen)" stroke="url(#brand)" stroke-width="2.5"/>
|
|
20
|
-
|
|
21
|
-
<!-- title bar dots -->
|
|
22
|
-
<circle cx="40" cy="48" r="3.4" fill="#00D4AA"/>
|
|
23
|
-
<circle cx="52" cy="48" r="3.4" fill="#0092F8"/>
|
|
24
|
-
<circle cx="64" cy="48" r="3.4" fill="#CC3AFF"/>
|
|
25
|
-
<line x1="26" y1="59" x2="134" y2="59" stroke="#1d3650" stroke-width="2"/>
|
|
26
|
-
|
|
27
|
-
<!-- prompt arrow + command line -->
|
|
28
|
-
<path d="M40 74 L48 81 L40 88" stroke="#00D4AA" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
|
|
29
|
-
<rect x="56" y="77" width="42" height="6" rx="3" fill="#2b4a6b"/>
|
|
30
|
-
|
|
31
|
-
<!-- play / video button (CapCut) inside chat bubble -->
|
|
32
|
-
<path d="M70 95 h40 a8 8 0 0 1 8 8 v10 a8 8 0 0 1 -8 8 h-26 l-10 9 v-9 h-4 a8 8 0 0 1 -8 -8 v-10 a8 8 0 0 1 8 -8 z" fill="url(#brand)"/>
|
|
33
|
-
<path d="M85 103 L85 117 L98 110 Z" fill="#0a1622"/>
|
|
34
|
-
|
|
35
|
-
<!-- brand mark -->
|
|
36
|
-
<text x="80" y="140" text-anchor="middle" font-family="'Segoe UI', Arial, sans-serif" font-size="15" font-weight="700" letter-spacing="1.5" fill="url(#brand)">BROM4KER</text>
|
|
37
|
-
</svg>
|
package/config.json
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"password": "@RyotaXD666",
|
|
3
|
-
"batchSize": 5,
|
|
4
|
-
"otp": {
|
|
5
|
-
"timeout": 90000,
|
|
6
|
-
"pollInterval": 4000
|
|
7
|
-
},
|
|
8
|
-
"account": {
|
|
9
|
-
"apiUrl": "https://mail.gopretstudio.com",
|
|
10
|
-
"apiKey": "GOMAIL-FqcmbaAGbPnwHIxKElNq"
|
|
11
|
-
},
|
|
12
|
-
"capcut": {
|
|
13
|
-
"aid": "348188",
|
|
14
|
-
"sdkVersion": "2.1.10-tiktok",
|
|
15
|
-
"language": "en",
|
|
16
|
-
"region": "ID",
|
|
17
|
-
"loginDomain": "https://login-row.www.capcut.com"
|
|
18
|
-
},
|
|
19
|
-
"paths": {
|
|
20
|
-
"accounts": "./data/accounts.json",
|
|
21
|
-
"result": "./data/result.txt",
|
|
22
|
-
"emailDb": "./data/email-db.json"
|
|
23
|
-
}
|
|
24
|
-
}
|
package/data/accounts.json
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"email": "gracelangosh@gomal.tech",
|
|
4
|
-
"password": "@RyotaXD666",
|
|
5
|
-
"firstName": "Grace",
|
|
6
|
-
"lastName": "Langosh",
|
|
7
|
-
"fullName": "Grace Langosh",
|
|
8
|
-
"userId": "7660187678751835144",
|
|
9
|
-
"screenName": "user4678517275765",
|
|
10
|
-
"birthday": "1996-05-07",
|
|
11
|
-
"sessionId": "89e4f10e678cc341e95231ba7190f753",
|
|
12
|
-
"status": "verified",
|
|
13
|
-
"createdAt": "2026-07-08T16:00:50.571Z"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"email": "chanellewiegand@xaexi.tech",
|
|
17
|
-
"password": "@RyotaXD666",
|
|
18
|
-
"firstName": "Chanelle",
|
|
19
|
-
"lastName": "Wiegand",
|
|
20
|
-
"fullName": "Chanelle Wiegand",
|
|
21
|
-
"userId": "7660187688998192135",
|
|
22
|
-
"screenName": "user3861324712341",
|
|
23
|
-
"birthday": "2000-09-17",
|
|
24
|
-
"sessionId": "1eda562da6f6a7f0697dc0f6451fbf84",
|
|
25
|
-
"status": "verified",
|
|
26
|
-
"createdAt": "2026-07-08T16:00:51.426Z"
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"email": "annettebechtelar@srimuna.me",
|
|
30
|
-
"password": "@RyotaXD666",
|
|
31
|
-
"firstName": "Annette",
|
|
32
|
-
"lastName": "Bechtelar",
|
|
33
|
-
"fullName": "Annette Bechtelar",
|
|
34
|
-
"userId": "7660187698103927826",
|
|
35
|
-
"screenName": "user145519814034",
|
|
36
|
-
"birthday": "1999-09-28",
|
|
37
|
-
"sessionId": "5f88601e7ae3776dae93d76fb2f1dc15",
|
|
38
|
-
"status": "verified",
|
|
39
|
-
"createdAt": "2026-07-08T16:00:55.042Z"
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"email": "hunternitzsche@neoxr.me",
|
|
43
|
-
"password": "@RyotaXD666",
|
|
44
|
-
"firstName": "Hunter",
|
|
45
|
-
"lastName": "Nitzsche",
|
|
46
|
-
"fullName": "Hunter Nitzsche",
|
|
47
|
-
"userId": "7660187978908255239",
|
|
48
|
-
"screenName": "user7071707386842",
|
|
49
|
-
"birthday": "2002-09-26",
|
|
50
|
-
"sessionId": "1d08cae3f3501b28a34bad5d3c92976f",
|
|
51
|
-
"status": "verified",
|
|
52
|
-
"createdAt": "2026-07-08T16:01:57.667Z"
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"email": "alessandraryan@xaexi.tech",
|
|
56
|
-
"password": "@RyotaXD666",
|
|
57
|
-
"firstName": "Alessandra",
|
|
58
|
-
"lastName": "Ryan",
|
|
59
|
-
"fullName": "Alessandra Ryan",
|
|
60
|
-
"userId": "7660188019534398472",
|
|
61
|
-
"screenName": "user8161059310383",
|
|
62
|
-
"birthday": "2003-06-01",
|
|
63
|
-
"sessionId": "f4a259097f28507c3db6a3980d669687",
|
|
64
|
-
"status": "verified",
|
|
65
|
-
"createdAt": "2026-07-08T16:02:06.605Z"
|
|
66
|
-
}
|
|
67
|
-
]
|
package/data/email-db.json
DELETED
package/data/result.txt
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
gracelangosh@gomal.tech @RyotaXD666 Grace Langosh
|
|
2
|
-
alessandraryan@xaexi.tech @RyotaXD666 Alessandra Ryan
|
|
3
|
-
hunternitzsche@neoxr.me @RyotaXD666 Hunter Nitzsche
|
|
4
|
-
chanellewiegand@xaexi.tech @RyotaXD666 Chanelle Wiegand
|
|
5
|
-
annettebechtelar@srimuna.me @RyotaXD666 Annette Bechtelar
|