insta-dista-cli 1.1.0 → 1.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.
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +61 -16
- package/dist/auth.js.map +1 -1
- package/package.json +2 -2
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA2C,MAAM,uBAAuB,CAAC;AAQ7F,wBAAgB,SAAS,IAAI,WAAW,CAKvC;AAWD,wBAAsB,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,CA8IlD;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAG5C;AAED,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAG1C;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAE3D"}
|
package/dist/auth.js
CHANGED
|
@@ -44,6 +44,7 @@ exports.ensureLoggedIn = ensureLoggedIn;
|
|
|
44
44
|
const instagram_private_api_1 = require("instagram-private-api");
|
|
45
45
|
const inquirer = __importStar(require("inquirer"));
|
|
46
46
|
const chalk_1 = __importDefault(require("chalk"));
|
|
47
|
+
const boxen_1 = __importDefault(require("boxen"));
|
|
47
48
|
const config_1 = require("./config");
|
|
48
49
|
let ig = null;
|
|
49
50
|
function getClient() {
|
|
@@ -52,6 +53,12 @@ function getClient() {
|
|
|
52
53
|
}
|
|
53
54
|
return ig;
|
|
54
55
|
}
|
|
56
|
+
function isCheckpointError(err) {
|
|
57
|
+
return (err instanceof instagram_private_api_1.IgCheckpointError ||
|
|
58
|
+
err.name === 'IgCheckpointError' ||
|
|
59
|
+
(err.message && err.message.includes('checkpoint_required')) ||
|
|
60
|
+
(err.response?.body?.error_type === 'checkpoint_challenge_required'));
|
|
61
|
+
}
|
|
55
62
|
async function login() {
|
|
56
63
|
const client = getClient();
|
|
57
64
|
// Check for saved session first
|
|
@@ -97,11 +104,11 @@ async function login() {
|
|
|
97
104
|
const loggedInUser = await client.account.login(answers.username, answers.password);
|
|
98
105
|
// Save session
|
|
99
106
|
const serialized = await client.state.serialize();
|
|
100
|
-
delete serialized.constants;
|
|
107
|
+
delete serialized.constants;
|
|
101
108
|
(0, config_1.saveSession)({ username: answers.username, cookies: serialized, userId: loggedInUser.pk });
|
|
102
109
|
(0, config_1.saveConfig)({ username: answers.username, userId: loggedInUser.pk });
|
|
103
110
|
console.log(chalk_1.default.green(` ✓ Successfully logged in as @${answers.username}\n`));
|
|
104
|
-
// Simulate post-login (non-critical
|
|
111
|
+
// Simulate post-login (non-critical)
|
|
105
112
|
try {
|
|
106
113
|
await client.simulate.postLoginFlow();
|
|
107
114
|
}
|
|
@@ -109,21 +116,51 @@ async function login() {
|
|
|
109
116
|
return client;
|
|
110
117
|
}
|
|
111
118
|
catch (err) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
console.log(
|
|
115
|
-
|
|
116
|
-
|
|
119
|
+
// ─── Handle 2FA / Checkpoint Challenge ───
|
|
120
|
+
if (isCheckpointError(err)) {
|
|
121
|
+
console.log('');
|
|
122
|
+
console.log((0, boxen_1.default)(chalk_1.default.yellow.bold('⚠ Instagram Verification Required') + '\n\n' +
|
|
123
|
+
chalk_1.default.dim('Instagram wants to verify it\'s really you.\n') +
|
|
124
|
+
chalk_1.default.dim('A code will be sent to your phone or email.'), {
|
|
125
|
+
padding: { top: 0, bottom: 0, left: 1, right: 1 },
|
|
126
|
+
borderStyle: 'round',
|
|
127
|
+
borderColor: 'yellow',
|
|
128
|
+
margin: { top: 0, bottom: 0, left: 2, right: 2 },
|
|
129
|
+
}));
|
|
130
|
+
try {
|
|
131
|
+
await client.challenge.auto(true); // Trigger the challenge
|
|
132
|
+
console.log(chalk_1.default.green('\n ✓ Verification code sent!\n'));
|
|
133
|
+
}
|
|
134
|
+
catch (autoErr) {
|
|
135
|
+
// If auto fails, try to get challenge URL
|
|
136
|
+
console.log(chalk_1.default.yellow('\n ⚠ Could not auto-send code. Trying alternative...\n'));
|
|
137
|
+
try {
|
|
138
|
+
await client.challenge.auto(false);
|
|
139
|
+
console.log(chalk_1.default.green(' ✓ Code sent via alternative method.\n'));
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
console.error(chalk_1.default.red(' ✗ Could not send verification code.'));
|
|
143
|
+
console.log(chalk_1.default.dim(' Try logging in from the Instagram app first to clear the challenge.\n'));
|
|
144
|
+
return client; // Return anyway, let them retry
|
|
145
|
+
}
|
|
146
|
+
}
|
|
117
147
|
const { code } = await inquirer.prompt([
|
|
118
148
|
{
|
|
119
149
|
type: 'input',
|
|
120
150
|
name: 'code',
|
|
121
|
-
message: chalk_1.default.bold('Enter the
|
|
122
|
-
validate: (val) =>
|
|
151
|
+
message: chalk_1.default.bold('Enter the 6-digit code:'),
|
|
152
|
+
validate: (val) => {
|
|
153
|
+
if (val.trim().length === 0)
|
|
154
|
+
return 'Code is required';
|
|
155
|
+
if (!/^\d{6}$/.test(val.trim()))
|
|
156
|
+
return 'Code must be 6 digits';
|
|
157
|
+
return true;
|
|
158
|
+
},
|
|
123
159
|
},
|
|
124
160
|
]);
|
|
125
161
|
try {
|
|
126
|
-
|
|
162
|
+
console.log(chalk_1.default.cyan(' Verifying...'));
|
|
163
|
+
await client.challenge.sendSecurityCode(code.trim());
|
|
127
164
|
const loggedInUser = await client.account.currentUser();
|
|
128
165
|
const serialized = await client.state.serialize();
|
|
129
166
|
delete serialized.constants;
|
|
@@ -134,10 +171,23 @@ async function login() {
|
|
|
134
171
|
}
|
|
135
172
|
catch (challengeErr) {
|
|
136
173
|
console.error(chalk_1.default.red(` ✗ Verification failed: ${challengeErr.message}`));
|
|
174
|
+
console.log(chalk_1.default.dim(' Try opening Instagram on your phone and approving the login.\n'));
|
|
137
175
|
process.exit(1);
|
|
138
176
|
}
|
|
139
177
|
}
|
|
140
|
-
|
|
178
|
+
// ─── Other login errors ───
|
|
179
|
+
console.error(chalk_1.default.red(`\n ✗ Login failed: ${err.message}`));
|
|
180
|
+
console.log('');
|
|
181
|
+
console.log((0, boxen_1.default)(chalk_1.default.dim('Possible fixes:\n') +
|
|
182
|
+
chalk_1.default.dim(' 1. Double-check your username and password\n') +
|
|
183
|
+
chalk_1.default.dim(' 2. Open Instagram on your phone and approve any login alerts\n') +
|
|
184
|
+
chalk_1.default.dim(' 3. Try again in a few minutes (Instagram rate limits)'), {
|
|
185
|
+
padding: { top: 0, bottom: 0, left: 1, right: 1 },
|
|
186
|
+
borderStyle: 'round',
|
|
187
|
+
borderColor: 'gray',
|
|
188
|
+
dimBorder: true,
|
|
189
|
+
margin: { top: 0, bottom: 1, left: 2, right: 2 },
|
|
190
|
+
}));
|
|
141
191
|
process.exit(1);
|
|
142
192
|
}
|
|
143
193
|
}
|
|
@@ -150,11 +200,6 @@ function isLoggedIn() {
|
|
|
150
200
|
return saved?.username || null;
|
|
151
201
|
}
|
|
152
202
|
async function ensureLoggedIn() {
|
|
153
|
-
const saved = (0, config_1.loadSession)();
|
|
154
|
-
if (!saved) {
|
|
155
|
-
console.log(chalk_1.default.yellow(' You are not logged in. Please log in first.\n'));
|
|
156
|
-
return login();
|
|
157
|
-
}
|
|
158
203
|
return login();
|
|
159
204
|
}
|
|
160
205
|
//# sourceMappingURL=auth.js.map
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "insta-dista-cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Distraction-free Instagram CLI — DMs only, no reels, no feed, no stories.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -40,4 +40,4 @@
|
|
|
40
40
|
"@types/node": "^25.3.0",
|
|
41
41
|
"typescript": "^5.9.3"
|
|
42
42
|
}
|
|
43
|
-
}
|
|
43
|
+
}
|