8
0
mirror of https://github.com/key-networks/ztncui.git synced 2024-08-31 04:28:00 +00:00

Building RPM and DEB packages with pkg and fpm

This commit is contained in:
Key Networks
2018-01-03 12:07:30 +08:00
parent 22e420364d
commit 66b8356d7b
50 changed files with 428 additions and 8 deletions

54
src/routes/index.js Normal file
View File

@@ -0,0 +1,54 @@
/*
ztncui - ZeroTier network controller UI
Copyright (C) 2017 Key Networks (https://key-networks.com)
Licensed under GPLv3 - see LICENSE for details.
*/
const express = require('express');
const auth = require('../controllers/auth');
const authenticate = auth.authenticate;
const restrict = auth.restrict;
const router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('front_door', {title: 'ztncui'});
});
router.get('/logout', function(req, res) {
req.session.destroy(function() {
res.redirect('/');
});
});
router.get('/login', function(req, res) {
let message = null;
if (req.session.error) {
if (req.session.error !== 'Access denied!') {
message = req.session.error;
}
} else {
message = req.session.success;
}
res.render('login', { title: 'Login', message: message });
});
router.post('/login', async function(req, res) {
await authenticate(req.body.username, req.body.password, function(err, user) {
if (user) {
req.session.regenerate(function() {
req.session.user = user;
req.session.success = 'Authenticated as ' + user.name;
if (user.pass_set) {
res.redirect('/controller');
} else {
res.redirect('/users/' + user.name + '/password');
}
});
} else {
req.session.error = 'Authentication failed, please check your username and password.'
res.redirect('/login');
}
});
});
module.exports = router;

34
src/routes/users.js Normal file
View File

@@ -0,0 +1,34 @@
/*
ztncui - ZeroTier network controller UI
Copyright (C) 2017 Key Networks (https://key-networks.com)
Licensed under GPLv3 - see LICENSE for details.
*/
const express = require('express');
const router = express.Router();
const auth = require('../controllers/auth');
const restrict = auth.restrict;
const usersController = require('../controllers/usersController');
// GET request for users
router.get('/', restrict, usersController.users_list);
// GET request for password
router.get('/:name/password', restrict, usersController.password_get);
// POST request for password
router.post('/:name/password', restrict, usersController.password_post);
// GET request for user create
router.get('/create', restrict, usersController.user_create_get);
// POST request for user create
router.post('/create', restrict, usersController.user_create_post);
// GET request for user delete
router.get('/:name/delete', restrict, usersController.user_delete);
// POST request for user delete
router.post('/:name/delete', restrict, usersController.user_delete);
module.exports = router;

View File

@@ -0,0 +1,90 @@
/*
ztncui - ZeroTier network controller UI
Copyright (C) 2017 Key Networks (https://key-networks.com)
Licensed under GPLv3 - see LICENSE for details.
*/
const express = require('express');
const auth = require('../controllers/auth');
const restrict = auth.restrict;
const router = express.Router();
var networkController = require('../controllers/networkController');
// network routes //
// GET ZT network controller home page
router.get('/', restrict, networkController.index);
// Get request for creating a network
router.get('/network/create', restrict, networkController.network_create_get);
// POST request for creating a network
router.post('/network/create', restrict, networkController.network_create_post);
// GET request to delete network
router.get('/network/:nwid/delete', restrict, networkController.network_delete_get);
// POST request to delete network
router.post('/network/:nwid/delete', restrict, networkController.network_delete_post);
// POST request for Network name
router.post('/network/:nwid/name', restrict, networkController.name);
// GET request for ipAssignmentPool delete
router.get('/network/:nwid/ipAssignmentPools/:ipRangeStart/:ipRangeEnd/delete', restrict, networkController.ipAssignmentPool_delete);
// POST request for ipAssignmentPools
router.post('/network/:nwid/ipAssignmentPools', restrict, networkController.ipAssignmentPools);
// GET request for route delete
router.get('/network/:nwid/routes/:target_ip/:target_prefix/delete', restrict, networkController.route_delete);
// POST request for routes
router.post('/network/:nwid/routes', restrict, networkController.routes);
// POST request for v4AssignMode
router.post('/network/:nwid/v4AssignMode', restrict, networkController.v4AssignMode);
// POST request for v6AssignMode
router.post('/network/:nwid/v6AssignMode', restrict, networkController.v6AssignMode);
// GET request for member delete
router.get('/network/:nwid/member/:id/delete', restrict, networkController.member_delete);
// POST request for member delete
router.post('/network/:nwid/member/:id/delete', restrict, networkController.member_delete);
// GET request for any member object
router.get('/network/:nwid/member/:id/:object', restrict, networkController.member_object);
// POST request for member authorized
router.post('/network/:nwid/member/:id/authorized', restrict, networkController.member_authorized);
// GET request for member detail
router.get('/network/:nwid/member/:id', restrict, networkController.member_detail);
// GET request for easy network setup
router.get('/network/:nwid/easy', restrict, networkController.easy_get);
// POST request for easy network setup
router.post('/network/:nwid/easy', restrict, networkController.easy_post);
// GET request for easy member (de)authorization
router.get('/network/:nwid/members', restrict, networkController.members);
// POST request for easy member (de)authorization
router.post('/network/:nwid/members', restrict, networkController.members);
// GET request for any network object
router.get('/network/:nwid/:object', restrict, networkController.network_object);
// GET request for one network
router.get('/network/:nwid', restrict, networkController.network_detail);
// GET request for list of all networks
router.get('/networks', restrict, networkController.network_list);
module.exports = router;