|
@ -0,0 +1,24 @@ |
|
|
|
|
|
const config = require('./config'), |
|
|
|
|
|
webdav = require('webdav-server').v2, |
|
|
|
|
|
serveIndex = require('serve-index'), |
|
|
|
|
|
express = require('express'), |
|
|
|
|
|
app = express(), |
|
|
|
|
|
userManager = new webdav.SimpleUserManager(), |
|
|
|
|
|
user = userManager.addUser(config.username, config.password, false), |
|
|
|
|
|
privilegeManager = new webdav.SimplePathPrivilegeManager(), |
|
|
|
|
|
server = new webdav.WebDAVServer({ |
|
|
|
|
|
requireAuthentification: true, |
|
|
|
|
|
httpAuthentication: new webdav.HTTPBasicAuthentication(userManager, 'DAV Auth'), |
|
|
|
|
|
privilegeManager: privilegeManager, |
|
|
|
|
|
storageManager: new webdav.PerUserStorageManager(10000), |
|
|
|
|
|
rootFileSystem: new webdav.PhysicalFileSystem(__dirname + '/public') |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
privilegeManager.setRights(user, '/', ['all']) |
|
|
|
|
|
|
|
|
|
|
|
app.disable('x-powered-by') |
|
|
|
|
|
.use('/', webdav.extensions.express('/dav', server)) |
|
|
|
|
|
.use(express.static(__dirname + '/public'), serveIndex('public/', { 'icons': true, view: 'details' })) |
|
|
|
|
|
.listen(config.port, () => { |
|
|
|
|
|
console.log('Listening om: ::' + config.port) |
|
|
|
|
|
}) |