Browse Source

Initial commit

master
Dylan Baker 4 years ago
commit
53dbe79463
8 changed files with 1684 additions and 0 deletions
  1. 5
    0
      .env.example
  2. 2
    0
      .gitignore
  3. 19
    0
      LICENSE
  4. 22
    0
      README.md
  5. 51
    0
      index.js
  6. 376
    0
      package-lock.json
  7. 14
    0
      package.json
  8. 1195
    0
      tlds.js

+ 5
- 0
.env.example View File

@@ -0,0 +1,5 @@
1
+TWITTER_CONSUMER_KEY=<consumer key>
2
+TWITTER_CONSUMER_SECRET=<consumer secret>
3
+TWITTER_ACCESS_TOKEN_KEY=<access token key>
4
+TWITTER_ACCESS_TOKEN_SECRET=<access token secret>
5
+DICTFILE=</path/to/dictionary/file>

+ 2
- 0
.gitignore View File

@@ -0,0 +1,2 @@
1
+node_modules
2
+.env

+ 19
- 0
LICENSE View File

@@ -0,0 +1,19 @@
1
+Copyright (c) 2019 Dylan Baker
2
+
3
+Permission is hereby granted, free of charge, to any person obtaining a copy
4
+of this software and associated documentation files (the "Software"), to deal
5
+in the Software without restriction, including without limitation the rights
6
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+copies of the Software, and to permit persons to whom the Software is
8
+furnished to do so, subject to the following conditions:
9
+
10
+The above copyright notice and this permission notice shall be included in all
11
+copies or substantial portions of the Software.
12
+
13
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+SOFTWARE.

+ 22
- 0
README.md View File

@@ -0,0 +1,22 @@
1
+# Random Domains Bot
2
+
3
+This is a bot that generates random domain names and posts them to Twitter.
4
+
5
+## Usage
6
+
7
+Rename `.env.example` to `.env` and fill in the appropriate values and then run
8
+
9
+```
10
+$ node index.js
11
+```
12
+
13
+You can also specify a path to a `.env` file, which I've found useful for usage
14
+with cron.
15
+
16
+```
17
+$ ENV_PATH=/path/to/env/file node index.js --env-path path/to/env/file
18
+```
19
+
20
+## License
21
+
22
+This is open source software under the terms of the MIT license.

+ 51
- 0
index.js View File

@@ -0,0 +1,51 @@
1
+const dotenv = require("dotenv");
2
+const fs = require("fs");
3
+const minimist = require("minimist");
4
+const path = require("path");
5
+const Twitter = require("twit");
6
+
7
+const args = minimist(process.argv.slice(2));
8
+
9
+const helpText = `USAGE: node index.js [options]
10
+
11
+Options:
12
+
13
+--env-path, -e                        path to environment file (default: ./.env)
14
+--help, -h                                     show this help message and exit`;
15
+
16
+if (args["help"] || args["h"]) {
17
+  console.log(helpText);
18
+  process.exit();
19
+}
20
+
21
+const envPath = args["env-path"] ? args["env-path"] : "./.env";
22
+
23
+dotenv.config({ path: envPath });
24
+
25
+const keys = {
26
+  consumer_key: process.env.TWITTER_CONSUMER_KEY,
27
+  consumer_secret: process.env.TWITTER_CONSUMER_SECRET,
28
+  access_token: process.env.TWITTER_ACCESS_TOKEN_KEY,
29
+  access_token_secret: process.env.TWITTER_ACCESS_TOKEN_SECRET,
30
+};
31
+
32
+const tlds = require("./tlds");
33
+const words = fs
34
+  .readFileSync(process.env.DICTFILE, "utf-8")
35
+  .split("\n")
36
+  .filter((word) => /^[a-zA-Z]+$/.test(word))
37
+  .map((word) => word.toLowerCase());
38
+
39
+const randomItem = (list) => {
40
+  return list[Math.floor(Math.random() * list.length)];
41
+};
42
+
43
+const tld = randomItem(tlds);
44
+const word = randomItem(words);
45
+const twitter = new Twitter(keys);
46
+
47
+twitter.post("statuses/update", { status: `${word}${tld}` }, function(
48
+  err,
49
+  data,
50
+  response,
51
+) {});

