Compare commits
No commits in common. "744ab922d6827f189cc44ffcefe0e07f78527fa9" and "1c32f1f2ca9f0e3c7ee8916ea10c7fd94a350054" have entirely different histories.
744ab922d6
...
1c32f1f2ca
@ -53,13 +53,7 @@ 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
|
||||||
|
|
||||||
|
95
sshChat.mjs
95
sshChat.mjs
@ -17,7 +17,6 @@ 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
|
||||||
@ -36,55 +35,45 @@ 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({
|
.headers({'Accept': 'application/json', 'Content-Type': 'application/json',
|
||||||
'Accept': 'application/json', 'Content-Type': 'application/json',
|
'x-discord-linux-auth': key})
|
||||||
'x-discord-linux-auth': key
|
.send({"cmd": cmd, "pwd": pwd})
|
||||||
})
|
|
||||||
.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({
|
.headers({'Accept': 'application/json', 'Content-Type': 'application/json',
|
||||||
'Accept': 'application/json', 'Content-Type': 'application/json',
|
'x-discord-linux-auth': key})
|
||||||
'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({
|
.headers({'Accept': 'application/json', 'Content-Type': 'application/json',
|
||||||
'Accept': 'application/json', 'Content-Type': 'application/json',
|
'x-discord-linux-auth': key})
|
||||||
'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({
|
.headers({'Accept': 'application/json', 'Content-Type': 'application/json',
|
||||||
'Accept': 'application/json', 'Content-Type': 'application/json',
|
'x-discord-linux-auth': key})
|
||||||
'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({
|
.headers({'Accept': 'application/json', 'Content-Type': 'application/json',
|
||||||
'Accept': 'application/json', 'Content-Type': 'application/json',
|
'x-discord-linux-auth': key})
|
||||||
'x-discord-linux-auth': key
|
|
||||||
})
|
|
||||||
console.log(getStats.body)
|
console.log(getStats.body)
|
||||||
return getStats.body.data
|
return getStats.body.data
|
||||||
}
|
}
|
||||||
@ -128,78 +117,64 @@ 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 start = input.match(/^\/start (\S+)$/)
|
||||||
|
if (start) {
|
||||||
const cmdToRun = start[1]
|
const cmdToRun = start[1]
|
||||||
startContainer(DAPI_KEY.key).then((data) => {
|
startContainer(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 start: \n` + data)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const stop = input.match(/^\/stop (\S+)$/)
|
const stop = input.match(/^\/stop (\S+)$/)
|
||||||
if (stop) {
|
if (stop) {
|
||||||
const cmdToRun = stop[1]
|
const cmdToRun = stop[1]
|
||||||
stopContainer(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 stop: \n` + data)
|
conn.write(`${USERNAME} ran stop: \n` + data)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const restart = input.match(/^\/restart (\S+)$/)
|
const restart = input.match(/^\/restart (\S+)$/)
|
||||||
if (restart) {
|
if (restart) {
|
||||||
const restart = restart[1]
|
const restart = restart[1]
|
||||||
restartContainer(DAPI_KEY.key).then((data) => {
|
restartContainer(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 restart: \n` + data)
|
conn.write(`${USERNAME} ran restart: \n` + data)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const stats = input.match(/^\/stats (\S+)$/)
|
const stats = input.match(/^\/stats (\S+)$/)
|
||||||
if (stats) {
|
if (stats) {
|
||||||
const stats = stats[1]
|
const stats = stats[1]
|
||||||
getStats(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 stats: \n` + 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