forked from supercrafter100/cubedfilemanager
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
119 lines (91 loc) · 1.66 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#!/usr/bin/env node
/**
* Imports
*/
require('dotenv').config();
const fetch = require('node-fetch');
const meow = require('meow');
const figlet = require('figlet');
const chalk = require('chalk');
const getToken = require('./request/getToken');
const createBroadcaster = require('./request/installScript');
const checkSession = require('./request/checkSession');
/**
* Start up
*/
// Startup message
console.log(
chalk.yellow(
figlet.textSync('CubedFileManager', { horizontalLayout: 'full' })
)
);
// Meow
const cli = meow(
`
Usagef
$ cfm <path> <args>
Options
--session, -s The session key (For faster starting)
--name, -n Say who connected with CFM
--folderSupport, -fs Enables folder suppor (creates folders in your file manager depending on your folders in here)
`,
{
flags: {
session: {
type: "string",
alias: "s",
},
name: {
type: "string",
alias: "n",
},
folderSupport: {
type: "boolean",
alias: "fs"
}
},
}
);
/**
* Check CLI stuff
*/
let headers;
let cookie;
// storing token
if (!cli.flags.session) {
stuff();
}
async function stuff() {
await getToken()
.then(async (token) => {
headers = {
cookie: `PHPSESSID=${token};`
};
cookie = token;
await createBroadcaster();
require('./watcher/watcher')
})
}
if (cli.flags.session) {
cookie = cli.flags.session;
headers = {
cookie: `PHPSESSID=${cookie};`,
};
}
module.exports = {
flags: cli,
watchpath: cli.input[0],
getHeaders() {
return headers;
},
getToken() {
return cookie;
}
}
async function stuff2() {
await checkSession();
require('./watcher/watcher')
}
if (cli.flags.session) {
stuff2();
}