+ 376
- 0
package-lock.json View File

@@ -0,0 +1,376 @@
1
+{
2
+  "name": "random-domains-bot",
3
+  "version": "0.1.0",
4
+  "lockfileVersion": 1,
5
+  "requires": true,
6
+  "dependencies": {
7
+    "ajv": {
8
+      "version": "6.10.2",
9
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
10
+      "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
11
+      "requires": {
12
+        "fast-deep-equal": "^2.0.1",
13
+        "fast-json-stable-stringify": "^2.0.0",
14
+        "json-schema-traverse": "^0.4.1",
15
+        "uri-js": "^4.2.2"
16
+      }
17
+    },
18
+    "asn1": {
19
+      "version": "0.2.4",
20
+      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
21
+      "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
22
+      "requires": {
23
+        "safer-buffer": "~2.1.0"
24
+      }
25
+    },
26
+    "assert-plus": {
27
+      "version": "1.0.0",
28
+      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
29
+      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
30
+    },
31
+    "asynckit": {
32
+      "version": "0.4.0",
33
+      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
34
+      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
35
+    },
36
+    "aws-sign2": {
37
+      "version": "0.7.0",
38
+      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
39
+      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
40
+    },
41
+    "aws4": {
42
+      "version": "1.8.0",
43
+      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
44
+      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
45
+    },
46
+    "bcrypt-pbkdf": {
47
+      "version": "1.0.2",
48
+      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
49
+      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
50
+      "requires": {
51
+        "tweetnacl": "^0.14.3"
52
+      }
53
+    },
54
+    "bluebird": {
55
+      "version": "3.5.5",
56
+      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
57
+      "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w=="
58
+    },
59
+    "caseless": {
60
+      "version": "0.12.0",
61
+      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
62
+      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
63
+    },
64
+    "combined-stream": {
65
+      "version": "1.0.8",
66
+      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
67
+      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
68
+      "requires": {
69
+        "delayed-stream": "~1.0.0"
70
+      }
71
+    },
72
+    "core-util-is": {
73
+      "version": "1.0.2",
74
+      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
75
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
76
+    },
77
+    "dashdash": {
78
+      "version": "1.14.1",
79
+      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
80
+      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
81
+      "requires": {
82
+        "assert-plus": "^1.0.0"
83
+      }
84
+    },
85
+    "delayed-stream": {
86
+      "version": "1.0.0",
87
+      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
88
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
89
+    },
90
+    "dotenv": {
91
+      "version": "8.0.0",
92
+      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.0.0.tgz",
93
+      "integrity": "sha512-30xVGqjLjiUOArT4+M5q9sYdvuR4riM6yK9wMcas9Vbp6zZa+ocC9dp6QoftuhTPhFAiLK/0C5Ni2nou/Bk8lg=="
94
+    },
95
+    "ecc-jsbn": {
96
+      "version": "0.1.2",
97
+      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
98
+      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
99
+      "requires": {
100
+        "jsbn": "~0.1.0",
101
+        "safer-buffer": "^2.1.0"
102
+      }
103
+    },
104
+    "extend": {
105
+      "version": "3.0.2",
106
+      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
107
+      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
108
+    },
109
+    "extsprintf": {
110
+      "version": "1.3.0",
111
+      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
112
+      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
113
+    },
114
+    "fast-deep-equal": {
115
+      "version": "2.0.1",
116
+      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
117
+      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
118
+    },
119
+    "fast-json-stable-stringify": {
120
+      "version": "2.0.0",
121
+      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
122
+      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
123
+    },
124
+    "forever-agent": {
125
+      "version": "0.6.1",
126
+      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
127
+      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
128
+    },
129
+    "form-data": {
130
+      "version": "2.3.3",
131
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
132
+      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
133
+      "requires": {
134
+        "asynckit": "^0.4.0",
135
+        "combined-stream": "^1.0.6",
136
+        "mime-types": "^2.1.12"
137
+      }
138
+    },
139
+    "getpass": {
140
+      "version": "0.1.7",
141
+      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
142
+      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
143
+      "requires": {
144
+        "assert-plus": "^1.0.0"
145
+      }
146
+    },
147
+    "har-schema": {
148
+      "version": "2.0.0",
149
+      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
150
+      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
151
+    },
152
+    "har-validator": {
153
+      "version": "5.1.3",
154
+      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
155
+      "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
156
+      "requires": {
157
+        "ajv": "^6.5.5",
158
+        "har-schema": "^2.0.0"
159
+      }
160
+    },
161
+    "http-signature": {
162
+      "version": "1.2.0",
163
+      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
164
+      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
165
+      "requires": {
166
+        "assert-plus": "^1.0.0",
167
+        "jsprim": "^1.2.2",
168
+        "sshpk": "^1.7.0"
169
+      }
170
+    },
171
+    "is-typedarray": {
172
+      "version": "1.0.0",
173
+      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
174
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
175
+    },
176
+    "isstream": {
177
+      "version": "0.1.2",
178
+      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
179
+      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
180
+    },
181
+    "jsbn": {
182
+      "version": "0.1.1",
183
+      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
184
+      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
185
+    },
186
+    "json-schema": {
187
+      "version": "0.2.3",
188
+      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
189
+      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
190
+    },
191
+    "json-schema-traverse": {
192
+      "version": "0.4.1",
193
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
194
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
195
+    },
196
+    "json-stringify-safe": {
197
+      "version": "5.0.1",
198
+      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
199
+      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
200
+    },
201
+    "jsprim": {
202
+      "version": "1.4.1",
203
+      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
204
+      "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
205
+      "requires": {
206
+        "assert-plus": "1.0.0",
207
+        "extsprintf": "1.3.0",
208
+        "json-schema": "0.2.3",
209
+        "verror": "1.10.0"
210
+      }
211
+    },
212
+    "mime": {
213
+      "version": "1.6.0",
214
+      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
215
+      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
216
+    },
217
+    "mime-db": {
218
+      "version": "1.40.0",
219
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
220
+      "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA=="
221
+    },
222
+    "mime-types": {
223
+      "version": "2.1.24",
224
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
225
+      "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
226
+      "requires": {
227
+        "mime-db": "1.40.0"
228
+      }
229
+    },
230
+    "minimist": {
231
+      "version": "1.2.0",
232
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
233
+      "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
234
+    },
235
+    "oauth-sign": {
236
+      "version": "0.9.0",
237
+      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
238
+      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
239
+    },
240
+    "performance-now": {
241
+      "version": "2.1.0",
242
+      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
243
+      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
244
+    },
245
+    "psl": {
246
+      "version": "1.3.0",
247
+      "resolved": "https://registry.npmjs.org/psl/-/psl-1.3.0.tgz",
248
+      "integrity": "sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag=="
249
+    },
250
+    "punycode": {
251
+      "version": "2.1.1",
252
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
253
+      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
254
+    },
255
+    "qs": {
256
+      "version": "6.5.2",
257
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
258
+      "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
259
+    },
260
+    "request": {
261
+      "version": "2.88.0",
262
+      "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
263
+      "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
264
+      "requires": {
265
+        "aws-sign2": "~0.7.0",
266
+        "aws4": "^1.8.0",
267
+        "caseless": "~0.12.0",
268
+        "combined-stream": "~1.0.6",
269
+        "extend": "~3.0.2",
270
+        "forever-agent": "~0.6.1",
271
+        "form-data": "~2.3.2",
272
+        "har-validator": "~5.1.0",
273
+        "http-signature": "~1.2.0",
274
+        "is-typedarray": "~1.0.0",
275
+        "isstream": "~0.1.2",
276
+        "json-stringify-safe": "~5.0.1",
277
+        "mime-types": "~2.1.19",
278
+        "oauth-sign": "~0.9.0",
279
+        "performance-now": "^2.1.0",
280
+        "qs": "~6.5.2",
281
+        "safe-buffer": "^5.1.2",
282
+        "tough-cookie": "~2.4.3",
283
+        "tunnel-agent": "^0.6.0",
284
+        "uuid": "^3.3.2"
285
+      }
286
+    },
287
+    "safe-buffer": {
288
+      "version": "5.2.0",
289
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
290
+      "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
291
+    },
292
+    "safer-buffer": {
293
+      "version": "2.1.2",
294
+      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
295
+      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
296
+    },
297
+    "sshpk": {
298
+      "version": "1.16.1",
299
+      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
300
+      "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
301
+      "requires": {
302
+        "asn1": "~0.2.3",
303
+        "assert-plus": "^1.0.0",
304
+        "bcrypt-pbkdf": "^1.0.0",
305
+        "dashdash": "^1.12.0",
306
+        "ecc-jsbn": "~0.1.1",
307
+        "getpass": "^0.1.1",
308
+        "jsbn": "~0.1.0",
309
+        "safer-buffer": "^2.0.2",
310
+        "tweetnacl": "~0.14.0"
311
+      }
312
+    },
313
+    "tough-cookie": {
314
+      "version": "2.4.3",
315
+      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
316
+      "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
317
+      "requires": {
318
+        "psl": "^1.1.24",
319
+        "punycode": "^1.4.1"
320
+      },
321
+      "dependencies": {
322
+        "punycode": {
323
+          "version": "1.4.1",
324
+          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
325
+          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
326
+        }
327
+      }
328
+    },
329
+    "tunnel-agent": {
330
+      "version": "0.6.0",
331
+      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
332
+      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
333
+      "requires": {
334
+        "safe-buffer": "^5.0.1"
335
+      }
336
+    },
337
+    "tweetnacl": {
338
+      "version": "0.14.5",
339
+      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
340
+      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
341
+    },
342
+    "twit": {
343
+      "version": "2.2.11",
344
+      "resolved": "https://registry.npmjs.org/twit/-/twit-2.2.11.tgz",
345
+      "integrity": "sha512-BkdwvZGRVoUTcEBp0zuocuqfih4LB+kEFUWkWJOVBg6pAE9Ebv9vmsYTTrfXleZGf45Bj5H3A1/O9YhF2uSYNg==",
346
+      "requires": {
347
+        "bluebird": "^3.1.5",
348
+        "mime": "^1.3.4",
349
+        "request": "^2.68.0"
350
+      }
351
+    },
352
+    "uri-js": {
353
+      "version": "4.2.2",
354
+      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
355
+      "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
356
+      "requires": {
357
+        "punycode": "^2.1.0"
358
+      }
359
+    },
360
+    "uuid": {
361
+      "version": "3.3.2",
362
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
363
+      "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
364
+    },
365
+    "verror": {
366
+      "version": "1.10.0",
367
+      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
368
+      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
369
+      "requires": {
370
+        "assert-plus": "^1.0.0",
371
+        "core-util-is": "1.0.2",
372
+        "extsprintf": "^1.2.0"
373
+      }
374
+    }
375
+  }
376
+}

+ 14
- 0
package.json View File

@@ -0,0 +1,14 @@
1
+{
2
+  "name": "random-domains-bot",
3
+  "version": "0.1.0",
4
+  "description": "A bot that generates random domain names and posts them to Twitter",
5
+  "main": "index.js",
6
+  "keywords": [],
7
+  "author": "Dylan Baker <dylan@simulacrum.party>",
8
+  "license": "MIT",
9
+  "dependencies": {
10
+    "dotenv": "^8.0.0",
11
+    "minimist": "^1.2.0",
12
+    "twit": "^2.2.11"
13
+  }
14
+}

+ 1195
- 0
tlds.js
File diff suppressed because it is too large
View File


Loading…
Cancel
Save