Compare commits
3 Commits
1c32f1f2ca
...
744ab922d6
Author | SHA1 | Date | |
---|---|---|---|
|
744ab922d6 | ||
|
aa70725eaa | ||
|
b8f039cb9e |
@ -53,7 +53,13 @@ To connect to an altready made topic (room) pass the hash on start up:
|
|||||||
|
|
||||||
/login [API KEY] - Login to the API
|
/login [API KEY] - Login to the API
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
|
\> command here - Send a command to your container
|
||||||
|
|
||||||
|
\> cd /to/path - change working directory
|
||||||
|
=======
|
||||||
\>command here - Send a command to your container
|
\>command here - Send a command to your container
|
||||||
|
>>>>>>> 1c32f1f2ca9f0e3c7ee8916ea10c7fd94a350054
|
||||||
|
|
||||||
/start - Start your container
|
/start - Start your container
|
||||||
|
|
||||||
|
159
sshChat.mjs
159
sshChat.mjs
@ -17,6 +17,7 @@ goodbye(() => swarm.destroy())
|
|||||||
// Keep track of all connections and USERNAMEs
|
// Keep track of all connections and USERNAMEs
|
||||||
const conns = []
|
const conns = []
|
||||||
const names = {}
|
const names = {}
|
||||||
|
let USERPWD = "/"
|
||||||
let DAPI_KEY = {}
|
let DAPI_KEY = {}
|
||||||
let USERNAME = "annon" + rand
|
let USERNAME = "annon" + rand
|
||||||
let LOGGEDIN = false
|
let LOGGEDIN = false
|
||||||
@ -35,45 +36,55 @@ async function getUSERNAME(key) {
|
|||||||
return requestUSERNAME.body.message.replace("Hello, ", "").replace("!", "")
|
return requestUSERNAME.body.message.replace("Hello, ", "").replace("!", "")
|
||||||
}
|
}
|
||||||
|
|
||||||
async function runCMD(key, cmd, pwd){
|
async function runCMD(key, cmd, pwd) {
|
||||||
let requestData = await unirest
|
let requestData = await unirest
|
||||||
.post('https://api.discord-linux.com/exec')
|
.post('https://api.discord-linux.com/exec')
|
||||||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json',
|
.headers({
|
||||||
'x-discord-linux-auth': key})
|
'Accept': 'application/json', 'Content-Type': 'application/json',
|
||||||
.send({"cmd": cmd, "pwd": pwd})
|
'x-discord-linux-auth': key
|
||||||
|
})
|
||||||
|
.send({ "cmd": cmd, "pwd": pwd })
|
||||||
return requestData.body.stdout
|
return requestData.body.stdout
|
||||||
}
|
}
|
||||||
|
|
||||||
async function startContainer(key){
|
async function startContainer(key) {
|
||||||
let startContainer = await unirest
|
let startContainer = await unirest
|
||||||
.get('https://api.discord-linux.com/start')
|
.get('https://api.discord-linux.com/start')
|
||||||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json',
|
.headers({
|
||||||
'x-discord-linux-auth': key})
|
'Accept': 'application/json', 'Content-Type': 'application/json',
|
||||||
|
'x-discord-linux-auth': key
|
||||||
|
})
|
||||||
return startContainer.body.completed
|
return startContainer.body.completed
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
async function stopContainer(key){
|
async function stopContainer(key) {
|
||||||
let stopContainer = await unirest
|
let stopContainer = await unirest
|
||||||
.get('https://api.discord-linux.com/stop')
|
.get('https://api.discord-linux.com/stop')
|
||||||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json',
|
.headers({
|
||||||
'x-discord-linux-auth': key})
|
'Accept': 'application/json', 'Content-Type': 'application/json',
|
||||||
|
'x-discord-linux-auth': key
|
||||||
|
})
|
||||||
return stopContainer.body.completed
|
return stopContainer.body.completed
|
||||||
}
|
}
|
||||||
|
|
||||||
async function restartContainer(key){
|
async function restartContainer(key) {
|
||||||
let restartContainer = await unirest
|
let restartContainer = await unirest
|
||||||
.get('https://api.discord-linux.com/restart')
|
.get('https://api.discord-linux.com/restart')
|
||||||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json',
|
.headers({
|
||||||
'x-discord-linux-auth': key})
|
'Accept': 'application/json', 'Content-Type': 'application/json',
|
||||||
|
'x-discord-linux-auth': key
|
||||||
|
})
|
||||||
return restartContainer.body.completed
|
return restartContainer.body.completed
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getStats(key){
|
async function getStats(key) {
|
||||||
let getStats = await unirest
|
let getStats = await unirest
|
||||||
.get('https://api.discord-linux.com/restart')
|
.get('https://api.discord-linux.com/restart')
|
||||||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json',
|
.headers({
|
||||||
'x-discord-linux-auth': key})
|
'Accept': 'application/json', 'Content-Type': 'application/json',
|
||||||
|
'x-discord-linux-auth': key
|
||||||
|
})
|
||||||
console.log(getStats.body)
|
console.log(getStats.body)
|
||||||
return getStats.body.data
|
return getStats.body.data
|
||||||
}
|
}
|
||||||
@ -117,64 +128,78 @@ rl.on('line', input => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const changeDir = input.startsWith(">cd") || input.startsWith("> cd")
|
||||||
|
if (changeDir) {
|
||||||
|
const commandArgs = input.replace("> cd ", "").replace(">cd", "").replace(" ", "")
|
||||||
|
if (commandArgs.startsWith("/")) {
|
||||||
|
USERPWD = commandArgs;
|
||||||
|
console.log("Directory Changed to: " + USERPWD)
|
||||||
|
} else {
|
||||||
|
USERPWD = USERPWD + "/" + commandArgs;
|
||||||
|
console.log("Directory Changed to: " + USERPWD)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const execute = input.startsWith(">")
|
const execute = input.startsWith(">")
|
||||||
if (execute) {
|
if (execute) {
|
||||||
let inputdata = input.split(2)
|
let inputdata = input.split(2)
|
||||||
const cmdToRun = inputdata.join(" ").replace("> ", "").replace(">","")
|
const cmdToRun = inputdata.join(" ").replace("> ", "").replace(">", "")
|
||||||
|
if (cmdToRun.includes("cd")) return
|
||||||
runCMD(DAPI_KEY.key, cmdToRun, "/").then((data) => {
|
runCMD(DAPI_KEY.key, cmdToRun, "/").then((data) => {
|
||||||
console.log(data)
|
console.log(data)
|
||||||
for (const conn of conns) {
|
for (const conn of conns) {
|
||||||
conn.write(`${USERNAME} ran ${cmdToRun}: \n` + data)
|
conn.write(`${USERNAME} ran ${cmdToRun}: \n` + data)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const start = input.match(/^\/start (\S+)$/)
|
||||||
|
if (start) {
|
||||||
|
const cmdToRun = start[1]
|
||||||
|
startContainer(DAPI_KEY.key).then((data) => {
|
||||||
|
for (const conn of conns) {
|
||||||
|
console.log(data)
|
||||||
|
conn.write(`${USERNAME} ran start: \n` + data)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const start = input.match(/^\/start (\S+)$/)
|
const stop = input.match(/^\/stop (\S+)$/)
|
||||||
if (start) {
|
if (stop) {
|
||||||
const cmdToRun = start[1]
|
const cmdToRun = stop[1]
|
||||||
startContainer(DAPI_KEY.key).then((data) => {
|
stopContainer(DAPI_KEY.key).then((data) => {
|
||||||
for (const conn of conns) {
|
for (const conn of conns) {
|
||||||
console.log(data)
|
console.log(data)
|
||||||
conn.write(`${USERNAME} ran start: \n` + data)
|
conn.write(`${USERNAME} ran stop: \n` + data)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const restart = input.match(/^\/restart (\S+)$/)
|
||||||
|
if (restart) {
|
||||||
|
const restart = restart[1]
|
||||||
|
restartContainer(DAPI_KEY.key).then((data) => {
|
||||||
|
for (const conn of conns) {
|
||||||
|
console.log(data)
|
||||||
|
conn.write(`${USERNAME} ran restart: \n` + data)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const stop = input.match(/^\/stop (\S+)$/)
|
const stats = input.match(/^\/stats (\S+)$/)
|
||||||
if (stop) {
|
if (stats) {
|
||||||
const cmdToRun = stop[1]
|
const stats = stats[1]
|
||||||
stopContainer(DAPI_KEY.key).then((data) => {
|
getStats(DAPI_KEY.key).then((data) => {
|
||||||
for (const conn of conns) {
|
for (const conn of conns) {
|
||||||
console.log(data)
|
console.log(data)
|
||||||
conn.write(`${USERNAME} ran stop: \n` + data)
|
conn.write(`${USERNAME} ran stats: \n` + data)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const restart = input.match(/^\/restart (\S+)$/)
|
|
||||||
if (restart) {
|
|
||||||
const restart = restart[1]
|
|
||||||
restartContainer(DAPI_KEY.key).then((data) => {
|
|
||||||
for (const conn of conns) {
|
|
||||||
console.log(data)
|
|
||||||
conn.write(`${USERNAME} ran restart: \n` + data)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
const stats = input.match(/^\/stats (\S+)$/)
|
|
||||||
if (stats) {
|
|
||||||
const stats = stats[1]
|
|
||||||
getStats(DAPI_KEY.key).then((data) => {
|
|
||||||
for (const conn of conns) {
|
|
||||||
console.log(data)
|
|
||||||
conn.write(`${USERNAME} ran stats: \n` + data)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
else {
|
else {
|
||||||
// if (!LOGGEDIN) return console.log("Please login using /login [API KEY]")
|
// if (!LOGGEDIN) return console.log("Please login using /login [API KEY]")
|
||||||
|
Loading…
Reference in New Issue
Block a user