wlstp8473

line_chatbot_code

1 +var express = require('express');
2 +const request = require('request');
3 +const TARGET_URL = 'https://api.line.me/v2/bot/message/reply'
4 +const TOKEN = 'N6Q05E3VPLmtBdu+9Roi9f5b3pnEohm1T1jG/WIUS6T0kUJndd5osjymcy7qYp8AdWWstcwmG9Av1WhZZdLGH2J2IDqj9NRAY1BZ6RRbYINKL5ei1wA0TskYcIJ2kZZJXfHag5rdnyxwx92phll3gAdB04t89/1O/w1cDnyilFU=' //토큰 변경 바람
5 +const fs = require('fs');
6 +const path = require('path');
7 +const HTTPS = require('https');
8 +const domain = "2020105604.oss2021.tk" //도메인 변경 바람
9 +const sslport = 23023;
10 +
11 +const bodyParser = require('body-parser');
12 +var app = express();
13 +app.use(bodyParser.json());
14 +app.post('/hook', function (req, res) {
15 +
16 + var eventObj = req.body.events[0];
17 + var source = eventObj.source;
18 + var message = eventObj.message;
19 +
20 + // request log
21 + console.log('======================', new Date() ,'======================');
22 + console.log('[request]', req.body);
23 + console.log('[request source] ', eventObj.source);
24 + console.log('[request message]', eventObj.message);
25 +
26 + request.post(
27 + {
28 + url: TARGET_URL,
29 + headers: {
30 + 'Authorization': `Bearer ${TOKEN}`
31 + },
32 + json: {
33 + "replyToken":eventObj.replyToken,
34 + "messages":[
35 + {
36 + "type":"text",
37 + "text":"Hello, user"
38 + },
39 + {
40 + "type":"text",
41 + "text":"May I help you?"
42 + }
43 + ]
44 + }
45 + },(error, response, body) => {
46 + console.log(body)
47 + });
48 +
49 +
50 + res.sendStatus(200);
51 +});
52 +
53 +try {
54 + const option = {
55 + ca: fs.readFileSync('/etc/letsencrypt/live/' + domain +'/fullchain.pem'),
56 + key: fs.readFileSync(path.resolve(process.cwd(), '/etc/letsencrypt/live/' + domain +'/privkey.pem'), 'utf8').toString(),
57 + cert: fs.readFileSync(path.resolve(process.cwd(), '/etc/letsencrypt/live/' + domain +'/cert.pem'), 'utf8').toString(),
58 + };
59 +
60 + HTTPS.createServer(option, app).listen(sslport, () => {
61 + console.log(`[HTTPS] Server is started on port ${sslport}`);
62 + });
63 + } catch (error) {
64 + console.log('[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.');
65 + console.log(error);
66 + }
67 +
1 +{
2 + "name": "reply",
3 + "version": "1.0.0",
4 + "lockfileVersion": 1,
5 + "requires": true,
6 + "dependencies": {
7 + "accepts": {
8 + "version": "1.3.7",
9 + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
10 + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
11 + "requires": {
12 + "mime-types": "~2.1.24",
13 + "negotiator": "0.6.2"
14 + }
15 + },
16 + "ajv": {
17 + "version": "6.12.2",
18 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
19 + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
20 + "requires": {
21 + "fast-deep-equal": "^3.1.1",
22 + "fast-json-stable-stringify": "^2.0.0",
23 + "json-schema-traverse": "^0.4.1",
24 + "uri-js": "^4.2.2"
25 + }
26 + },
27 + "array-flatten": {
28 + "version": "1.1.1",
29 + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
30 + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
31 + },
32 + "asn1": {
33 + "version": "0.2.4",
34 + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
35 + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
36 + "requires": {
37 + "safer-buffer": "~2.1.0"
38 + }
39 + },
40 + "assert-plus": {
41 + "version": "1.0.0",
42 + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
43 + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
44 + },
45 + "asynckit": {
46 + "version": "0.4.0",
47 + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
48 + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
49 + },
50 + "aws-sign2": {
51 + "version": "0.7.0",
52 + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
53 + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
54 + },
55 + "aws4": {
56 + "version": "1.9.1",
57 + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
58 + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug=="
59 + },
60 + "bcrypt-pbkdf": {
61 + "version": "1.0.2",
62 + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
63 + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
64 + "requires": {
65 + "tweetnacl": "^0.14.3"
66 + }
67 + },
68 + "body-parser": {
69 + "version": "1.19.0",
70 + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
71 + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
72 + "requires": {
73 + "bytes": "3.1.0",
74 + "content-type": "~1.0.4",
75 + "debug": "2.6.9",
76 + "depd": "~1.1.2",
77 + "http-errors": "1.7.2",
78 + "iconv-lite": "0.4.24",
79 + "on-finished": "~2.3.0",
80 + "qs": "6.7.0",
81 + "raw-body": "2.4.0",
82 + "type-is": "~1.6.17"
83 + }
84 + },
85 + "bytes": {
86 + "version": "3.1.0",
87 + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
88 + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
89 + },
90 + "caseless": {
91 + "version": "0.12.0",
92 + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
93 + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
94 + },
95 + "combined-stream": {
96 + "version": "1.0.8",
97 + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
98 + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
99 + "requires": {
100 + "delayed-stream": "~1.0.0"
101 + }
102 + },
103 + "content-disposition": {
104 + "version": "0.5.3",
105 + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
106 + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
107 + "requires": {
108 + "safe-buffer": "5.1.2"
109 + }
110 + },
111 + "content-type": {
112 + "version": "1.0.4",
113 + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
114 + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
115 + },
116 + "cookie": {
117 + "version": "0.4.0",
118 + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
119 + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
120 + },
121 + "cookie-signature": {
122 + "version": "1.0.6",
123 + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
124 + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
125 + },
126 + "core-util-is": {
127 + "version": "1.0.2",
128 + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
129 + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
130 + },
131 + "dashdash": {
132 + "version": "1.14.1",
133 + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
134 + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
135 + "requires": {
136 + "assert-plus": "^1.0.0"
137 + }
138 + },
139 + "debug": {
140 + "version": "2.6.9",
141 + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
142 + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
143 + "requires": {
144 + "ms": "2.0.0"
145 + }
146 + },
147 + "delayed-stream": {
148 + "version": "1.0.0",
149 + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
150 + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
151 + },
152 + "depd": {
153 + "version": "1.1.2",
154 + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
155 + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
156 + },
157 + "destroy": {
158 + "version": "1.0.4",
159 + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
160 + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
161 + },
162 + "ecc-jsbn": {
163 + "version": "0.1.2",
164 + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
165 + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
166 + "requires": {
167 + "jsbn": "~0.1.0",
168 + "safer-buffer": "^2.1.0"
169 + }
170 + },
171 + "ee-first": {
172 + "version": "1.1.1",
173 + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
174 + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
175 + },
176 + "encodeurl": {
177 + "version": "1.0.2",
178 + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
179 + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
180 + },
181 + "escape-html": {
182 + "version": "1.0.3",
183 + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
184 + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
185 + },
186 + "etag": {
187 + "version": "1.8.1",
188 + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
189 + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
190 + },
191 + "express": {
192 + "version": "4.17.1",
193 + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
194 + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
195 + "requires": {
196 + "accepts": "~1.3.7",
197 + "array-flatten": "1.1.1",
198 + "body-parser": "1.19.0",
199 + "content-disposition": "0.5.3",
200 + "content-type": "~1.0.4",
201 + "cookie": "0.4.0",
202 + "cookie-signature": "1.0.6",
203 + "debug": "2.6.9",
204 + "depd": "~1.1.2",
205 + "encodeurl": "~1.0.2",
206 + "escape-html": "~1.0.3",
207 + "etag": "~1.8.1",
208 + "finalhandler": "~1.1.2",
209 + "fresh": "0.5.2",
210 + "merge-descriptors": "1.0.1",
211 + "methods": "~1.1.2",
212 + "on-finished": "~2.3.0",
213 + "parseurl": "~1.3.3",
214 + "path-to-regexp": "0.1.7",
215 + "proxy-addr": "~2.0.5",
216 + "qs": "6.7.0",
217 + "range-parser": "~1.2.1",
218 + "safe-buffer": "5.1.2",
219 + "send": "0.17.1",
220 + "serve-static": "1.14.1",
221 + "setprototypeof": "1.1.1",
222 + "statuses": "~1.5.0",
223 + "type-is": "~1.6.18",
224 + "utils-merge": "1.0.1",
225 + "vary": "~1.1.2"
226 + }
227 + },
228 + "extend": {
229 + "version": "3.0.2",
230 + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
231 + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
232 + },
233 + "extsprintf": {
234 + "version": "1.3.0",
235 + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
236 + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
237 + },
238 + "fast-deep-equal": {
239 + "version": "3.1.1",
240 + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
241 + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA=="
242 + },
243 + "fast-json-stable-stringify": {
244 + "version": "2.1.0",
245 + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
246 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
247 + },
248 + "finalhandler": {
249 + "version": "1.1.2",
250 + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
251 + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
252 + "requires": {
253 + "debug": "2.6.9",
254 + "encodeurl": "~1.0.2",
255 + "escape-html": "~1.0.3",
256 + "on-finished": "~2.3.0",
257 + "parseurl": "~1.3.3",
258 + "statuses": "~1.5.0",
259 + "unpipe": "~1.0.0"
260 + }
261 + },
262 + "forever-agent": {
263 + "version": "0.6.1",
264 + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
265 + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
266 + },
267 + "form-data": {
268 + "version": "2.3.3",
269 + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
270 + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
271 + "requires": {
272 + "asynckit": "^0.4.0",
273 + "combined-stream": "^1.0.6",
274 + "mime-types": "^2.1.12"
275 + }
276 + },
277 + "forwarded": {
278 + "version": "0.1.2",
279 + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
280 + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
281 + },
282 + "fresh": {
283 + "version": "0.5.2",
284 + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
285 + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
286 + },
287 + "getpass": {
288 + "version": "0.1.7",
289 + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
290 + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
291 + "requires": {
292 + "assert-plus": "^1.0.0"
293 + }
294 + },
295 + "har-schema": {
296 + "version": "2.0.0",
297 + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
298 + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
299 + },
300 + "har-validator": {
301 + "version": "5.1.3",
302 + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
303 + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
304 + "requires": {
305 + "ajv": "^6.5.5",
306 + "har-schema": "^2.0.0"
307 + }
308 + },
309 + "http-errors": {
310 + "version": "1.7.2",
311 + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
312 + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
313 + "requires": {
314 + "depd": "~1.1.2",
315 + "inherits": "2.0.3",
316 + "setprototypeof": "1.1.1",
317 + "statuses": ">= 1.5.0 < 2",
318 + "toidentifier": "1.0.0"
319 + }
320 + },
321 + "http-signature": {
322 + "version": "1.2.0",
323 + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
324 + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
325 + "requires": {
326 + "assert-plus": "^1.0.0",
327 + "jsprim": "^1.2.2",
328 + "sshpk": "^1.7.0"
329 + }
330 + },
331 + "iconv-lite": {
332 + "version": "0.4.24",
333 + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
334 + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
335 + "requires": {
336 + "safer-buffer": ">= 2.1.2 < 3"
337 + }
338 + },
339 + "inherits": {
340 + "version": "2.0.3",
341 + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
342 + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
343 + },
344 + "ipaddr.js": {
345 + "version": "1.9.1",
346 + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
347 + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
348 + },
349 + "is-typedarray": {
350 + "version": "1.0.0",
351 + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
352 + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
353 + },
354 + "isstream": {
355 + "version": "0.1.2",
356 + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
357 + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
358 + },
359 + "jsbn": {
360 + "version": "0.1.1",
361 + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
362 + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
363 + },
364 + "json-schema": {
365 + "version": "0.2.3",
366 + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
367 + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
368 + },
369 + "json-schema-traverse": {
370 + "version": "0.4.1",
371 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
372 + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
373 + },
374 + "json-stringify-safe": {
375 + "version": "5.0.1",
376 + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
377 + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
378 + },
379 + "jsprim": {
380 + "version": "1.4.1",
381 + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
382 + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
383 + "requires": {
384 + "assert-plus": "1.0.0",
385 + "extsprintf": "1.3.0",
386 + "json-schema": "0.2.3",
387 + "verror": "1.10.0"
388 + }
389 + },
390 + "media-typer": {
391 + "version": "0.3.0",
392 + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
393 + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
394 + },
395 + "merge-descriptors": {
396 + "version": "1.0.1",
397 + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
398 + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
399 + },
400 + "methods": {
401 + "version": "1.1.2",
402 + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
403 + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
404 + },
405 + "mime": {
406 + "version": "1.6.0",
407 + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
408 + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
409 + },
410 + "mime-db": {
411 + "version": "1.44.0",
412 + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
413 + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
414 + },
415 + "mime-types": {
416 + "version": "2.1.27",
417 + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
418 + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
419 + "requires": {
420 + "mime-db": "1.44.0"
421 + }
422 + },
423 + "ms": {
424 + "version": "2.0.0",
425 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
426 + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
427 + },
428 + "negotiator": {
429 + "version": "0.6.2",
430 + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
431 + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
432 + },
433 + "oauth-sign": {
434 + "version": "0.9.0",
435 + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
436 + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
437 + },
438 + "on-finished": {
439 + "version": "2.3.0",
440 + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
441 + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
442 + "requires": {
443 + "ee-first": "1.1.1"
444 + }
445 + },
446 + "parseurl": {
447 + "version": "1.3.3",
448 + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
449 + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
450 + },
451 + "path-to-regexp": {
452 + "version": "0.1.7",
453 + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
454 + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
455 + },
456 + "performance-now": {
457 + "version": "2.1.0",
458 + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
459 + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
460 + },
461 + "proxy-addr": {
462 + "version": "2.0.6",
463 + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
464 + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
465 + "requires": {
466 + "forwarded": "~0.1.2",
467 + "ipaddr.js": "1.9.1"
468 + }
469 + },
470 + "psl": {
471 + "version": "1.8.0",
472 + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
473 + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
474 + },
475 + "punycode": {
476 + "version": "2.1.1",
477 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
478 + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
479 + },
480 + "qs": {
481 + "version": "6.7.0",
482 + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
483 + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
484 + },
485 + "range-parser": {
486 + "version": "1.2.1",
487 + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
488 + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
489 + },
490 + "raw-body": {
491 + "version": "2.4.0",
492 + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
493 + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
494 + "requires": {
495 + "bytes": "3.1.0",
496 + "http-errors": "1.7.2",
497 + "iconv-lite": "0.4.24",
498 + "unpipe": "1.0.0"
499 + }
500 + },
501 + "request": {
502 + "version": "2.88.2",
503 + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
504 + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
505 + "requires": {
506 + "aws-sign2": "~0.7.0",
507 + "aws4": "^1.8.0",
508 + "caseless": "~0.12.0",
509 + "combined-stream": "~1.0.6",
510 + "extend": "~3.0.2",
511 + "forever-agent": "~0.6.1",
512 + "form-data": "~2.3.2",
513 + "har-validator": "~5.1.3",
514 + "http-signature": "~1.2.0",
515 + "is-typedarray": "~1.0.0",
516 + "isstream": "~0.1.2",
517 + "json-stringify-safe": "~5.0.1",
518 + "mime-types": "~2.1.19",
519 + "oauth-sign": "~0.9.0",
520 + "performance-now": "^2.1.0",
521 + "qs": "~6.5.2",
522 + "safe-buffer": "^5.1.2",
523 + "tough-cookie": "~2.5.0",
524 + "tunnel-agent": "^0.6.0",
525 + "uuid": "^3.3.2"
526 + },
527 + "dependencies": {
528 + "qs": {
529 + "version": "6.5.2",
530 + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
531 + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
532 + }
533 + }
534 + },
535 + "safe-buffer": {
536 + "version": "5.1.2",
537 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
538 + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
539 + },
540 + "safer-buffer": {
541 + "version": "2.1.2",
542 + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
543 + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
544 + },
545 + "send": {
546 + "version": "0.17.1",
547 + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
548 + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
549 + "requires": {
550 + "debug": "2.6.9",
551 + "depd": "~1.1.2",
552 + "destroy": "~1.0.4",
553 + "encodeurl": "~1.0.2",
554 + "escape-html": "~1.0.3",
555 + "etag": "~1.8.1",
556 + "fresh": "0.5.2",
557 + "http-errors": "~1.7.2",
558 + "mime": "1.6.0",
559 + "ms": "2.1.1",
560 + "on-finished": "~2.3.0",
561 + "range-parser": "~1.2.1",
562 + "statuses": "~1.5.0"
563 + },
564 + "dependencies": {
565 + "ms": {
566 + "version": "2.1.1",
567 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
568 + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
569 + }
570 + }
571 + },
572 + "serve-static": {
573 + "version": "1.14.1",
574 + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
575 + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
576 + "requires": {
577 + "encodeurl": "~1.0.2",
578 + "escape-html": "~1.0.3",
579 + "parseurl": "~1.3.3",
580 + "send": "0.17.1"
581 + }
582 + },
583 + "setprototypeof": {
584 + "version": "1.1.1",
585 + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
586 + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
587 + },
588 + "sshpk": {
589 + "version": "1.16.1",
590 + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
591 + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
592 + "requires": {
593 + "asn1": "~0.2.3",
594 + "assert-plus": "^1.0.0",
595 + "bcrypt-pbkdf": "^1.0.0",
596 + "dashdash": "^1.12.0",
597 + "ecc-jsbn": "~0.1.1",
598 + "getpass": "^0.1.1",
599 + "jsbn": "~0.1.0",
600 + "safer-buffer": "^2.0.2",
601 + "tweetnacl": "~0.14.0"
602 + }
603 + },
604 + "statuses": {
605 + "version": "1.5.0",
606 + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
607 + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
608 + },
609 + "toidentifier": {
610 + "version": "1.0.0",
611 + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
612 + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
613 + },
614 + "tough-cookie": {
615 + "version": "2.5.0",
616 + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
617 + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
618 + "requires": {
619 + "psl": "^1.1.28",
620 + "punycode": "^2.1.1"
621 + }
622 + },
623 + "tunnel-agent": {
624 + "version": "0.6.0",
625 + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
626 + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
627 + "requires": {
628 + "safe-buffer": "^5.0.1"
629 + }
630 + },
631 + "tweetnacl": {
632 + "version": "0.14.5",
633 + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
634 + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
635 + },
636 + "type-is": {
637 + "version": "1.6.18",
638 + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
639 + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
640 + "requires": {
641 + "media-typer": "0.3.0",
642 + "mime-types": "~2.1.24"
643 + }
644 + },
645 + "unpipe": {
646 + "version": "1.0.0",
647 + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
648 + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
649 + },
650 + "uri-js": {
651 + "version": "4.2.2",
652 + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
653 + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
654 + "requires": {
655 + "punycode": "^2.1.0"
656 + }
657 + },
658 + "utils-merge": {
659 + "version": "1.0.1",
660 + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
661 + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
662 + },
663 + "uuid": {
664 + "version": "3.4.0",
665 + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
666 + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
667 + },
668 + "vary": {
669 + "version": "1.1.2",
670 + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
671 + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
672 + },
673 + "verror": {
674 + "version": "1.10.0",
675 + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
676 + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
677 + "requires": {
678 + "assert-plus": "^1.0.0",
679 + "core-util-is": "1.0.2",
680 + "extsprintf": "^1.2.0"
681 + }
682 + }
683 + }
684 +}
1 +{
2 + "name": "reply",
3 + "version": "1.0.0",
4 + "description": "",
5 + "main": "app.js",
6 + "scripts": {
7 + "test": "echo \"Error: no test specified\" && exit 1"
8 + },
9 + "author": "",
10 + "license": "ISC",
11 + "dependencies": {
12 + "body-parser": "^1.19.0",
13 + "express": "^4.17.1",
14 + "request": "^2.88.2"
15 + }
16 +}
1 +var express = require('express');
2 +const request = require('request');
3 +const TARGET_URL = 'https://api.line.me/v2/bot/message/reply'
4 +const TOKEN = 'N6Q05E3VPLmtBdu+9Roi9f5b3pnEohm1T1jG/WIUS6T0kUJndd5osjymcy7qYp8AdWWstcwmG9Av1WhZZdLGH2J2IDqj9NRAY1BZ6RRbYINKL5ei1wA0TskYcIJ2kZZJXfHag5rdnyxwx92phll3gAdB04t89/1O/w1cDnyilFU=' //라인 토큰도 변경 바람
5 +const PAPAGO_URL = 'https://openapi.naver.com/v1/papago/n2mt'
6 +const PAPAGO_ID = 'V1zfMFP3c5VIxImaaNaQ' //파파고 아이디 변경 바람
7 +const PAPAGO_SECRET = 'd_pJLjO5eR' //파파고 시크릿 키 변경 바람
8 +const fs = require('fs');
9 +const path = require('path');
10 +const HTTPS = require('https');
11 +const domain = "2020105604.oss2021.tk" //도메인명 변경 바람
12 +const sslport = 23023;
13 +const bodyParser = require('body-parser');
14 +var app = express();
15 +app.use(bodyParser.json());
16 +app.post('/hook', function (req, res) {
17 +
18 + var eventObj = req.body.events[0];
19 + var source = eventObj.source;
20 + var message = eventObj.message;
21 +
22 + // request log
23 + console.log('======================', new Date() ,'======================');
24 + console.log('[request]', req.body);
25 + console.log('[request source] ', eventObj.source);
26 + console.log('[request message]', eventObj.message);
27 +
28 + trans(eventObj.replyToken, eventObj.message.text);
29 +
30 +
31 + res.sendStatus(200);
32 +});
33 +
34 +
35 +//영어 번역
36 +function trans(replyToken, message) {
37 +
38 + request.post(
39 + {
40 + url: PAPAGO_URL,
41 + headers: {
42 + 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
43 + 'X-Naver-Client-Id': `${PAPAGO_ID}`,
44 + 'X-Naver-Client-Secret': `${PAPAGO_SECRET}`
45 + },
46 + body: 'source=ko&target=en&text=' + message,
47 + json:true
48 + },(error, response, body) => {
49 + if(!error && response.statusCode == 200) {
50 + console.log(body.message);
51 + var transMessage = body.message.result.translatedText;
52 + request.post(
53 + {
54 + url: TARGET_URL,
55 + headers: {
56 + 'Authorization': `Bearer ${TOKEN}`
57 + },
58 + json: {
59 + "replyToken":replyToken,
60 + "messages":[
61 + {
62 + "type":"text",
63 + "text":transMessage
64 + }
65 + ]
66 + }
67 + },(error, response, body) => {
68 + console.log(body)
69 + });
70 + }
71 + });
72 +
73 +}
74 +
75 +
76 +
77 +
78 +
79 +try {
80 + const option = {
81 + ca: fs.readFileSync('/etc/letsencrypt/live/' + domain +'/fullchain.pem'),
82 + key: fs.readFileSync(path.resolve(process.cwd(), '/etc/letsencrypt/live/' + domain +'/privkey.pem'), 'utf8').toString(),
83 + cert: fs.readFileSync(path.resolve(process.cwd(), '/etc/letsencrypt/live/' + domain +'/cert.pem'), 'utf8').toString(),
84 + };
85 +
86 + HTTPS.createServer(option, app).listen(sslport, () => {
87 + console.log(`[HTTPS] Server is started on port ${sslport}`);
88 + });
89 + } catch (error) {
90 + console.log('[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.');
91 + console.log(error);
92 + }
93 +
...\ No newline at end of file ...\ No newline at end of file
1 +{
2 + "name": "trans",
3 + "version": "1.0.0",
4 + "lockfileVersion": 1,
5 + "requires": true,
6 + "dependencies": {
7 + "accepts": {
8 + "version": "1.3.7",
9 + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
10 + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
11 + "requires": {
12 + "mime-types": "~2.1.24",
13 + "negotiator": "0.6.2"
14 + }
15 + },
16 + "ajv": {
17 + "version": "6.12.2",
18 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
19 + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
20 + "requires": {
21 + "fast-deep-equal": "^3.1.1",
22 + "fast-json-stable-stringify": "^2.0.0",
23 + "json-schema-traverse": "^0.4.1",
24 + "uri-js": "^4.2.2"
25 + }
26 + },
27 + "array-flatten": {
28 + "version": "1.1.1",
29 + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
30 + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
31 + },
32 + "asn1": {
33 + "version": "0.2.4",
34 + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
35 + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
36 + "requires": {
37 + "safer-buffer": "~2.1.0"
38 + }
39 + },
40 + "assert-plus": {
41 + "version": "1.0.0",
42 + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
43 + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
44 + },
45 + "asynckit": {
46 + "version": "0.4.0",
47 + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
48 + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
49 + },
50 + "aws-sign2": {
51 + "version": "0.7.0",
52 + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
53 + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
54 + },
55 + "aws4": {
56 + "version": "1.9.1",
57 + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
58 + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug=="
59 + },
60 + "bcrypt-pbkdf": {
61 + "version": "1.0.2",
62 + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
63 + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
64 + "requires": {
65 + "tweetnacl": "^0.14.3"
66 + }
67 + },
68 + "body-parser": {
69 + "version": "1.19.0",
70 + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
71 + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
72 + "requires": {
73 + "bytes": "3.1.0",
74 + "content-type": "~1.0.4",
75 + "debug": "2.6.9",
76 + "depd": "~1.1.2",
77 + "http-errors": "1.7.2",
78 + "iconv-lite": "0.4.24",
79 + "on-finished": "~2.3.0",
80 + "qs": "6.7.0",
81 + "raw-body": "2.4.0",
82 + "type-is": "~1.6.17"
83 + }
84 + },
85 + "bytes": {
86 + "version": "3.1.0",
87 + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
88 + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
89 + },
90 + "caseless": {
91 + "version": "0.12.0",
92 + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
93 + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
94 + },
95 + "combined-stream": {
96 + "version": "1.0.8",
97 + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
98 + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
99 + "requires": {
100 + "delayed-stream": "~1.0.0"
101 + }
102 + },
103 + "content-disposition": {
104 + "version": "0.5.3",
105 + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
106 + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
107 + "requires": {
108 + "safe-buffer": "5.1.2"
109 + }
110 + },
111 + "content-type": {
112 + "version": "1.0.4",
113 + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
114 + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
115 + },
116 + "cookie": {
117 + "version": "0.4.0",
118 + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
119 + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
120 + },
121 + "cookie-signature": {
122 + "version": "1.0.6",
123 + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
124 + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
125 + },
126 + "core-util-is": {
127 + "version": "1.0.2",
128 + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
129 + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
130 + },
131 + "dashdash": {
132 + "version": "1.14.1",
133 + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
134 + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
135 + "requires": {
136 + "assert-plus": "^1.0.0"
137 + }
138 + },
139 + "debug": {
140 + "version": "2.6.9",
141 + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
142 + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
143 + "requires": {
144 + "ms": "2.0.0"
145 + }
146 + },
147 + "delayed-stream": {
148 + "version": "1.0.0",
149 + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
150 + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
151 + },
152 + "depd": {
153 + "version": "1.1.2",
154 + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
155 + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
156 + },
157 + "destroy": {
158 + "version": "1.0.4",
159 + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
160 + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
161 + },
162 + "ecc-jsbn": {
163 + "version": "0.1.2",
164 + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
165 + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
166 + "requires": {
167 + "jsbn": "~0.1.0",
168 + "safer-buffer": "^2.1.0"
169 + }
170 + },
171 + "ee-first": {
172 + "version": "1.1.1",
173 + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
174 + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
175 + },
176 + "encodeurl": {
177 + "version": "1.0.2",
178 + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
179 + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
180 + },
181 + "escape-html": {
182 + "version": "1.0.3",
183 + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
184 + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
185 + },
186 + "etag": {
187 + "version": "1.8.1",
188 + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
189 + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
190 + },
191 + "express": {
192 + "version": "4.17.1",
193 + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
194 + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
195 + "requires": {
196 + "accepts": "~1.3.7",
197 + "array-flatten": "1.1.1",
198 + "body-parser": "1.19.0",
199 + "content-disposition": "0.5.3",
200 + "content-type": "~1.0.4",
201 + "cookie": "0.4.0",
202 + "cookie-signature": "1.0.6",
203 + "debug": "2.6.9",
204 + "depd": "~1.1.2",
205 + "encodeurl": "~1.0.2",
206 + "escape-html": "~1.0.3",
207 + "etag": "~1.8.1",
208 + "finalhandler": "~1.1.2",
209 + "fresh": "0.5.2",
210 + "merge-descriptors": "1.0.1",
211 + "methods": "~1.1.2",
212 + "on-finished": "~2.3.0",
213 + "parseurl": "~1.3.3",
214 + "path-to-regexp": "0.1.7",
215 + "proxy-addr": "~2.0.5",
216 + "qs": "6.7.0",
217 + "range-parser": "~1.2.1",
218 + "safe-buffer": "5.1.2",
219 + "send": "0.17.1",
220 + "serve-static": "1.14.1",
221 + "setprototypeof": "1.1.1",
222 + "statuses": "~1.5.0",
223 + "type-is": "~1.6.18",
224 + "utils-merge": "1.0.1",
225 + "vary": "~1.1.2"
226 + }
227 + },
228 + "extend": {
229 + "version": "3.0.2",
230 + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
231 + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
232 + },
233 + "extsprintf": {
234 + "version": "1.3.0",
235 + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
236 + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
237 + },
238 + "fast-deep-equal": {
239 + "version": "3.1.1",
240 + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
241 + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA=="
242 + },
243 + "fast-json-stable-stringify": {
244 + "version": "2.1.0",
245 + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
246 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
247 + },
248 + "finalhandler": {
249 + "version": "1.1.2",
250 + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
251 + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
252 + "requires": {
253 + "debug": "2.6.9",
254 + "encodeurl": "~1.0.2",
255 + "escape-html": "~1.0.3",
256 + "on-finished": "~2.3.0",
257 + "parseurl": "~1.3.3",
258 + "statuses": "~1.5.0",
259 + "unpipe": "~1.0.0"
260 + }
261 + },
262 + "forever-agent": {
263 + "version": "0.6.1",
264 + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
265 + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
266 + },
267 + "form-data": {
268 + "version": "2.3.3",
269 + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
270 + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
271 + "requires": {
272 + "asynckit": "^0.4.0",
273 + "combined-stream": "^1.0.6",
274 + "mime-types": "^2.1.12"
275 + }
276 + },
277 + "forwarded": {
278 + "version": "0.1.2",
279 + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
280 + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
281 + },
282 + "fresh": {
283 + "version": "0.5.2",
284 + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
285 + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
286 + },
287 + "getpass": {
288 + "version": "0.1.7",
289 + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
290 + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
291 + "requires": {
292 + "assert-plus": "^1.0.0"
293 + }
294 + },
295 + "har-schema": {
296 + "version": "2.0.0",
297 + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
298 + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
299 + },
300 + "har-validator": {
301 + "version": "5.1.3",
302 + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
303 + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
304 + "requires": {
305 + "ajv": "^6.5.5",
306 + "har-schema": "^2.0.0"
307 + }
308 + },
309 + "http-errors": {
310 + "version": "1.7.2",
311 + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
312 + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
313 + "requires": {
314 + "depd": "~1.1.2",
315 + "inherits": "2.0.3",
316 + "setprototypeof": "1.1.1",
317 + "statuses": ">= 1.5.0 < 2",
318 + "toidentifier": "1.0.0"
319 + }
320 + },
321 + "http-signature": {
322 + "version": "1.2.0",
323 + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
324 + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
325 + "requires": {
326 + "assert-plus": "^1.0.0",
327 + "jsprim": "^1.2.2",
328 + "sshpk": "^1.7.0"
329 + }
330 + },
331 + "iconv-lite": {
332 + "version": "0.4.24",
333 + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
334 + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
335 + "requires": {
336 + "safer-buffer": ">= 2.1.2 < 3"
337 + }
338 + },
339 + "inherits": {
340 + "version": "2.0.3",
341 + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
342 + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
343 + },
344 + "ipaddr.js": {
345 + "version": "1.9.1",
346 + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
347 + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
348 + },
349 + "is-typedarray": {
350 + "version": "1.0.0",
351 + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
352 + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
353 + },
354 + "isstream": {
355 + "version": "0.1.2",
356 + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
357 + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
358 + },
359 + "jsbn": {
360 + "version": "0.1.1",
361 + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
362 + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
363 + },
364 + "json-schema": {
365 + "version": "0.2.3",
366 + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
367 + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
368 + },
369 + "json-schema-traverse": {
370 + "version": "0.4.1",
371 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
372 + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
373 + },
374 + "json-stringify-safe": {
375 + "version": "5.0.1",
376 + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
377 + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
378 + },
379 + "jsprim": {
380 + "version": "1.4.1",
381 + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
382 + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
383 + "requires": {
384 + "assert-plus": "1.0.0",
385 + "extsprintf": "1.3.0",
386 + "json-schema": "0.2.3",
387 + "verror": "1.10.0"
388 + }
389 + },
390 + "media-typer": {
391 + "version": "0.3.0",
392 + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
393 + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
394 + },
395 + "merge-descriptors": {
396 + "version": "1.0.1",
397 + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
398 + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
399 + },
400 + "methods": {
401 + "version": "1.1.2",
402 + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
403 + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
404 + },
405 + "mime": {
406 + "version": "1.6.0",
407 + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
408 + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
409 + },
410 + "mime-db": {
411 + "version": "1.44.0",
412 + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
413 + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
414 + },
415 + "mime-types": {
416 + "version": "2.1.27",
417 + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
418 + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
419 + "requires": {
420 + "mime-db": "1.44.0"
421 + }
422 + },
423 + "ms": {
424 + "version": "2.0.0",
425 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
426 + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
427 + },
428 + "negotiator": {
429 + "version": "0.6.2",
430 + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
431 + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
432 + },
433 + "oauth-sign": {
434 + "version": "0.9.0",
435 + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
436 + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
437 + },
438 + "on-finished": {
439 + "version": "2.3.0",
440 + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
441 + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
442 + "requires": {
443 + "ee-first": "1.1.1"
444 + }
445 + },
446 + "parseurl": {
447 + "version": "1.3.3",
448 + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
449 + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
450 + },
451 + "path-to-regexp": {
452 + "version": "0.1.7",
453 + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
454 + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
455 + },
456 + "performance-now": {
457 + "version": "2.1.0",
458 + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
459 + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
460 + },
461 + "proxy-addr": {
462 + "version": "2.0.6",
463 + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
464 + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
465 + "requires": {
466 + "forwarded": "~0.1.2",
467 + "ipaddr.js": "1.9.1"
468 + }
469 + },
470 + "psl": {
471 + "version": "1.8.0",
472 + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
473 + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
474 + },
475 + "punycode": {
476 + "version": "2.1.1",
477 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
478 + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
479 + },
480 + "qs": {
481 + "version": "6.7.0",
482 + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
483 + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
484 + },
485 + "range-parser": {
486 + "version": "1.2.1",
487 + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
488 + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
489 + },
490 + "raw-body": {
491 + "version": "2.4.0",
492 + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
493 + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
494 + "requires": {
495 + "bytes": "3.1.0",
496 + "http-errors": "1.7.2",
497 + "iconv-lite": "0.4.24",
498 + "unpipe": "1.0.0"
499 + }
500 + },
501 + "request": {
502 + "version": "2.88.2",
503 + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
504 + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
505 + "requires": {
506 + "aws-sign2": "~0.7.0",
507 + "aws4": "^1.8.0",
508 + "caseless": "~0.12.0",
509 + "combined-stream": "~1.0.6",
510 + "extend": "~3.0.2",
511 + "forever-agent": "~0.6.1",
512 + "form-data": "~2.3.2",
513 + "har-validator": "~5.1.3",
514 + "http-signature": "~1.2.0",
515 + "is-typedarray": "~1.0.0",
516 + "isstream": "~0.1.2",
517 + "json-stringify-safe": "~5.0.1",
518 + "mime-types": "~2.1.19",
519 + "oauth-sign": "~0.9.0",
520 + "performance-now": "^2.1.0",
521 + "qs": "~6.5.2",
522 + "safe-buffer": "^5.1.2",
523 + "tough-cookie": "~2.5.0",
524 + "tunnel-agent": "^0.6.0",
525 + "uuid": "^3.3.2"
526 + },
527 + "dependencies": {
528 + "qs": {
529 + "version": "6.5.2",
530 + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
531 + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
532 + }
533 + }
534 + },
535 + "safe-buffer": {
536 + "version": "5.1.2",
537 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
538 + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
539 + },
540 + "safer-buffer": {
541 + "version": "2.1.2",
542 + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
543 + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
544 + },
545 + "send": {
546 + "version": "0.17.1",
547 + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
548 + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
549 + "requires": {
550 + "debug": "2.6.9",
551 + "depd": "~1.1.2",
552 + "destroy": "~1.0.4",
553 + "encodeurl": "~1.0.2",
554 + "escape-html": "~1.0.3",
555 + "etag": "~1.8.1",
556 + "fresh": "0.5.2",
557 + "http-errors": "~1.7.2",
558 + "mime": "1.6.0",
559 + "ms": "2.1.1",
560 + "on-finished": "~2.3.0",
561 + "range-parser": "~1.2.1",
562 + "statuses": "~1.5.0"
563 + },
564 + "dependencies": {
565 + "ms": {
566 + "version": "2.1.1",
567 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
568 + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
569 + }
570 + }
571 + },
572 + "serve-static": {
573 + "version": "1.14.1",
574 + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
575 + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
576 + "requires": {
577 + "encodeurl": "~1.0.2",
578 + "escape-html": "~1.0.3",
579 + "parseurl": "~1.3.3",
580 + "send": "0.17.1"
581 + }
582 + },
583 + "setprototypeof": {
584 + "version": "1.1.1",
585 + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
586 + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
587 + },
588 + "sshpk": {
589 + "version": "1.16.1",
590 + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
591 + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
592 + "requires": {
593 + "asn1": "~0.2.3",
594 + "assert-plus": "^1.0.0",
595 + "bcrypt-pbkdf": "^1.0.0",
596 + "dashdash": "^1.12.0",
597 + "ecc-jsbn": "~0.1.1",
598 + "getpass": "^0.1.1",
599 + "jsbn": "~0.1.0",
600 + "safer-buffer": "^2.0.2",
601 + "tweetnacl": "~0.14.0"
602 + }
603 + },
604 + "statuses": {
605 + "version": "1.5.0",
606 + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
607 + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
608 + },
609 + "toidentifier": {
610 + "version": "1.0.0",
611 + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
612 + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
613 + },
614 + "tough-cookie": {
615 + "version": "2.5.0",
616 + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
617 + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
618 + "requires": {
619 + "psl": "^1.1.28",
620 + "punycode": "^2.1.1"
621 + }
622 + },
623 + "tunnel-agent": {
624 + "version": "0.6.0",
625 + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
626 + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
627 + "requires": {
628 + "safe-buffer": "^5.0.1"
629 + }
630 + },
631 + "tweetnacl": {
632 + "version": "0.14.5",
633 + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
634 + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
635 + },
636 + "type-is": {
637 + "version": "1.6.18",
638 + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
639 + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
640 + "requires": {
641 + "media-typer": "0.3.0",
642 + "mime-types": "~2.1.24"
643 + }
644 + },
645 + "unpipe": {
646 + "version": "1.0.0",
647 + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
648 + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
649 + },
650 + "uri-js": {
651 + "version": "4.2.2",
652 + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
653 + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
654 + "requires": {
655 + "punycode": "^2.1.0"
656 + }
657 + },
658 + "utils-merge": {
659 + "version": "1.0.1",
660 + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
661 + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
662 + },
663 + "uuid": {
664 + "version": "3.4.0",
665 + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
666 + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
667 + },
668 + "vary": {
669 + "version": "1.1.2",
670 + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
671 + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
672 + },
673 + "verror": {
674 + "version": "1.10.0",
675 + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
676 + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
677 + "requires": {
678 + "assert-plus": "^1.0.0",
679 + "core-util-is": "1.0.2",
680 + "extsprintf": "^1.2.0"
681 + }
682 + }
683 + }
684 +}
1 +{
2 + "name": "trans",
3 + "version": "1.0.0",
4 + "description": "",
5 + "main": "app.js",
6 + "scripts": {
7 + "test": "echo \"Error: no test specified\" && exit 1"
8 + },
9 + "author": "",
10 + "license": "ISC",
11 + "dependencies": {
12 + "express": "^4.17.1",
13 + "request": "^2.88.2"
14 + }
15 +}