Skip to content

Commit a6a8ad8

Browse files
author
Unknown
committed
made terminal 1.0
1 parent 228cd18 commit a6a8ad8

File tree

7 files changed

+134
-2
lines changed

7 files changed

+134
-2
lines changed

app.js

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ var session = require('express-session');
99
var index = require('./routes/index');
1010
var login = require('./routes/login');
1111
var home = require('./routes/home');
12+
var terminal = require('./routes/terminal');
1213

1314
var app = express();
1415
app.use(session({
@@ -45,6 +46,7 @@ app.use((req, res, next) => {
4546
});
4647

4748
app.use('/home', home);
49+
app.use('/terminal', terminal);
4850

4951
// catch 404 and forward to error handler
5052
app.use(function(req, res, next) {

package-lock.json

+95
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"morgan": "~1.9.0",
1515
"npm": "^5.8.0",
1616
"pug": "2.0.0-beta11",
17-
"serve-favicon": "~2.4.5"
17+
"serve-favicon": "~2.4.5",
18+
"shelljs": "^0.8.2"
1819
}
1920
}

public/assets/shadow.png

-3.49 KB
Binary file not shown.

routes/terminal.js

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
var express = require('express');
2+
var router = express.Router();
3+
var shell = require('shelljs');
4+
5+
router.get('/', function(req, res, next) {
6+
res.render('home/terminal', {
7+
title: 'terminal'
8+
});
9+
});
10+
11+
router.post('/', function(req, res, next) {
12+
if (!req.body.cmd) {
13+
return res.redirect('/terminal?error=nocommand');
14+
}
15+
shell.exec(req.body.cmd, function(code, stdout, stderr) {
16+
console.log('Exit code:', code);
17+
console.log('Program output:', stdout);
18+
console.log('Program stderr:', stderr);
19+
res.render('home/terminal', {
20+
title: 'terminal',
21+
output: stdout
22+
});
23+
});
24+
});
25+
26+
module.exports = router;

views/home/index.pug

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
extends ../template/layout
22

33
block content
4-
p hi
4+
p
5+
a(href='/terminal') Terminal

views/home/terminal.pug

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
extends ../template/layout
2+
3+
block content
4+
pre #{output}
5+
form(method='post')
6+
input(type='text', name='cmd')
7+
input(type='submit')

0 commit comments

Comments
 (0)