├── .env ├── .gitignore ├── .vscode └── settings.json ├── README.md ├── accountCreator.js ├── accountCreatorWithEdit.js ├── autoFollowers.js ├── autoFollowersByTxt.js ├── lib ├── attemp.js ├── colors.js ├── follow.js ├── getCookie.js ├── getFollowers.js ├── getUSerId.js ├── login.js ├── profileEdit.js └── utils │ └── uaGen.js ├── package-lock.json ├── package.json ├── result_account.txt └── test.js /.env: -------------------------------------------------------------------------------- 1 | Mysql Configuration 2 | DB_HOST=localhost 3 | DB_USER=root 4 | DB_PASSWORD= 5 | DB_NAME=ig -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | fail 3 | cekDB.js 4 | .env 5 | indexxx.js 6 | test.js 7 | result_account.js 8 | data.js 9 | ig.txt 10 | l.js 11 | sad.txt -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "git.ignoreLimitWarning": true 3 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Instagram Tools (Develop) 2 | [![Build Status](https://camo.githubusercontent.com/c9126cc8b292257866ca56cf0568fa257d200a83/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76657273696f6e2d312e312e302d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](https://www.ancreator.com/) [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://www.ancreator.com/) 3 | 4 | 5 | 6 | instagram include unoffical API in folder ./lib. 7 | 8 | will be updated soon. :) 9 | 10 | 11 | ## Script 12 | 13 | Script Detailed. 14 | 15 | | Tools | Description | Script name | Status | 16 | | :--- | :--- | :--- | :--- | 17 | | Account Creator| For create multiple instagram account| accountCreator.js | develop | 18 | | Account Creator ( Edit ) | For create multiple instagram account with edit bio etc. | accountCreatorWithEdit.js | develop | 19 | | Auto Followers | for auto follow ( data from database ) | autoFollowers.js | develop | 20 | | Auto Followers FROM Txt | for auto follow ( data from txt ) | autoFollowersWithTxt.js | develop | 21 | | Account Creator With Proxy | For create multiple account with proxy | - | - | 22 | 23 | ## Lib 24 | 25 | Lib detailed 26 | 27 | u can check at folder lib. 28 | 29 | 30 | ## Contributing 31 | 32 | - Fork this repo. 33 | - Add new features or Fix features. 34 | - Create a new pull request for this branch. 35 | 36 | ## License 37 | [MIT](https://choosealicense.com/licenses/mit/) -------------------------------------------------------------------------------- /accountCreator.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch'); 2 | const UsernameGenerator = require("username-generator"); 3 | const delay = require("delay"); 4 | const moment = require("moment"); 5 | const colors = require("./lib/colors"); 6 | const { URLSearchParams } = require("url"); 7 | const login = require("./lib/login"); 8 | const getCookie = require('./lib/getCookie'); 9 | const mysql = require("mysql"); 10 | const readlineSync = require('readline-sync'); 11 | const fs = require("async-file"); 12 | const UA = require('./lib/utils/uaGen'); 13 | require('dotenv').config() 14 | 15 | console.log(""); 16 | console.log(""); 17 | const accountCount = readlineSync.question('number of account : ') 18 | const delaYY = readlineSync.question('input delay (600000) : ') 19 | const choiseDb = readlineSync.question('choose db (Y) for mysql, (N) for txt : ') 20 | 21 | if (choiseDb.toLowerCase() === 'y' && process.env.DB_HOST === 'default') { 22 | console.log(""); 23 | console.log(""); 24 | console.log(colors.FgRed, 'Please edit your configuration at .env file.', colors.Reset); 25 | console.log(""); 26 | console.log(""); 27 | process.exit(); 28 | } 29 | 30 | const connection = mysql.createConnection({ 31 | host: process.env.DB_HOST, 32 | user: process.env.DB_USER, 33 | password: process.env.DB_PASSWORD, 34 | database: process.env.DB_NAME 35 | }); 36 | 37 | const functionRegister = (username, csrf, rur, mid, user_agent) => 38 | new Promise((resolve, reject) => { 39 | const params = new URLSearchParams(); 40 | params.append("email", `${username}@aminudin.me`); 41 | params.append("password", "berak321amin"); 42 | params.append("username", username); 43 | params.append("first_name", username); 44 | params.append("seamless_login_enabled", 1); 45 | params.append("tos_version", "eu"); 46 | params.append("opt_into_one_tap", false); 47 | 48 | fetch("https://www.instagram.com/accounts/web_create_ajax/", { 49 | method: "POST", 50 | body: params, 51 | headers: { 52 | "cache-Control": "no-cache", 53 | "content-type": "application/x-www-form-urlencoded", 54 | cookie: `${csrf}; ${rur}; ${mid}`, 55 | referer: "https://www.instagram.com/", 56 | "user-agent": user_agent, 57 | "x-csrftoken": csrf.split('=')[1] 58 | } 59 | }) 60 | .then(res => res.json()) 61 | .then(text => resolve(text)) 62 | .catch(err => reject(err)); 63 | }); 64 | 65 | const genSes = length => 66 | new Promise((resolve, reject) => { 67 | var text = ""; 68 | var possible = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; 69 | 70 | for (var i = 0; i < length; i++) 71 | text += possible.charAt(Math.floor(Math.random() * possible.length)); 72 | 73 | resolve(text); 74 | }); 75 | 76 | (async function main() { 77 | try { 78 | await console.log(""); 79 | await console.log(""); 80 | const user_agent = await UA.returnUA(); 81 | for (let index = 0; index < accountCount; index++) { 82 | 83 | const username = UsernameGenerator.generateUsername(); 84 | await console.log( 85 | "[" + 86 | " " + 87 | moment().format("HH:mm:ss") + 88 | " " + 89 | "]" + 90 | " " + 91 | "=>" + 92 | " " + 93 | colors.FgGreen, 94 | "generate username :" + " " + username, 95 | colors.Reset 96 | ); 97 | if (username.includes("-") !== true) { 98 | await console.log( 99 | "[" + 100 | " " + 101 | moment().format("HH:mm:ss") + 102 | " " + 103 | "]" + 104 | " " + 105 | "=>" + 106 | " " + 107 | colors.FgGreen, 108 | "Try to register", 109 | colors.Reset 110 | ); 111 | await delay(delaYY); //normally and safe 600000 112 | const Cookie = await getCookie.functionGetCookie(user_agent); 113 | const csrfToken = Cookie[7].split(';')[0]; 114 | const rur = Cookie[8].split(';')[0]; 115 | const mid = Cookie[9].split(';')[0]; 116 | const regist = await functionRegister(username, csrfToken, rur, mid, user_agent); 117 | 118 | if (regist.account_created === true) { 119 | await console.log( 120 | "[" + 121 | " " + 122 | moment().format("HH:mm:ss") + 123 | " " + 124 | "]" + 125 | " " + 126 | "=>" + 127 | " " + 128 | colors.FgGreen, 129 | `Email server : generator.email/aminudin.me/${username}`, 130 | colors.Reset 131 | ); 132 | await console.log( 133 | "[" + 134 | " " + 135 | moment().format("HH:mm:ss") + 136 | " " + 137 | "]" + 138 | " " + 139 | "=>" + 140 | " " + 141 | colors.FgGreen, 142 | "Success Register", 143 | colors.Reset 144 | ); 145 | await console.log( 146 | "[" + 147 | " " + 148 | moment().format("HH:mm:ss") + 149 | " " + 150 | "]" + 151 | " " + 152 | "=>" + 153 | " " + 154 | colors.FgGreen, 155 | "Message : ", 156 | regist, 157 | colors.Reset 158 | ); 159 | if (regist.account_created) { 160 | await console.log( 161 | "[" + 162 | " " + 163 | moment().format("HH:mm:ss") + 164 | " " + 165 | "]" + 166 | " " + 167 | "=>" + 168 | " " + 169 | colors.FgGreen, 170 | `Try to login with account : ${username}`, 171 | colors.Reset 172 | ); 173 | await delay(10000); 174 | const LoginToDO = await login.functionLogin(username, "berak321amin", csrfToken, rur, mid, user_agent); 175 | if (LoginToDO.authenticated === true) { 176 | await console.log( 177 | "[" + 178 | " " + 179 | moment().format("HH:mm:ss") + 180 | " " + 181 | "]" + 182 | " " + 183 | "=>" + 184 | " " + 185 | colors.FgGreen, 186 | `Login success!`, 187 | colors.Reset 188 | ); 189 | if (choiseDb.toLowerCase() === 'y') { 190 | const post = { 191 | username: username, 192 | password: "berak321amin", 193 | account_id: regist.user_id 194 | }; 195 | await console.log( 196 | "[" + 197 | " " + 198 | moment().format("HH:mm:ss") + 199 | " " + 200 | "]" + 201 | " " + 202 | "=>" + 203 | " " + 204 | colors.FgGreen, 205 | "insert to database", 206 | colors.Reset 207 | ); 208 | delay(5000); 209 | const query = await connection.query( 210 | "INSERT INTO user SET ?", 211 | post, 212 | function (error, results, fields) { 213 | if (error) throw error; 214 | // Neat! 215 | } 216 | ); 217 | await console.log( 218 | "[" + 219 | " " + 220 | moment().format("HH:mm:ss") + 221 | " " + 222 | "]" + 223 | " " + 224 | "=>" + 225 | " " + 226 | colors.FgGreen, 227 | "Success!", 228 | query.values, 229 | colors.Reset 230 | ); 231 | } else { 232 | await console.log( 233 | "[" + 234 | " " + 235 | moment().format("HH:mm:ss") + 236 | " " + 237 | "]" + 238 | " " + 239 | "=>" + 240 | " " + 241 | colors.FgGreen, 242 | "Format account : username|password|account_id", 243 | colors.Reset 244 | ); 245 | await console.log( 246 | "[" + 247 | " " + 248 | moment().format("HH:mm:ss") + 249 | " " + 250 | "]" + 251 | " " + 252 | "=>" + 253 | " " + 254 | colors.FgGreen, 255 | "Create file : result_account.txt", 256 | colors.Reset 257 | ); 258 | const post = { 259 | username: username, 260 | password: "berak321amin", 261 | account_id: regist.user_id 262 | }; 263 | await fs.appendFile( 264 | "result_account.txt", 265 | `${post.username}|${post.password}|${post.account_id}\n`, 266 | "utf-8" 267 | ); 268 | await console.log( 269 | "[" + 270 | " " + 271 | moment().format("HH:mm:ss") + 272 | " " + 273 | "]" + 274 | " " + 275 | "=>" + 276 | " " + 277 | colors.FgGreen, 278 | "Success!", 279 | colors.Reset 280 | ); 281 | } 282 | 283 | } 284 | } 285 | 286 | 287 | await console.log(""); 288 | await console.log(""); 289 | } else { 290 | await console.log( 291 | "[" + 292 | " " + 293 | moment().format("HH:mm:ss") + 294 | " " + 295 | "]" + 296 | " " + 297 | "=>" + 298 | " " + 299 | colors.FgRed, 300 | "Failed Register", 301 | colors.Reset 302 | ); 303 | await console.log( 304 | "[" + 305 | " " + 306 | moment().format("HH:mm:ss") + 307 | " " + 308 | "]" + 309 | " " + 310 | "=>" + 311 | " " + 312 | colors.FgGreen, 313 | "Message : ", 314 | regist, 315 | colors.Reset 316 | ); 317 | await console.log(""); 318 | await console.log(""); 319 | } 320 | } else { 321 | await console.log( 322 | "[" + 323 | " " + 324 | moment().format("HH:mm:ss") + 325 | " " + 326 | "]" + 327 | " " + 328 | "=>" + 329 | " " + 330 | colors.FgRed, 331 | "Failed", 332 | colors.Reset 333 | ); 334 | await console.log( 335 | "[" + 336 | " " + 337 | moment().format("HH:mm:ss") + 338 | " " + 339 | "]" + 340 | " " + 341 | "=>" + 342 | " " + 343 | colors.FgRed, 344 | "Message : username include character not allowed for register", 345 | colors.Reset 346 | ); 347 | await console.log(""); 348 | await console.log(""); 349 | } 350 | } 351 | } catch (e) { 352 | console.log(e); 353 | } 354 | })(); 355 | -------------------------------------------------------------------------------- /accountCreatorWithEdit.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch'); 2 | const UsernameGenerator = require("username-generator"); 3 | const delay = require("delay"); 4 | const moment = require("moment"); 5 | const colors = require("./lib/colors"); 6 | const { URLSearchParams } = require("url"); 7 | const login = require("./lib/login"); 8 | const getCookie = require('./lib/getCookie'); 9 | const updateProfile = require('./lib/profileEdit'); 10 | const mysql = require("mysql"); 11 | const readlineSync = require('readline-sync'); 12 | const fs = require("async-file"); 13 | const UA = require('./lib/utils/uaGen'); 14 | require('dotenv').config() 15 | 16 | console.log(""); 17 | console.log(""); 18 | const accountCount = readlineSync.question('number of account : ') 19 | const delaYY = readlineSync.question('input delay (600000) : ') 20 | const choiseDb = readlineSync.question('choose db (Y) for mysql, (N) for txt : ') 21 | 22 | if (choiseDb.toLowerCase() === 'y' && process.env.DB_HOST === 'default') { 23 | console.log(""); 24 | console.log(""); 25 | console.log(colors.FgRed, 'Please edit your configuration at .env file.', colors.Reset); 26 | console.log(""); 27 | console.log(""); 28 | process.exit(); 29 | } 30 | 31 | const connection = mysql.createConnection({ 32 | host: process.env.DB_HOST, 33 | user: process.env.DB_USER, 34 | password: process.env.DB_PASSWORD, 35 | database: process.env.DB_NAME 36 | }); 37 | 38 | const functionRegister = (username, csrf, rur, mid, user_agent) => 39 | new Promise((resolve, reject) => { 40 | const params = new URLSearchParams(); 41 | params.append("email", `${username}@aminudin.me`); 42 | params.append("password", "berak321amin"); 43 | params.append("username", username); 44 | params.append("first_name", username); 45 | params.append("seamless_login_enabled", 1); 46 | params.append("tos_version", "eu"); 47 | params.append("opt_into_one_tap", false); 48 | 49 | fetch("https://www.instagram.com/accounts/web_create_ajax/", { 50 | method: "POST", 51 | body: params, 52 | headers: { 53 | "cache-Control": "no-cache", 54 | "content-type": "application/x-www-form-urlencoded", 55 | cookie: `${csrf}; ${rur}; ${mid}`, 56 | referer: "https://www.instagram.com/", 57 | "user-agent": user_agent, 58 | "x-csrftoken": csrf.split('=')[1] 59 | } 60 | }) 61 | .then(res => res.json()) 62 | .then(text => resolve(text)) 63 | .catch(err => reject(err)); 64 | }); 65 | 66 | const genSes = length => 67 | new Promise((resolve, reject) => { 68 | var text = ""; 69 | var possible = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; 70 | 71 | for (var i = 0; i < length; i++) 72 | text += possible.charAt(Math.floor(Math.random() * possible.length)); 73 | 74 | resolve(text); 75 | }); 76 | 77 | (async function main() { 78 | try { 79 | await console.log(""); 80 | await console.log(""); 81 | const user_agent = await UA.returnUA(); 82 | for (let index = 0; index < accountCount; index++) { 83 | 84 | const username = UsernameGenerator.generateUsername(); 85 | await console.log( 86 | "[" + 87 | " " + 88 | moment().format("HH:mm:ss") + 89 | " " + 90 | "]" + 91 | " " + 92 | "=>" + 93 | " " + 94 | colors.FgGreen, 95 | "generate username :" + " " + username, 96 | colors.Reset 97 | ); 98 | if (username.includes("-") !== true) { 99 | await console.log( 100 | "[" + 101 | " " + 102 | moment().format("HH:mm:ss") + 103 | " " + 104 | "]" + 105 | " " + 106 | "=>" + 107 | " " + 108 | colors.FgGreen, 109 | "Try to register", 110 | colors.Reset 111 | ); 112 | await delay(delaYY); //normally and safe 600000 113 | const Cookie = await getCookie.functionGetCookie(user_agent); 114 | const csrfToken = Cookie[7].split(';')[0]; 115 | const rur = Cookie[8].split(';')[0]; 116 | const mid = Cookie[9].split(';')[0]; 117 | const regist = await functionRegister(username, csrfToken, rur, mid, user_agent); 118 | 119 | if (regist.account_created === true) { 120 | await console.log( 121 | "[" + 122 | " " + 123 | moment().format("HH:mm:ss") + 124 | " " + 125 | "]" + 126 | " " + 127 | "=>" + 128 | " " + 129 | colors.FgGreen, 130 | `Email server : generator.email/aminudin.me/${username}`, 131 | colors.Reset 132 | ); 133 | await console.log( 134 | "[" + 135 | " " + 136 | moment().format("HH:mm:ss") + 137 | " " + 138 | "]" + 139 | " " + 140 | "=>" + 141 | " " + 142 | colors.FgGreen, 143 | "Success Register", 144 | colors.Reset 145 | ); 146 | await console.log( 147 | "[" + 148 | " " + 149 | moment().format("HH:mm:ss") + 150 | " " + 151 | "]" + 152 | " " + 153 | "=>" + 154 | " " + 155 | colors.FgGreen, 156 | "Message : ", 157 | regist, 158 | colors.Reset 159 | ); 160 | if (regist.account_created) { 161 | await console.log( 162 | "[" + 163 | " " + 164 | moment().format("HH:mm:ss") + 165 | " " + 166 | "]" + 167 | " " + 168 | "=>" + 169 | " " + 170 | colors.FgGreen, 171 | `Try to login with account : ${username}`, 172 | colors.Reset 173 | ); 174 | await delay(10000); 175 | const LoginToDO = await login.functionLogin(username, "berak321amin", csrfToken, rur, mid, user_agent); 176 | const getCookies = await login.functionGetCookie(username, "berak321amin", csrfToken, rur, mid, user_agent); 177 | 178 | if (LoginToDO.authenticated === true) { 179 | await console.log( 180 | "[" + 181 | " " + 182 | moment().format("HH:mm:ss") + 183 | " " + 184 | "]" + 185 | " " + 186 | "=>" + 187 | " " + 188 | colors.FgGreen, 189 | `Login success!`, 190 | colors.Reset 191 | ); 192 | if (choiseDb.toLowerCase() === 'y') { 193 | const post = { 194 | username: username, 195 | password: "berak321amin", 196 | account_id: regist.user_id 197 | }; 198 | await console.log( 199 | "[" + 200 | " " + 201 | moment().format("HH:mm:ss") + 202 | " " + 203 | "]" + 204 | " " + 205 | "=>" + 206 | " " + 207 | colors.FgGreen, 208 | "insert to database", 209 | colors.Reset 210 | ); 211 | delay(5000); 212 | const query = await connection.query( 213 | "INSERT INTO user SET ?", 214 | post, 215 | function (error, results, fields) { 216 | if (error) throw error; 217 | // Neat! 218 | } 219 | ); 220 | await console.log( 221 | "[" + 222 | " " + 223 | moment().format("HH:mm:ss") + 224 | " " + 225 | "]" + 226 | " " + 227 | "=>" + 228 | " " + 229 | colors.FgGreen, 230 | "Success!", 231 | query.values, 232 | colors.Reset 233 | ); 234 | } else { 235 | await console.log( 236 | "[" + 237 | " " + 238 | moment().format("HH:mm:ss") + 239 | " " + 240 | "]" + 241 | " " + 242 | "=>" + 243 | " " + 244 | colors.FgGreen, 245 | "Format account : username|password|account_id", 246 | colors.Reset 247 | ); 248 | await console.log( 249 | "[" + 250 | " " + 251 | moment().format("HH:mm:ss") + 252 | " " + 253 | "]" + 254 | " " + 255 | "=>" + 256 | " " + 257 | colors.FgGreen, 258 | "Create file : result_account.txt", 259 | colors.Reset 260 | ); 261 | const post = { 262 | username: username, 263 | password: "berak321amin", 264 | account_id: regist.user_id 265 | }; 266 | await fs.appendFile( 267 | "result_account.txt", 268 | `${post.username}|${post.password}|${post.account_id}\n`, 269 | "utf-8" 270 | ); 271 | await console.log( 272 | "[" + 273 | " " + 274 | moment().format("HH:mm:ss") + 275 | " " + 276 | "]" + 277 | " " + 278 | "=>" + 279 | " " + 280 | colors.FgGreen, 281 | "Success!", 282 | colors.Reset 283 | ); 284 | } 285 | 286 | 287 | if (getCookies.extensions.join().split(',')[9] !== undefined) { 288 | const shbid = getCookie.extensions.join().split(',')[1]; 289 | const shbts = getCookie.extensions.join().split(',')[3]; 290 | const rur = getCookies.extensions.join().split(',')[5]; 291 | const ds = getCookies.extensions.join().split(',')[7]; 292 | const sessionId = getCookies.extensions.join().split(',')[9]; 293 | const post = { 294 | username: username, 295 | password: "berak321amin" 296 | } 297 | await delay(1000); 298 | const updateProf = await updateProfile.updateProfile(csrfToken, mid, ds, rur, sessionId, shbidddd, shbtsss, username, `${username}@aminudin.me`, user_agent); 299 | // if (follow.status === 'ok') { 300 | // console.log(follow, post.username) 301 | // } 302 | console.log(updateProf); 303 | } else { 304 | const rur = getCookies.extensions.join().split(',')[1]; 305 | const ds = getCookies.extensions.join().split(',')[3]; 306 | const sessionId = getCookies.extensions.join().split(',')[5]; 307 | const post = { 308 | username: username, 309 | password: "berak321amin" 310 | } 311 | 312 | const shbidddd = ''; 313 | const shbtsss = ''; 314 | await delay(1000); 315 | const updateProf = await updateProfile.updateProfile(csrfToken, mid, ds, rur, sessionId, shbidddd, shbtsss, username, `${username}@aminudin.me`, user_agent); 316 | // if (follow.status === 'ok') { 317 | // console.log(follow, post.username) 318 | // } 319 | console.log(updateProf); 320 | } 321 | 322 | } 323 | } 324 | 325 | 326 | await console.log(""); 327 | await console.log(""); 328 | } else { 329 | await console.log( 330 | "[" + 331 | " " + 332 | moment().format("HH:mm:ss") + 333 | " " + 334 | "]" + 335 | " " + 336 | "=>" + 337 | " " + 338 | colors.FgRed, 339 | "Failed Register", 340 | colors.Reset 341 | ); 342 | await console.log( 343 | "[" + 344 | " " + 345 | moment().format("HH:mm:ss") + 346 | " " + 347 | "]" + 348 | " " + 349 | "=>" + 350 | " " + 351 | colors.FgGreen, 352 | "Message : ", 353 | regist, 354 | colors.Reset 355 | ); 356 | await console.log(""); 357 | await console.log(""); 358 | } 359 | } else { 360 | await console.log( 361 | "[" + 362 | " " + 363 | moment().format("HH:mm:ss") + 364 | " " + 365 | "]" + 366 | " " + 367 | "=>" + 368 | " " + 369 | colors.FgRed, 370 | "Failed", 371 | colors.Reset 372 | ); 373 | await console.log( 374 | "[" + 375 | " " + 376 | moment().format("HH:mm:ss") + 377 | " " + 378 | "]" + 379 | " " + 380 | "=>" + 381 | " " + 382 | colors.FgRed, 383 | "Message : username include character not allowed for register", 384 | colors.Reset 385 | ); 386 | await console.log(""); 387 | await console.log(""); 388 | } 389 | } 390 | } catch (e) { 391 | console.log(e); 392 | } 393 | })(); 394 | -------------------------------------------------------------------------------- /autoFollowers.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch'); 2 | const mysql = require("mysql"); 3 | const delay = require('delay'); 4 | const login = require("./lib/login"); 5 | const Follow = require("./lib/follow"); 6 | const getCookie = require('./lib/getCookie'); 7 | const moment = require('moment'); 8 | const colors = require("./lib/colors"); 9 | const UA = require('./lib/utils/uaGen'); 10 | const getUserId = require('./lib/getUSerId'); 11 | const readlineSync = require('readline-sync'); 12 | require('dotenv').config(); 13 | 14 | const connection = mysql.createConnection({ 15 | host: process.env.DB_HOST, 16 | user: process.env.DB_USER, 17 | password: process.env.DB_PASSWORD, 18 | database: process.env.DB_NAME 19 | }); 20 | 21 | console.log(""); 22 | console.log(""); 23 | const username = readlineSync.question('Masukan username target : '); 24 | console.log(""); 25 | console.log(""); 26 | 27 | 28 | (async () => { 29 | const newData = []; 30 | const userId = await getUserId.functionGetUserId(username); 31 | const user_agent = await UA.returnUA(); 32 | 33 | 34 | await connection.query( 35 | `SELECT * FROM user`, 36 | function (error, results, fields) { 37 | if (error) return 'error'; 38 | delay(5000) 39 | results.map(test => { 40 | newData.push(test); 41 | }) 42 | } 43 | ); 44 | 45 | await delay(5000); 46 | for (let index = 0; index < newData.length; index++) { 47 | const element = newData[index]; 48 | await delay(2000) 49 | const Cookie = await getCookie.functionGetCookie(user_agent); 50 | const csrfToken = Cookie[7].split(';')[0]; 51 | const rurz = Cookie[8].split(';')[0]; 52 | const mid = Cookie[9].split(';')[0]; 53 | const LoginToDO = await login.functionLogin(element.username, element.password, csrfToken, rurz, mid, user_agent); 54 | const getCookies = await login.functionGetCookie(element.username, element.password, csrfToken, rurz, mid, user_agent); 55 | console.log(getCookies.extensions) 56 | if (LoginToDO.authenticated === true) { 57 | if (getCookies.extensions.join().split(',')[9] !== undefined) { 58 | const shbid = getCookie.extensions.join().split(',')[1]; 59 | const shbts = getCookie.extensions.join().split(',')[3]; 60 | const rur = getCookies.extensions.join().split(',')[5]; 61 | const ds = getCookies.extensions.join().split(',')[7]; 62 | const sessionId = getCookies.extensions.join().split(',')[9]; 63 | const post = { 64 | username: element.username, 65 | password: element.password 66 | } 67 | await delay(1000); 68 | const follow = await Follow.functionFollow(csrfToken, mid, ds, rur, sessionId, shbid, shbts, username, userId, user_agent); 69 | if (follow.status === 'ok') { 70 | console.log(follow, post.username) 71 | } 72 | } else { 73 | const rur = getCookies.extensions.join().split(',')[1]; 74 | const ds = getCookies.extensions.join().split(',')[3]; 75 | const sessionId = getCookies.extensions.join().split(',')[5]; 76 | const post = { 77 | username: element.username, 78 | password: element.password 79 | } 80 | 81 | const shbidddd = ''; 82 | const shbtsss = ''; 83 | await delay(1000); 84 | const follow = await Follow.functionFollow(csrfToken, mid, ds, rur, sessionId, shbidddd, shbtsss, username, userId, user_agent); 85 | if (follow.status === 'ok') { 86 | console.log(follow, post.username) 87 | } 88 | } 89 | 90 | 91 | 92 | } 93 | 94 | } 95 | 96 | 97 | })(); 98 | -------------------------------------------------------------------------------- /autoFollowersByTxt.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch'); 2 | const mysql = require("mysql"); 3 | const delay = require('delay'); 4 | const login = require("./lib/login"); 5 | const Follow = require("./lib/follow"); 6 | const getCookie = require('./lib/getCookie'); 7 | const getUserId = require('./lib/getUSerId'); 8 | const moment = require('moment'); 9 | const colors = require("./lib/colors"); 10 | const UA = require('./lib/utils/uaGen'); 11 | const readlineSync = require('readline-sync'); 12 | const fs = require("fs"); 13 | require('dotenv').config(); 14 | 15 | console.log(""); 16 | console.log(""); 17 | const username = readlineSync.question('Masukan username target : '); 18 | const fileName = readlineSync.question('Masukan nama file : '); 19 | const delimiter = readlineSync.question('Masukan delimiter ex. | : '); 20 | const delayy = readlineSync.question('Masukan delay : '); 21 | console.log(""); 22 | console.log(""); 23 | 24 | (async () => { 25 | const userId = await getUserId.functionGetUserId(username); 26 | const user_agent = await UA.returnUA(); 27 | await console.log( 28 | "[" + 29 | " " + 30 | moment().format("HH:mm:ss") + 31 | " " + 32 | "]" + 33 | " " + 34 | "=>" + 35 | " " + 36 | colors.FgGreen, 37 | "User ID target :" + " " + userId, 38 | colors.Reset 39 | ); 40 | 41 | await fs.readFile(fileName, async function (err, data) { 42 | if (err) throw err; 43 | const array = data 44 | .toString() 45 | .replace(/\r\n|\r|\n/g, " ") 46 | .split(" "); 47 | 48 | for (let igAccount in array) { 49 | const element = { 50 | username: array[igAccount].split(delimiter)[0], 51 | password: array[igAccount].split(delimiter)[1] 52 | } 53 | await delay(delayy) 54 | const Cookie = await getCookie.functionGetCookie(user_agent); 55 | const csrfToken = Cookie[7].split(';')[0]; 56 | const rurz = Cookie[8].split(';')[0]; 57 | const mid = Cookie[9].split(';')[0]; 58 | const LoginToDO = await login.functionLogin(element.username, element.password, csrfToken, rurz, mid, user_agent); 59 | const getCookies = await login.functionGetCookie(element.username, element.password, csrfToken, rurz, mid, user_agent); 60 | console.log(getCookies.extensions) 61 | if (LoginToDO.authenticated === true) { 62 | if (getCookies.extensions.join().split(',')[9] !== undefined) { 63 | const shbid = getCookie.extensions.join().split(',')[1]; 64 | const shbts = getCookie.extensions.join().split(',')[3]; 65 | const rur = getCookies.extensions.join().split(',')[5]; 66 | const ds = getCookies.extensions.join().split(',')[7]; 67 | const sessionId = getCookies.extensions.join().split(',')[9]; 68 | const post = { 69 | username: element.username, 70 | password: element.password 71 | } 72 | await delay(1000); 73 | const follow = await Follow.functionFollow(csrfToken, mid, ds, rur, sessionId, shbid, shbts, username, userId, user_agent); 74 | if (follow.status === 'ok') { 75 | console.log(follow, post.username) 76 | } 77 | } else { 78 | const rur = getCookies.extensions.join().split(',')[1]; 79 | const ds = getCookies.extensions.join().split(',')[3]; 80 | const sessionId = getCookies.extensions.join().split(',')[5]; 81 | const post = { 82 | username: element.username, 83 | password: element.password 84 | }; 85 | 86 | const shbidddd = ''; 87 | const shbtsss = ''; 88 | 89 | await delay(1000); 90 | const follow = await Follow.functionFollow(csrfToken, mid, ds, rur, sessionId, shbidddd, shbtsss, username, userId, user_agent); 91 | if (follow.status === 'ok') { 92 | console.log(follow, post.username) 93 | } 94 | } 95 | } 96 | } 97 | }) 98 | 99 | 100 | })(); 101 | -------------------------------------------------------------------------------- /lib/attemp.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch'); 2 | const { URLSearchParams } = require("url"); 3 | 4 | const functionRegister = (username, csrf, rur, mid, user_agent) => 5 | new Promise((resolve, reject) => { 6 | const params = new URLSearchParams(); 7 | params.append("email", `${username}@aminudin.me`); 8 | params.append("password", "berak321amin"); 9 | params.append("username", username); 10 | params.append("first_name", username); 11 | params.append("opt_into_one_tap", false); 12 | 13 | fetch("https://www.instagram.com/accounts/web_create_ajax/attempt/", { 14 | method: "POST", 15 | body: params, 16 | headers: { 17 | "cache-Control": "no-cache", 18 | "content-type": "application/x-www-form-urlencoded", 19 | cookie: `${csrf}; ${rur}; ${mid}`, 20 | referer: "https://www.instagram.com/", 21 | "user-agent": user_agent, 22 | "x-csrftoken": csrf.split('=')[1] 23 | } 24 | }) 25 | .then(res => res.json()) 26 | .then(text => resolve(text)) 27 | .catch(err => reject(err)); 28 | }); 29 | 30 | module.exports = { 31 | functionRegister 32 | } -------------------------------------------------------------------------------- /lib/colors.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | Reset: "\x1b[0m", 3 | Bright: "\x1b[1m", 4 | Dim: "\x1b[2m", 5 | Underscore: "\x1b[4m", 6 | Blink: "\x1b[5m", 7 | Reverse: "\x1b[7m", 8 | Hidden: "\x1b[8m", 9 | 10 | FgBlack: "\x1b[30m", 11 | FgRed: "\x1b[31m", 12 | FgGreen: "\x1b[32m", 13 | FgYellow: "\x1b[33m", 14 | FgBlue: "\x1b[34m", 15 | FgMagenta: "\x1b[35m", 16 | FgCyan: "\x1b[36m", 17 | FgWhite: "\x1b[37m", 18 | 19 | BgBlack: "\x1b[40m", 20 | BgRed: "\x1b[41m", 21 | BgGreen: "\x1b[42m", 22 | BgYellow: "\x1b[43m", 23 | BgBlue: "\x1b[44m", 24 | BgMagenta: "\x1b[45m", 25 | BgCyan: "\x1b[46m", 26 | BgWhite: "\x1b[47m" 27 | }; 28 | -------------------------------------------------------------------------------- /lib/follow.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch'); 2 | require('dotenv').config(); 3 | 4 | 5 | const functionFollow = (csrf, mid, ds, rur, sessionId, shbid, shbts, username, userId, user_agent) => new Promise((resolve, reject) => { 6 | fetch(`https://www.instagram.com/web/friendships/${userId}/follow/`, 7 | { 8 | "headers": { 9 | // "accept": "*/*", 10 | // "accept-language": 11 | // "id-ID,id;q=0.9,en-US;q=0.8,en;q=0.7", 12 | "content-type": "application/x-www-form-urlencoded", 13 | "x-csrftoken": csrf, 14 | "x-ig-app-id": "936619743392459", 15 | "x-instagram-ajax": "6cb19191eaa3", 16 | "x-requested-with": "XMLHttpRequest", 17 | "cookie": `mid=${mid}; csrftoken=${csrf}; ${shbid ? shbid : null}; ${shbts ? shbts : null} ${ds}; ${sessionId}; ${rur};`, 18 | "user-agent": `${user_agent}`, 19 | }, 20 | "referrer": `https://www.instagram.com/${username}/`, 21 | "referrerPolicy": "no-referrer-when-downgrade", 22 | "body": null, 23 | "method": "POST" 24 | }) 25 | .then(res => res.json()) 26 | .then(res => { 27 | resolve(res) 28 | }) 29 | .catch(err => { 30 | reject(err) 31 | }) 32 | }); 33 | 34 | module.exports = { 35 | functionFollow 36 | } -------------------------------------------------------------------------------- /lib/getCookie.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch'); 2 | const tough = require('tough-cookie'); 3 | const Cookie = tough.Cookie; 4 | 5 | 6 | const functionGetCookie = (user_agent) => 7 | new Promise((resolve, reject) => { 8 | var text = ""; 9 | var possible = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; 10 | 11 | for (var i = 0; i < 32; i++) 12 | text += possible.charAt(Math.floor(Math.random() * possible.length)); 13 | 14 | fetch("https://www.instagram.com/", { 15 | method: "GET", 16 | headers: { 17 | // cookie: `csrftoken=${text}; rur=FRC; mid=XSGF3AALAAEqBPXXdL8CThfwPkkj`, 18 | "user-agent": user_agent 19 | // "x-csrftoken": text 20 | } 21 | }) 22 | .then(res => resolve(res.headers.raw()['set-cookie'])) 23 | .catch(err => reject(err)); 24 | }); 25 | 26 | 27 | module.exports = { 28 | functionGetCookie 29 | } 30 | -------------------------------------------------------------------------------- /lib/getFollowers.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch'); 2 | require('dotenv').config(); 3 | 4 | 5 | const functionGetFollowers = (csrf, mid, ds, rur, sessionId, username) => new Promise((resolve, reject) => { 6 | 7 | fetch(`https://www.instagram.com/${username}/followers/`, 8 | { 9 | "headers": { 10 | "accept": "*/*", 11 | "accept-language": 12 | "id-ID,id;q=0.9,en-US;q=0.8,en;q=0.7", 13 | "content-type": "application/x-www-form-urlencoded", 14 | "x-csrftoken": csrf, 15 | "cookie": `${mid}; ${csrf}; ${ds}; ${sessionId}; ${rur};`, 16 | }, 17 | "body": null, 18 | "method": "GET" 19 | }) 20 | .then(res => res.text()) 21 | .then(res => resolve(res)) 22 | .catch(err => { 23 | reject(err) 24 | }) 25 | }); 26 | 27 | module.exports = { 28 | functionGetFollowers 29 | } -------------------------------------------------------------------------------- /lib/getUSerId.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch'); 2 | require('dotenv').config(); 3 | 4 | 5 | const getString = (start, end, all) => { 6 | const regex = new RegExp(`${start}(.*?)${end}`); 7 | const str = all 8 | const result = regex.exec(str); 9 | return result; 10 | } 11 | 12 | 13 | 14 | const functionGetUserId = (username) => new Promise((resolve, reject) => { 15 | 16 | fetch(`https://www.instagram.com/${username}`, 17 | { 18 | "headers": { 19 | "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3", 20 | "accept-language": 21 | "id-ID,id;q=0.9,en-US;q=0.8,en;q=0.7", 22 | "cookie": `rur=FRC;`, 23 | "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" 24 | }, 25 | "method": "GET" 26 | }) 27 | .then(res => res.text()) 28 | .then(res => { 29 | const userId = getString('"id":"', '",', res) 30 | resolve(userId[1]) 31 | }) 32 | .catch(err => { 33 | reject(err) 34 | }) 35 | }); 36 | 37 | module.exports = { 38 | functionGetUserId 39 | } -------------------------------------------------------------------------------- /lib/login.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch'); 2 | const tough = require('tough-cookie'); 3 | const Cookie = tough.Cookie; 4 | const { URLSearchParams } = require("url"); 5 | 6 | const functionLogin = (user, pass, csrf, rur, mid, user_agent) => 7 | new Promise((resolve, reject) => { 8 | 9 | const params = new URLSearchParams(); 10 | params.append("username", user); 11 | params.append("password", pass); 12 | params.append("queryParams", `{"source":"auth_switcher"}`); 13 | params.append("optIntoOneTap", false); 14 | 15 | fetch("https://www.instagram.com/accounts/login/ajax/", { 16 | method: "POST", 17 | body: params, 18 | headers: { 19 | "cache-Control": "no-cache", 20 | "content-type": "application/x-www-form-urlencoded", 21 | cookie: `${csrf}; ${rur}; ${mid}`, 22 | referer: 23 | "https://www.instagram.com/accounts/login/?source=auth_switcher", 24 | "user-agent": user_agent, 25 | "x-csrftoken": csrf.split('=')[1] 26 | } 27 | }) 28 | .then(res => 29 | res.json() 30 | ) 31 | .then(text => { 32 | resolve(text) 33 | }) 34 | .catch(err => reject(err)); 35 | }); 36 | 37 | const functionGetCookie = (user, pass, csrf, rur, mid, user_agent) => 38 | new Promise((resolve, reject) => { 39 | 40 | const params = new URLSearchParams(); 41 | params.append("username", user); 42 | params.append("password", pass); 43 | params.append("queryParams", `{"source":"auth_switcher"}`); 44 | params.append("optIntoOneTap", false); 45 | 46 | fetch("https://www.instagram.com/accounts/login/ajax/", { 47 | method: "POST", 48 | body: params, 49 | headers: { 50 | "cache-Control": "no-cache", 51 | "content-type": "application/x-www-form-urlencoded", 52 | cookie: `${csrf}; ${rur}; ${mid}`, 53 | referer: 54 | "https://www.instagram.com/accounts/login/?source=auth_switcher", 55 | "user-agent": user_agent, 56 | "x-csrftoken": csrf.split('=')[1] 57 | } 58 | }) 59 | .then(res => resolve(Cookie.parse(res.headers.get('set-cookie')))) 60 | .catch(err => reject(err)); 61 | }); 62 | 63 | 64 | module.exports = { 65 | functionLogin, 66 | functionGetCookie 67 | 68 | } 69 | -------------------------------------------------------------------------------- /lib/profileEdit.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch'); 2 | require('dotenv').config(); 3 | 4 | 5 | const updateProfile = (csrf, mid, ds, rur, sessionId, shbid, shbts, username, email, user_agent) => new Promise((resolve, reject) => { 6 | 7 | fetch(`https://www.instagram.com/accounts/edit/`, 8 | { 9 | "headers": { 10 | "accept": "*/*", 11 | "accept-language": 12 | "id-ID,id;q=0.9,en-US;q=0.8,en;q=0.7", 13 | "content-type": "application/x-www-form-urlencoded", 14 | "x-csrftoken": csrf, 15 | "x-ig-app-id": "936619743392459", 16 | "x-instagram-ajax": "6cb19191eaa3", 17 | "x-requested-with": "XMLHttpRequest", 18 | "cookie": `mid=${mid}; csrftoken=${csrf}; ${shbid ? shbid : null}; ${shbts ? shbts : null} ${ds}; ${sessionId}; ${rur};`, 19 | "user-agent": user_agent, 20 | }, 21 | "referrer": `https://www.instagram.com/accounts/edit/`, 22 | "referrerPolicy": "no-referrer-when-downgrade", 23 | "body": `first_name=${username.replace(/[0-9]/g, '')}&email=${email}&username=${username}&phone_number=&biography=Hello%20my%20name%20is%20${username.replace(/[0-9]/g, '')}&external_url=&chaining_enabled=on`, 24 | "method": "POST" 25 | }) 26 | .then(res => res.json()) 27 | .then(res => resolve(res)) 28 | .catch(err => { 29 | reject(err) 30 | }) 31 | }); 32 | 33 | module.exports = { 34 | updateProfile 35 | } -------------------------------------------------------------------------------- /lib/utils/uaGen.js: -------------------------------------------------------------------------------- 1 | const UserAgent = require('user-agents'); 2 | const userAgent = new UserAgent({ deviceCategory: 'desktop' }); 3 | 4 | const returnUA = async () => new Promise((resolve, rejected) => { 5 | resolve(userAgent.toString()) 6 | }); 7 | 8 | module.exports = { 9 | returnUA 10 | } -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "instagram-tools", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@sindresorhus/is": { 8 | "version": "0.14.0", 9 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", 10 | "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" 11 | }, 12 | "@szmarczak/http-timer": { 13 | "version": "1.1.2", 14 | "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", 15 | "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", 16 | "requires": { 17 | "defer-to-connect": "1.0.2" 18 | } 19 | }, 20 | "abbrev": { 21 | "version": "1.1.1", 22 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", 23 | "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" 24 | }, 25 | "agent-base": { 26 | "version": "4.2.1", 27 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", 28 | "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", 29 | "requires": { 30 | "es6-promisify": "5.0.0" 31 | } 32 | }, 33 | "ajv": { 34 | "version": "6.10.0", 35 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", 36 | "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", 37 | "requires": { 38 | "fast-deep-equal": "2.0.1", 39 | "fast-json-stable-stringify": "2.0.0", 40 | "json-schema-traverse": "0.4.1", 41 | "uri-js": "4.2.2" 42 | } 43 | }, 44 | "ansi-escapes": { 45 | "version": "3.2.0", 46 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", 47 | "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" 48 | }, 49 | "ansi-regex": { 50 | "version": "3.0.0", 51 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 52 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" 53 | }, 54 | "ansi-styles": { 55 | "version": "3.2.1", 56 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 57 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 58 | "requires": { 59 | "color-convert": "1.9.3" 60 | } 61 | }, 62 | "asn1": { 63 | "version": "0.2.4", 64 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", 65 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", 66 | "requires": { 67 | "safer-buffer": "2.1.2" 68 | } 69 | }, 70 | "assert-plus": { 71 | "version": "1.0.0", 72 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 73 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" 74 | }, 75 | "async-file": { 76 | "version": "2.0.2", 77 | "resolved": "https://registry.npmjs.org/async-file/-/async-file-2.0.2.tgz", 78 | "integrity": "sha1-Aq0HhWrDcX6DayCuxaTP4AxG3yM=", 79 | "requires": { 80 | "rimraf": "2.6.3" 81 | } 82 | }, 83 | "asynckit": { 84 | "version": "0.4.0", 85 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 86 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 87 | }, 88 | "aws-sign2": { 89 | "version": "0.7.0", 90 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 91 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" 92 | }, 93 | "aws4": { 94 | "version": "1.8.0", 95 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", 96 | "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" 97 | }, 98 | "balanced-match": { 99 | "version": "1.0.0", 100 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 101 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" 102 | }, 103 | "bcrypt-pbkdf": { 104 | "version": "1.0.2", 105 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 106 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", 107 | "requires": { 108 | "tweetnacl": "0.14.5" 109 | } 110 | }, 111 | "bignumber.js": { 112 | "version": "4.1.0", 113 | "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-4.1.0.tgz", 114 | "integrity": "sha512-eJzYkFYy9L4JzXsbymsFn3p54D+llV27oTQ+ziJG7WFRheJcNZilgVXMG0LoZtlQSKBsJdWtLFqOD0u+U0jZKA==" 115 | }, 116 | "bluebird": { 117 | "version": "3.5.4", 118 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.4.tgz", 119 | "integrity": "sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==" 120 | }, 121 | "brace-expansion": { 122 | "version": "1.1.11", 123 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 124 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 125 | "requires": { 126 | "balanced-match": "1.0.0", 127 | "concat-map": "0.0.1" 128 | } 129 | }, 130 | "cacheable-request": { 131 | "version": "6.1.0", 132 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", 133 | "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", 134 | "requires": { 135 | "clone-response": "1.0.2", 136 | "get-stream": "5.1.0", 137 | "http-cache-semantics": "4.0.3", 138 | "keyv": "3.1.0", 139 | "lowercase-keys": "2.0.0", 140 | "normalize-url": "4.3.0", 141 | "responselike": "1.0.2" 142 | }, 143 | "dependencies": { 144 | "get-stream": { 145 | "version": "5.1.0", 146 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", 147 | "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", 148 | "requires": { 149 | "pump": "3.0.0" 150 | } 151 | }, 152 | "lowercase-keys": { 153 | "version": "2.0.0", 154 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", 155 | "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" 156 | } 157 | } 158 | }, 159 | "camelcase": { 160 | "version": "4.1.0", 161 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", 162 | "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" 163 | }, 164 | "camelcase-keys": { 165 | "version": "4.2.0", 166 | "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", 167 | "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", 168 | "requires": { 169 | "camelcase": "4.1.0", 170 | "map-obj": "2.0.0", 171 | "quick-lru": "1.1.0" 172 | } 173 | }, 174 | "caseless": { 175 | "version": "0.12.0", 176 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 177 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" 178 | }, 179 | "chalk": { 180 | "version": "2.4.2", 181 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 182 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 183 | "requires": { 184 | "ansi-styles": "3.2.1", 185 | "escape-string-regexp": "1.0.5", 186 | "supports-color": "5.5.0" 187 | } 188 | }, 189 | "chardet": { 190 | "version": "0.7.0", 191 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 192 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" 193 | }, 194 | "cli-cursor": { 195 | "version": "2.1.0", 196 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 197 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 198 | "requires": { 199 | "restore-cursor": "2.0.0" 200 | } 201 | }, 202 | "cli-width": { 203 | "version": "2.2.0", 204 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 205 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" 206 | }, 207 | "clone": { 208 | "version": "1.0.4", 209 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", 210 | "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" 211 | }, 212 | "clone-response": { 213 | "version": "1.0.2", 214 | "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", 215 | "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", 216 | "requires": { 217 | "mimic-response": "1.0.1" 218 | } 219 | }, 220 | "cls-bluebird": { 221 | "version": "1.1.3", 222 | "resolved": "https://registry.npmjs.org/cls-bluebird/-/cls-bluebird-1.1.3.tgz", 223 | "integrity": "sha1-syY8EaCJsDlhhaG3q5BNkPAq1Cg=", 224 | "requires": { 225 | "is-bluebird": "1.0.2", 226 | "shimmer": "1.2.1" 227 | } 228 | }, 229 | "color-convert": { 230 | "version": "1.9.3", 231 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 232 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 233 | "requires": { 234 | "color-name": "1.1.3" 235 | } 236 | }, 237 | "color-name": { 238 | "version": "1.1.3", 239 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 240 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 241 | }, 242 | "combined-stream": { 243 | "version": "1.0.7", 244 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", 245 | "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", 246 | "requires": { 247 | "delayed-stream": "1.0.0" 248 | } 249 | }, 250 | "concat-map": { 251 | "version": "0.0.1", 252 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 253 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 254 | }, 255 | "core-util-is": { 256 | "version": "1.0.2", 257 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 258 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 259 | }, 260 | "cron": { 261 | "version": "1.7.1", 262 | "resolved": "https://registry.npmjs.org/cron/-/cron-1.7.1.tgz", 263 | "integrity": "sha512-gmMB/pJcqUVs/NklR1sCGlNYM7TizEw+1gebz20BMc/8bTm/r7QUp3ZPSPlG8Z5XRlvb7qhjEjq/+bdIfUCL2A==", 264 | "requires": { 265 | "moment-timezone": "0.5.25" 266 | } 267 | }, 268 | "crypto-js": { 269 | "version": "3.1.8", 270 | "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.8.tgz", 271 | "integrity": "sha1-cV8HC/YBTyrpkqmLOSkli3E/CNU=" 272 | }, 273 | "dashdash": { 274 | "version": "1.14.1", 275 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 276 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 277 | "requires": { 278 | "assert-plus": "1.0.0" 279 | } 280 | }, 281 | "debug": { 282 | "version": "3.2.6", 283 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", 284 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", 285 | "requires": { 286 | "ms": "2.1.1" 287 | } 288 | }, 289 | "decompress-response": { 290 | "version": "3.3.0", 291 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", 292 | "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", 293 | "requires": { 294 | "mimic-response": "1.0.1" 295 | } 296 | }, 297 | "defer-to-connect": { 298 | "version": "1.0.2", 299 | "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz", 300 | "integrity": "sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==" 301 | }, 302 | "delay": { 303 | "version": "4.2.0", 304 | "resolved": "https://registry.npmjs.org/delay/-/delay-4.2.0.tgz", 305 | "integrity": "sha512-EBX+pZE4qSowGAMr6M0cLiPRQu2Kus/qTNLO7c+EoXpTPJH9ApFdHX+cQU1WsSHXgwhLyidfZ5Hxuq6ctWhSdw==" 306 | }, 307 | "delayed-stream": { 308 | "version": "1.0.0", 309 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 310 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" 311 | }, 312 | "dns-packet": { 313 | "version": "5.2.1", 314 | "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.2.1.tgz", 315 | "integrity": "sha512-JHj2yJeKOqlxzeuYpN1d56GfhzivAxavNwHj9co3qptECel27B1rLY5PifJAvubsInX5pGLDjAHuCfCUc2Zv/w==", 316 | "requires": { 317 | "ip": "1.1.5" 318 | } 319 | }, 320 | "dns-socket": { 321 | "version": "4.2.0", 322 | "resolved": "https://registry.npmjs.org/dns-socket/-/dns-socket-4.2.0.tgz", 323 | "integrity": "sha512-4XuD3z28jht3jvHbiom6fAipgG5LkjYeDLrX5OH8cbl0AtzTyUUAxGckcW8T7z0pLfBBV5qOiuC4wUEohk6FrQ==", 324 | "requires": { 325 | "dns-packet": "5.2.1" 326 | } 327 | }, 328 | "docopt": { 329 | "version": "0.6.2", 330 | "resolved": "https://registry.npmjs.org/docopt/-/docopt-0.6.2.tgz", 331 | "integrity": "sha1-so6eIiDaXsSffqW7JKR3h0Be6xE=" 332 | }, 333 | "dot-json": { 334 | "version": "1.1.0", 335 | "resolved": "https://registry.npmjs.org/dot-json/-/dot-json-1.1.0.tgz", 336 | "integrity": "sha512-PiQZW9/C8xILPYK2bOye/cbPZrakNEkt28jFb8RlPCwsoMAHYYw9T8JoACxgttHL9Y2AmdqVvibbZJHtLgeqTQ==", 337 | "requires": { 338 | "docopt": "0.6.2", 339 | "underscore-keypath": "0.0.22" 340 | } 341 | }, 342 | "dotenv": { 343 | "version": "8.0.0", 344 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.0.0.tgz", 345 | "integrity": "sha512-30xVGqjLjiUOArT4+M5q9sYdvuR4riM6yK9wMcas9Vbp6zZa+ocC9dp6QoftuhTPhFAiLK/0C5Ni2nou/Bk8lg==" 346 | }, 347 | "duplexer3": { 348 | "version": "0.1.4", 349 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", 350 | "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" 351 | }, 352 | "ecc-jsbn": { 353 | "version": "0.1.2", 354 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 355 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", 356 | "requires": { 357 | "jsbn": "0.1.1", 358 | "safer-buffer": "2.1.2" 359 | } 360 | }, 361 | "end-of-stream": { 362 | "version": "1.4.1", 363 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", 364 | "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", 365 | "requires": { 366 | "once": "1.4.0" 367 | } 368 | }, 369 | "es6-denodeify": { 370 | "version": "0.1.5", 371 | "resolved": "https://registry.npmjs.org/es6-denodeify/-/es6-denodeify-0.1.5.tgz", 372 | "integrity": "sha1-MdTV/pxVA+ElRgQ5MQ4WoqPznB8=" 373 | }, 374 | "es6-promise": { 375 | "version": "4.2.6", 376 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.6.tgz", 377 | "integrity": "sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q==" 378 | }, 379 | "es6-promisify": { 380 | "version": "5.0.0", 381 | "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", 382 | "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", 383 | "requires": { 384 | "es6-promise": "4.2.6" 385 | } 386 | }, 387 | "escape-string-regexp": { 388 | "version": "1.0.5", 389 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 390 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" 391 | }, 392 | "extend": { 393 | "version": "3.0.2", 394 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 395 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" 396 | }, 397 | "external-editor": { 398 | "version": "3.0.3", 399 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", 400 | "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", 401 | "requires": { 402 | "chardet": "0.7.0", 403 | "iconv-lite": "0.4.24", 404 | "tmp": "0.0.33" 405 | } 406 | }, 407 | "extsprintf": { 408 | "version": "1.3.0", 409 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 410 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" 411 | }, 412 | "fast-deep-equal": { 413 | "version": "2.0.1", 414 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", 415 | "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" 416 | }, 417 | "fast-json-stable-stringify": { 418 | "version": "2.0.0", 419 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 420 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" 421 | }, 422 | "fetch-cookie": { 423 | "version": "0.7.2", 424 | "resolved": "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-0.7.2.tgz", 425 | "integrity": "sha512-Udm6ls1tV/pR9+EOjTYW2aGBadN03zOgVwu6grybxOg9ufACq7wE1HY/jh06DOykXH9FLYJC2RbUD3kJZcJBRg==", 426 | "requires": { 427 | "es6-denodeify": "0.1.5", 428 | "tough-cookie": "2.5.0" 429 | }, 430 | "dependencies": { 431 | "tough-cookie": { 432 | "version": "2.5.0", 433 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", 434 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", 435 | "requires": { 436 | "psl": "1.1.31", 437 | "punycode": "2.1.1" 438 | } 439 | } 440 | } 441 | }, 442 | "figures": { 443 | "version": "2.0.0", 444 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 445 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 446 | "requires": { 447 | "escape-string-regexp": "1.0.5" 448 | } 449 | }, 450 | "forever-agent": { 451 | "version": "0.6.1", 452 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 453 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" 454 | }, 455 | "form-data": { 456 | "version": "2.3.3", 457 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", 458 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", 459 | "requires": { 460 | "asynckit": "0.4.0", 461 | "combined-stream": "1.0.7", 462 | "mime-types": "2.1.23" 463 | } 464 | }, 465 | "fs.realpath": { 466 | "version": "1.0.0", 467 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 468 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" 469 | }, 470 | "get-stream": { 471 | "version": "4.1.0", 472 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", 473 | "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", 474 | "requires": { 475 | "pump": "3.0.0" 476 | } 477 | }, 478 | "getpass": { 479 | "version": "0.1.7", 480 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 481 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 482 | "requires": { 483 | "assert-plus": "1.0.0" 484 | } 485 | }, 486 | "glob": { 487 | "version": "7.1.4", 488 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", 489 | "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", 490 | "requires": { 491 | "fs.realpath": "1.0.0", 492 | "inflight": "1.0.6", 493 | "inherits": "2.0.3", 494 | "minimatch": "3.0.4", 495 | "once": "1.4.0", 496 | "path-is-absolute": "1.0.1" 497 | } 498 | }, 499 | "got": { 500 | "version": "9.6.0", 501 | "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", 502 | "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", 503 | "requires": { 504 | "@sindresorhus/is": "0.14.0", 505 | "@szmarczak/http-timer": "1.1.2", 506 | "cacheable-request": "6.1.0", 507 | "decompress-response": "3.3.0", 508 | "duplexer3": "0.1.4", 509 | "get-stream": "4.1.0", 510 | "lowercase-keys": "1.0.1", 511 | "mimic-response": "1.0.1", 512 | "p-cancelable": "1.1.0", 513 | "to-readable-stream": "1.0.0", 514 | "url-parse-lax": "3.0.0" 515 | } 516 | }, 517 | "har-schema": { 518 | "version": "2.0.0", 519 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", 520 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" 521 | }, 522 | "har-validator": { 523 | "version": "5.1.3", 524 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", 525 | "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", 526 | "requires": { 527 | "ajv": "6.10.0", 528 | "har-schema": "2.0.0" 529 | } 530 | }, 531 | "has-flag": { 532 | "version": "3.0.0", 533 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 534 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 535 | }, 536 | "http-cache-semantics": { 537 | "version": "4.0.3", 538 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", 539 | "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==" 540 | }, 541 | "http-signature": { 542 | "version": "1.2.0", 543 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", 544 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", 545 | "requires": { 546 | "assert-plus": "1.0.0", 547 | "jsprim": "1.4.1", 548 | "sshpk": "1.16.1" 549 | } 550 | }, 551 | "https-proxy-agent": { 552 | "version": "2.2.1", 553 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", 554 | "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", 555 | "requires": { 556 | "agent-base": "4.2.1", 557 | "debug": "3.2.6" 558 | } 559 | }, 560 | "iconv-lite": { 561 | "version": "0.4.24", 562 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 563 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 564 | "requires": { 565 | "safer-buffer": "2.1.2" 566 | } 567 | }, 568 | "inflight": { 569 | "version": "1.0.6", 570 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 571 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 572 | "requires": { 573 | "once": "1.4.0", 574 | "wrappy": "1.0.2" 575 | } 576 | }, 577 | "inherits": { 578 | "version": "2.0.3", 579 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 580 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 581 | }, 582 | "inquirer": { 583 | "version": "6.4.1", 584 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.4.1.tgz", 585 | "integrity": "sha512-/Jw+qPZx4EDYsaT6uz7F4GJRNFMRdKNeUZw3ZnKV8lyuUgz/YWRCSUAJMZSVhSq4Ec0R2oYnyi6b3d4JXcL5Nw==", 586 | "requires": { 587 | "ansi-escapes": "3.2.0", 588 | "chalk": "2.4.2", 589 | "cli-cursor": "2.1.0", 590 | "cli-width": "2.2.0", 591 | "external-editor": "3.0.3", 592 | "figures": "2.0.0", 593 | "lodash": "4.17.11", 594 | "mute-stream": "0.0.7", 595 | "run-async": "2.3.0", 596 | "rxjs": "6.5.2", 597 | "string-width": "2.1.1", 598 | "strip-ansi": "5.2.0", 599 | "through": "2.3.8" 600 | } 601 | }, 602 | "instagram-private-api": { 603 | "version": "0.6.8", 604 | "resolved": "https://registry.npmjs.org/instagram-private-api/-/instagram-private-api-0.6.8.tgz", 605 | "integrity": "sha1-KkfUSXytoXgt/xIFUl+9mB3RV8Q=", 606 | "requires": { 607 | "bluebird": "3.5.4", 608 | "camelcase-keys": "4.2.0", 609 | "crypto-js": "3.1.8", 610 | "is-stream": "1.1.0", 611 | "js-md5": "0.3.0", 612 | "json-bigint": "0.2.3", 613 | "lodash": "4.17.11", 614 | "node-cache": "3.2.1", 615 | "request": "2.88.0", 616 | "request-promise": "1.0.2", 617 | "socks5-https-client": "1.2.1", 618 | "touch": "1.0.0", 619 | "tough-cookie": "2.5.0", 620 | "tough-cookie-filestore": "0.0.1", 621 | "underscore.string": "3.3.5", 622 | "valid-url": "1.0.9" 623 | }, 624 | "dependencies": { 625 | "request-promise": { 626 | "version": "1.0.2", 627 | "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-1.0.2.tgz", 628 | "integrity": "sha1-FV9BBgjZJXwInB0LJvjY96iqhqE=", 629 | "requires": { 630 | "bluebird": "2.11.0", 631 | "cls-bluebird": "1.1.3", 632 | "lodash": "3.10.1", 633 | "request": "2.88.0" 634 | }, 635 | "dependencies": { 636 | "bluebird": { 637 | "version": "2.11.0", 638 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", 639 | "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=" 640 | }, 641 | "lodash": { 642 | "version": "3.10.1", 643 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", 644 | "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" 645 | } 646 | } 647 | }, 648 | "tough-cookie": { 649 | "version": "2.5.0", 650 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", 651 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", 652 | "requires": { 653 | "psl": "1.1.31", 654 | "punycode": "2.1.1" 655 | } 656 | } 657 | } 658 | }, 659 | "ip": { 660 | "version": "1.1.5", 661 | "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", 662 | "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" 663 | }, 664 | "ip-address": { 665 | "version": "5.8.9", 666 | "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.8.9.tgz", 667 | "integrity": "sha512-7ay355oMN34iXhET1BmCJVsHjOTSItEEIIpOs38qUC23AIhOy+xIPnkrTuEFjeLMrTJ7m8KMXWgWfy/2Vn9sDw==", 668 | "requires": { 669 | "jsbn": "1.1.0", 670 | "lodash.find": "4.6.0", 671 | "lodash.max": "4.0.1", 672 | "lodash.merge": "4.6.1", 673 | "lodash.padstart": "4.6.1", 674 | "lodash.repeat": "4.1.0", 675 | "sprintf-js": "1.1.0" 676 | }, 677 | "dependencies": { 678 | "jsbn": { 679 | "version": "1.1.0", 680 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", 681 | "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" 682 | } 683 | } 684 | }, 685 | "ip-regex": { 686 | "version": "2.1.0", 687 | "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", 688 | "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" 689 | }, 690 | "is-bluebird": { 691 | "version": "1.0.2", 692 | "resolved": "https://registry.npmjs.org/is-bluebird/-/is-bluebird-1.0.2.tgz", 693 | "integrity": "sha1-CWQ5Bg9KpBGr7hkUOoTWpVNG1uI=" 694 | }, 695 | "is-fullwidth-code-point": { 696 | "version": "2.0.0", 697 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 698 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" 699 | }, 700 | "is-ip": { 701 | "version": "3.1.0", 702 | "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", 703 | "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", 704 | "requires": { 705 | "ip-regex": "4.1.0" 706 | }, 707 | "dependencies": { 708 | "ip-regex": { 709 | "version": "4.1.0", 710 | "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.1.0.tgz", 711 | "integrity": "sha512-pKnZpbgCTfH/1NLIlOduP/V+WRXzC2MOz3Qo8xmxk8C5GudJLgK5QyLVXOSWy3ParAH7Eemurl3xjv/WXYFvMA==" 712 | } 713 | } 714 | }, 715 | "is-promise": { 716 | "version": "2.1.0", 717 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 718 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" 719 | }, 720 | "is-stream": { 721 | "version": "1.1.0", 722 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 723 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" 724 | }, 725 | "is-typedarray": { 726 | "version": "1.0.0", 727 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 728 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" 729 | }, 730 | "isstream": { 731 | "version": "0.1.2", 732 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 733 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" 734 | }, 735 | "js-md5": { 736 | "version": "0.3.0", 737 | "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.3.0.tgz", 738 | "integrity": "sha1-VqbXADe8plr/fxTKQ3JOR6eCXRI=" 739 | }, 740 | "jsbn": { 741 | "version": "0.1.1", 742 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 743 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" 744 | }, 745 | "json-bigint": { 746 | "version": "0.2.3", 747 | "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-0.2.3.tgz", 748 | "integrity": "sha1-EY1/b/HThlnxn5TPc+ZKdaP5iKg=", 749 | "requires": { 750 | "bignumber.js": "4.1.0" 751 | } 752 | }, 753 | "json-buffer": { 754 | "version": "3.0.0", 755 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", 756 | "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" 757 | }, 758 | "json-schema": { 759 | "version": "0.2.3", 760 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 761 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" 762 | }, 763 | "json-schema-traverse": { 764 | "version": "0.4.1", 765 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 766 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" 767 | }, 768 | "json-stringify-safe": { 769 | "version": "5.0.1", 770 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 771 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" 772 | }, 773 | "jsprim": { 774 | "version": "1.4.1", 775 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 776 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 777 | "requires": { 778 | "assert-plus": "1.0.0", 779 | "extsprintf": "1.3.0", 780 | "json-schema": "0.2.3", 781 | "verror": "1.10.0" 782 | } 783 | }, 784 | "keyv": { 785 | "version": "3.1.0", 786 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", 787 | "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", 788 | "requires": { 789 | "json-buffer": "3.0.0" 790 | } 791 | }, 792 | "lodash": { 793 | "version": "4.17.11", 794 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", 795 | "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" 796 | }, 797 | "lodash.clonedeep": { 798 | "version": "4.5.0", 799 | "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", 800 | "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" 801 | }, 802 | "lodash.find": { 803 | "version": "4.6.0", 804 | "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz", 805 | "integrity": "sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=" 806 | }, 807 | "lodash.max": { 808 | "version": "4.0.1", 809 | "resolved": "https://registry.npmjs.org/lodash.max/-/lodash.max-4.0.1.tgz", 810 | "integrity": "sha1-hzVWbGGLNan3YFILSHrnllivE2o=" 811 | }, 812 | "lodash.merge": { 813 | "version": "4.6.1", 814 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", 815 | "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==" 816 | }, 817 | "lodash.padstart": { 818 | "version": "4.6.1", 819 | "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", 820 | "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=" 821 | }, 822 | "lodash.repeat": { 823 | "version": "4.1.0", 824 | "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", 825 | "integrity": "sha1-/H3oEx2MisB+S0n3T/6CnR8r7EQ=" 826 | }, 827 | "lowercase-keys": { 828 | "version": "1.0.1", 829 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", 830 | "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" 831 | }, 832 | "map-obj": { 833 | "version": "2.0.0", 834 | "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", 835 | "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=" 836 | }, 837 | "mime-db": { 838 | "version": "1.39.0", 839 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.39.0.tgz", 840 | "integrity": "sha512-DTsrw/iWVvwHH+9Otxccdyy0Tgiil6TWK/xhfARJZF/QFhwOgZgOIvA2/VIGpM8U7Q8z5nDmdDWC6tuVMJNibw==" 841 | }, 842 | "mime-types": { 843 | "version": "2.1.23", 844 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.23.tgz", 845 | "integrity": "sha512-ROk/m+gMVSrRxTkMlaQOvFmFmYDc7sZgrjjM76abqmd2Cc5fCV7jAMA5XUccEtJ3cYiYdgixUVI+fApc2LkXlw==", 846 | "requires": { 847 | "mime-db": "1.39.0" 848 | } 849 | }, 850 | "mimic-fn": { 851 | "version": "1.2.0", 852 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 853 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" 854 | }, 855 | "mimic-response": { 856 | "version": "1.0.1", 857 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", 858 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" 859 | }, 860 | "minimatch": { 861 | "version": "3.0.4", 862 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 863 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 864 | "requires": { 865 | "brace-expansion": "1.1.11" 866 | } 867 | }, 868 | "moment": { 869 | "version": "2.24.0", 870 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", 871 | "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" 872 | }, 873 | "moment-timezone": { 874 | "version": "0.5.25", 875 | "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.25.tgz", 876 | "integrity": "sha512-DgEaTyN/z0HFaVcVbSyVCUU6HeFdnNC3vE4c9cgu2dgMTvjBUBdBzWfasTBmAW45u5OIMeCJtU8yNjM22DHucw==", 877 | "requires": { 878 | "moment": "2.24.0" 879 | } 880 | }, 881 | "ms": { 882 | "version": "2.1.1", 883 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", 884 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" 885 | }, 886 | "mute-stream": { 887 | "version": "0.0.7", 888 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 889 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" 890 | }, 891 | "mysql": { 892 | "version": "2.17.1", 893 | "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.17.1.tgz", 894 | "integrity": "sha512-7vMqHQ673SAk5C8fOzTG2LpPcf3bNt0oL3sFpxPEEFp1mdlDcrLK0On7z8ZYKaaHrHwNcQ/MTUz7/oobZ2OyyA==", 895 | "requires": { 896 | "bignumber.js": "7.2.1", 897 | "readable-stream": "2.3.6", 898 | "safe-buffer": "5.1.2", 899 | "sqlstring": "2.3.1" 900 | }, 901 | "dependencies": { 902 | "bignumber.js": { 903 | "version": "7.2.1", 904 | "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", 905 | "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==" 906 | }, 907 | "isarray": { 908 | "version": "1.0.0", 909 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 910 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 911 | }, 912 | "readable-stream": { 913 | "version": "2.3.6", 914 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", 915 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", 916 | "requires": { 917 | "core-util-is": "1.0.2", 918 | "inherits": "2.0.3", 919 | "isarray": "1.0.0", 920 | "process-nextick-args": "2.0.0", 921 | "safe-buffer": "5.1.2", 922 | "string_decoder": "1.1.1", 923 | "util-deprecate": "1.0.2" 924 | } 925 | }, 926 | "string_decoder": { 927 | "version": "1.1.1", 928 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 929 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 930 | "requires": { 931 | "safe-buffer": "5.1.2" 932 | } 933 | } 934 | } 935 | }, 936 | "node-cache": { 937 | "version": "3.2.1", 938 | "resolved": "https://registry.npmjs.org/node-cache/-/node-cache-3.2.1.tgz", 939 | "integrity": "sha1-p5WNMqikLZEZziWYZWfqLF+WZ3M=", 940 | "requires": { 941 | "clone": "1.0.4", 942 | "lodash": "4.17.11" 943 | } 944 | }, 945 | "node-cmd": { 946 | "version": "3.0.0", 947 | "resolved": "https://registry.npmjs.org/node-cmd/-/node-cmd-3.0.0.tgz", 948 | "integrity": "sha1-OP/3CkqqT2WdID61eGJzcBjiT28=" 949 | }, 950 | "node-fetch": { 951 | "version": "2.3.0", 952 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", 953 | "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==" 954 | }, 955 | "nopt": { 956 | "version": "1.0.10", 957 | "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", 958 | "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", 959 | "requires": { 960 | "abbrev": "1.1.1" 961 | } 962 | }, 963 | "normalize-url": { 964 | "version": "4.3.0", 965 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.3.0.tgz", 966 | "integrity": "sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ==" 967 | }, 968 | "oauth-sign": { 969 | "version": "0.9.0", 970 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", 971 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" 972 | }, 973 | "once": { 974 | "version": "1.4.0", 975 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 976 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 977 | "requires": { 978 | "wrappy": "1.0.2" 979 | } 980 | }, 981 | "onetime": { 982 | "version": "2.0.1", 983 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 984 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 985 | "requires": { 986 | "mimic-fn": "1.2.0" 987 | } 988 | }, 989 | "os-tmpdir": { 990 | "version": "1.0.2", 991 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 992 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" 993 | }, 994 | "p-cancelable": { 995 | "version": "1.1.0", 996 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", 997 | "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" 998 | }, 999 | "path-is-absolute": { 1000 | "version": "1.0.1", 1001 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1002 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" 1003 | }, 1004 | "performance-now": { 1005 | "version": "2.1.0", 1006 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 1007 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" 1008 | }, 1009 | "prepend-http": { 1010 | "version": "2.0.0", 1011 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", 1012 | "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" 1013 | }, 1014 | "process-nextick-args": { 1015 | "version": "2.0.0", 1016 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", 1017 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" 1018 | }, 1019 | "psl": { 1020 | "version": "1.1.31", 1021 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", 1022 | "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" 1023 | }, 1024 | "public-ip": { 1025 | "version": "3.1.0", 1026 | "resolved": "https://registry.npmjs.org/public-ip/-/public-ip-3.1.0.tgz", 1027 | "integrity": "sha512-d7JsmLV7nbwUYqdYWD331eMql6R3xuFozJjLDwq6pzpYCdktCbikVqyfDeyOnG5sfVqgJlWUFELf3MwS322mxQ==", 1028 | "requires": { 1029 | "dns-socket": "4.2.0", 1030 | "got": "9.6.0", 1031 | "is-ip": "3.1.0" 1032 | } 1033 | }, 1034 | "pump": { 1035 | "version": "3.0.0", 1036 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 1037 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 1038 | "requires": { 1039 | "end-of-stream": "1.4.1", 1040 | "once": "1.4.0" 1041 | } 1042 | }, 1043 | "punycode": { 1044 | "version": "2.1.1", 1045 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1046 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" 1047 | }, 1048 | "qs": { 1049 | "version": "6.5.2", 1050 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", 1051 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" 1052 | }, 1053 | "querystring": { 1054 | "version": "0.2.0", 1055 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", 1056 | "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" 1057 | }, 1058 | "quick-lru": { 1059 | "version": "1.1.0", 1060 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", 1061 | "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=" 1062 | }, 1063 | "readline-sync": { 1064 | "version": "1.4.9", 1065 | "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.9.tgz", 1066 | "integrity": "sha1-PtqOZfI80qF+YTAbHwADOWr17No=" 1067 | }, 1068 | "request": { 1069 | "version": "2.88.0", 1070 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", 1071 | "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", 1072 | "requires": { 1073 | "aws-sign2": "0.7.0", 1074 | "aws4": "1.8.0", 1075 | "caseless": "0.12.0", 1076 | "combined-stream": "1.0.7", 1077 | "extend": "3.0.2", 1078 | "forever-agent": "0.6.1", 1079 | "form-data": "2.3.3", 1080 | "har-validator": "5.1.3", 1081 | "http-signature": "1.2.0", 1082 | "is-typedarray": "1.0.0", 1083 | "isstream": "0.1.2", 1084 | "json-stringify-safe": "5.0.1", 1085 | "mime-types": "2.1.23", 1086 | "oauth-sign": "0.9.0", 1087 | "performance-now": "2.1.0", 1088 | "qs": "6.5.2", 1089 | "safe-buffer": "5.1.2", 1090 | "tough-cookie": "2.4.3", 1091 | "tunnel-agent": "0.6.0", 1092 | "uuid": "3.3.2" 1093 | }, 1094 | "dependencies": { 1095 | "punycode": { 1096 | "version": "1.4.1", 1097 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 1098 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" 1099 | }, 1100 | "tough-cookie": { 1101 | "version": "2.4.3", 1102 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", 1103 | "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", 1104 | "requires": { 1105 | "psl": "1.1.31", 1106 | "punycode": "1.4.1" 1107 | } 1108 | } 1109 | } 1110 | }, 1111 | "request-promise": { 1112 | "version": "4.2.4", 1113 | "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.4.tgz", 1114 | "integrity": "sha512-8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg==", 1115 | "requires": { 1116 | "bluebird": "3.5.4", 1117 | "request-promise-core": "1.1.2", 1118 | "stealthy-require": "1.1.1", 1119 | "tough-cookie": "2.5.0" 1120 | }, 1121 | "dependencies": { 1122 | "tough-cookie": { 1123 | "version": "2.5.0", 1124 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", 1125 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", 1126 | "requires": { 1127 | "psl": "1.1.31", 1128 | "punycode": "2.1.1" 1129 | } 1130 | } 1131 | } 1132 | }, 1133 | "request-promise-core": { 1134 | "version": "1.1.2", 1135 | "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", 1136 | "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", 1137 | "requires": { 1138 | "lodash": "4.17.11" 1139 | } 1140 | }, 1141 | "responselike": { 1142 | "version": "1.0.2", 1143 | "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", 1144 | "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", 1145 | "requires": { 1146 | "lowercase-keys": "1.0.1" 1147 | } 1148 | }, 1149 | "restore-cursor": { 1150 | "version": "2.0.0", 1151 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 1152 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 1153 | "requires": { 1154 | "onetime": "2.0.1", 1155 | "signal-exit": "3.0.2" 1156 | } 1157 | }, 1158 | "rimraf": { 1159 | "version": "2.6.3", 1160 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", 1161 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", 1162 | "requires": { 1163 | "glob": "7.1.4" 1164 | } 1165 | }, 1166 | "run-async": { 1167 | "version": "2.3.0", 1168 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 1169 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 1170 | "requires": { 1171 | "is-promise": "2.1.0" 1172 | } 1173 | }, 1174 | "rxjs": { 1175 | "version": "6.5.2", 1176 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz", 1177 | "integrity": "sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==", 1178 | "requires": { 1179 | "tslib": "1.10.0" 1180 | } 1181 | }, 1182 | "safe-buffer": { 1183 | "version": "5.1.2", 1184 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1185 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 1186 | }, 1187 | "safer-buffer": { 1188 | "version": "2.1.2", 1189 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1190 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 1191 | }, 1192 | "shimmer": { 1193 | "version": "1.2.1", 1194 | "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", 1195 | "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" 1196 | }, 1197 | "signal-exit": { 1198 | "version": "3.0.2", 1199 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 1200 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" 1201 | }, 1202 | "smart-buffer": { 1203 | "version": "4.0.2", 1204 | "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.2.tgz", 1205 | "integrity": "sha512-JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw==" 1206 | }, 1207 | "socks": { 1208 | "version": "2.3.2", 1209 | "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.2.tgz", 1210 | "integrity": "sha512-pCpjxQgOByDHLlNqlnh/mNSAxIUkyBBuwwhTcV+enZGbDaClPvHdvm6uvOwZfFJkam7cGhBNbb4JxiP8UZkRvQ==", 1211 | "requires": { 1212 | "ip": "1.1.5", 1213 | "smart-buffer": "4.0.2" 1214 | } 1215 | }, 1216 | "socks-proxy-agent": { 1217 | "version": "4.0.2", 1218 | "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", 1219 | "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", 1220 | "requires": { 1221 | "agent-base": "4.2.1", 1222 | "socks": "2.3.2" 1223 | } 1224 | }, 1225 | "socks5-client": { 1226 | "version": "1.2.6", 1227 | "resolved": "https://registry.npmjs.org/socks5-client/-/socks5-client-1.2.6.tgz", 1228 | "integrity": "sha512-6ly0ZYGQaX8vBZvnRnRKT5yixfFEuQVxvYL5UGb7EFarP2d1yoWRJRBVfLKkBK5nOzX862EhhzOYwgZxRARwlQ==", 1229 | "requires": { 1230 | "ip-address": "5.8.9" 1231 | } 1232 | }, 1233 | "socks5-https-client": { 1234 | "version": "1.2.1", 1235 | "resolved": "https://registry.npmjs.org/socks5-https-client/-/socks5-https-client-1.2.1.tgz", 1236 | "integrity": "sha512-FbZ/X/2Xq3DAMhuRA4bnN0jy1QxaPTVPLFvyv6CEj0QDKSTdWp9yRxo1JhqXmWKhPQeJyUMajHJB2UjT43pFcw==", 1237 | "requires": { 1238 | "socks5-client": "1.2.6" 1239 | } 1240 | }, 1241 | "sprintf-js": { 1242 | "version": "1.1.0", 1243 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.0.tgz", 1244 | "integrity": "sha1-z/yvcC2vZeo5u04PorKZzsGhvkY=" 1245 | }, 1246 | "sqlstring": { 1247 | "version": "2.3.1", 1248 | "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", 1249 | "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=" 1250 | }, 1251 | "sshpk": { 1252 | "version": "1.16.1", 1253 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", 1254 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", 1255 | "requires": { 1256 | "asn1": "0.2.4", 1257 | "assert-plus": "1.0.0", 1258 | "bcrypt-pbkdf": "1.0.2", 1259 | "dashdash": "1.14.1", 1260 | "ecc-jsbn": "0.1.2", 1261 | "getpass": "0.1.7", 1262 | "jsbn": "0.1.1", 1263 | "safer-buffer": "2.1.2", 1264 | "tweetnacl": "0.14.5" 1265 | } 1266 | }, 1267 | "stealthy-require": { 1268 | "version": "1.1.1", 1269 | "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", 1270 | "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" 1271 | }, 1272 | "string": { 1273 | "version": "3.3.3", 1274 | "resolved": "https://registry.npmjs.org/string/-/string-3.3.3.tgz", 1275 | "integrity": "sha1-XqIRzZLSKOGEKUmQpsyXs2anfLA=" 1276 | }, 1277 | "string-width": { 1278 | "version": "2.1.1", 1279 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 1280 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 1281 | "requires": { 1282 | "is-fullwidth-code-point": "2.0.0", 1283 | "strip-ansi": "4.0.0" 1284 | }, 1285 | "dependencies": { 1286 | "strip-ansi": { 1287 | "version": "4.0.0", 1288 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 1289 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 1290 | "requires": { 1291 | "ansi-regex": "3.0.0" 1292 | } 1293 | } 1294 | } 1295 | }, 1296 | "strip-ansi": { 1297 | "version": "5.2.0", 1298 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 1299 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 1300 | "requires": { 1301 | "ansi-regex": "4.1.0" 1302 | }, 1303 | "dependencies": { 1304 | "ansi-regex": { 1305 | "version": "4.1.0", 1306 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 1307 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" 1308 | } 1309 | } 1310 | }, 1311 | "supports-color": { 1312 | "version": "5.5.0", 1313 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1314 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1315 | "requires": { 1316 | "has-flag": "3.0.0" 1317 | } 1318 | }, 1319 | "through": { 1320 | "version": "2.3.8", 1321 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 1322 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" 1323 | }, 1324 | "tmp": { 1325 | "version": "0.0.33", 1326 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 1327 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 1328 | "requires": { 1329 | "os-tmpdir": "1.0.2" 1330 | } 1331 | }, 1332 | "to-readable-stream": { 1333 | "version": "1.0.0", 1334 | "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", 1335 | "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" 1336 | }, 1337 | "tor-request": { 1338 | "version": "3.1.0", 1339 | "resolved": "https://registry.npmjs.org/tor-request/-/tor-request-3.1.0.tgz", 1340 | "integrity": "sha512-153kvMc+f3U0TOncrxpQlbYRnRdfVHVOtlkVwSsgsUzU4RiuvIW8UyyIOMSMfVlu1u887d/FgHZF9K2YmOK3Mw==", 1341 | "requires": { 1342 | "request": "2.88.0", 1343 | "socks-proxy-agent": "4.0.2" 1344 | } 1345 | }, 1346 | "touch": { 1347 | "version": "1.0.0", 1348 | "resolved": "https://registry.npmjs.org/touch/-/touch-1.0.0.tgz", 1349 | "integrity": "sha1-RJy+LbrlqMgDjjDXH6D/RklHxN4=", 1350 | "requires": { 1351 | "nopt": "1.0.10" 1352 | } 1353 | }, 1354 | "tough-cookie": { 1355 | "version": "3.0.1", 1356 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", 1357 | "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", 1358 | "requires": { 1359 | "ip-regex": "2.1.0", 1360 | "psl": "1.1.31", 1361 | "punycode": "2.1.1" 1362 | } 1363 | }, 1364 | "tough-cookie-filestore": { 1365 | "version": "0.0.1", 1366 | "resolved": "https://registry.npmjs.org/tough-cookie-filestore/-/tough-cookie-filestore-0.0.1.tgz", 1367 | "integrity": "sha1-C/IwjtKTpQugcz7X1iiWAUhVcLY=", 1368 | "requires": { 1369 | "tough-cookie": "0.12.1" 1370 | }, 1371 | "dependencies": { 1372 | "tough-cookie": { 1373 | "version": "0.12.1", 1374 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz", 1375 | "integrity": "sha1-giDH4hq9WxPZaAQlS9WoHr8sfWI=", 1376 | "requires": { 1377 | "punycode": "2.1.1" 1378 | } 1379 | } 1380 | } 1381 | }, 1382 | "tslib": { 1383 | "version": "1.10.0", 1384 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", 1385 | "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" 1386 | }, 1387 | "tunnel-agent": { 1388 | "version": "0.6.0", 1389 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 1390 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 1391 | "requires": { 1392 | "safe-buffer": "5.1.2" 1393 | } 1394 | }, 1395 | "tweetnacl": { 1396 | "version": "0.14.5", 1397 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 1398 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" 1399 | }, 1400 | "underscore": { 1401 | "version": "1.9.1", 1402 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", 1403 | "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" 1404 | }, 1405 | "underscore-keypath": { 1406 | "version": "0.0.22", 1407 | "resolved": "https://registry.npmjs.org/underscore-keypath/-/underscore-keypath-0.0.22.tgz", 1408 | "integrity": "sha1-SKUoOSu278QkvhyqVtpLX6zPJk0=", 1409 | "requires": { 1410 | "underscore": "1.9.1" 1411 | } 1412 | }, 1413 | "underscore.string": { 1414 | "version": "3.3.5", 1415 | "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz", 1416 | "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==", 1417 | "requires": { 1418 | "sprintf-js": "1.1.0", 1419 | "util-deprecate": "1.0.2" 1420 | } 1421 | }, 1422 | "uri-js": { 1423 | "version": "4.2.2", 1424 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", 1425 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 1426 | "requires": { 1427 | "punycode": "2.1.1" 1428 | } 1429 | }, 1430 | "url": { 1431 | "version": "0.11.0", 1432 | "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", 1433 | "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", 1434 | "requires": { 1435 | "punycode": "1.3.2", 1436 | "querystring": "0.2.0" 1437 | }, 1438 | "dependencies": { 1439 | "punycode": { 1440 | "version": "1.3.2", 1441 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", 1442 | "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" 1443 | } 1444 | } 1445 | }, 1446 | "url-parse-lax": { 1447 | "version": "3.0.0", 1448 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", 1449 | "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", 1450 | "requires": { 1451 | "prepend-http": "2.0.0" 1452 | } 1453 | }, 1454 | "user-agents": { 1455 | "version": "1.0.317", 1456 | "resolved": "https://registry.npmjs.org/user-agents/-/user-agents-1.0.317.tgz", 1457 | "integrity": "sha512-8zUOtQPhGwcF4GrAYy/Dc3dTkKtLyCqz6Pg5jKO7JgrMeXjtW13qdE1YawfkgT5HlTxTDBaEQyPGHezP7wsk7g==", 1458 | "requires": { 1459 | "dot-json": "1.1.0", 1460 | "lodash.clonedeep": "4.5.0" 1461 | } 1462 | }, 1463 | "username-generator": { 1464 | "version": "1.1.0", 1465 | "resolved": "https://registry.npmjs.org/username-generator/-/username-generator-1.1.0.tgz", 1466 | "integrity": "sha512-2hpbjhJ9/DJdrPajdeJ2nQ1v9sNLT3IaLGhejd9GbrVMCGZMc3h2Ug6qUlIKjDkRUT0HsozXYboaypxo94OYfw==" 1467 | }, 1468 | "util-deprecate": { 1469 | "version": "1.0.2", 1470 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1471 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 1472 | }, 1473 | "uuid": { 1474 | "version": "3.3.2", 1475 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", 1476 | "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" 1477 | }, 1478 | "valid-url": { 1479 | "version": "1.0.9", 1480 | "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", 1481 | "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=" 1482 | }, 1483 | "verror": { 1484 | "version": "1.10.0", 1485 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 1486 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 1487 | "requires": { 1488 | "assert-plus": "1.0.0", 1489 | "core-util-is": "1.0.2", 1490 | "extsprintf": "1.3.0" 1491 | } 1492 | }, 1493 | "wrappy": { 1494 | "version": "1.0.2", 1495 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1496 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 1497 | } 1498 | } 1499 | } 1500 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "instagram-tools", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "async-file": "^2.0.2", 13 | "bluebird": "^3.5.3", 14 | "chalk": "^2.4.2", 15 | "cron": "^1.6.0", 16 | "delay": "^4.2.0", 17 | "dotenv": "^8.0.0", 18 | "fetch-cookie": "^0.7.2", 19 | "https-proxy-agent": "^2.2.1", 20 | "inquirer": "^6.4.1", 21 | "instagram-private-api": "^0.6.8", 22 | "moment": "^2.24.0", 23 | "moment-timezone": "^0.5.23", 24 | "mysql": "^2.17.1", 25 | "node-cmd": "^3.0.0", 26 | "node-fetch": "^2.3.0", 27 | "public-ip": "^3.1.0", 28 | "readline-sync": "^1.4.9", 29 | "request": "^2.88.0", 30 | "request-promise": "^4.2.2", 31 | "socks": "^2.3.2", 32 | "string": "^3.3.3", 33 | "tor-request": "^3.1.0", 34 | "tough-cookie": "^3.0.1", 35 | "url": "^0.11.0", 36 | "user-agents": "^1.0.317", 37 | "username-generator": "^1.1.0" 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /result_account.txt: -------------------------------------------------------------------------------- 1 | commemorationconical|berak321amin|16263442560 2 | -------------------------------------------------------------------------------- /test.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs"); 2 | const mysql = require("mysql"); 3 | const delay = require('delay'); 4 | require('dotenv').config(); 5 | 6 | const connection = mysql.createConnection({ 7 | host: process.env.DB_HOST, 8 | user: process.env.DB_USER, 9 | password: process.env.DB_PASSWORD, 10 | database: process.env.DB_NAME 11 | }); 12 | 13 | (async () => { 14 | 15 | await fs.readFile('ig.txt', async function (err, data) { 16 | if (err) throw err; 17 | const array = data 18 | .toString() 19 | .replace(/\r\n|\r|\n/g, " ") 20 | .split(" "); 21 | 22 | for (let ury in array) { 23 | 24 | // await delay(1000); 25 | // const query = await connection.query( 26 | // `SELECT * FROM user WHERE username = ${array[ury].split('|')[0]}`, 27 | // function (error, results, fields) { 28 | // if (error) return 'error'; 29 | // // Neat! 30 | // } 31 | // ); 32 | 33 | // if (query === 'error') { 34 | const post = { 35 | username: array[ury].split('|')[0], 36 | password: "berak321amin", 37 | account_id: array[ury].split('|')[2] 38 | }; 39 | const query = await connection.query( 40 | "INSERT INTO user SET ?", 41 | post, 42 | function (error, results, fields) { 43 | if (error) throw error; 44 | // Neat! 45 | } 46 | ); 47 | console.log(query.values) 48 | // } 49 | } 50 | 51 | }); 52 | })(); 53 | --------------------------------------------------------------------------------