24 lines
1.0 KiB
JavaScript
24 lines
1.0 KiB
JavaScript
|
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)
|
||
|
})
|