webdav/index.js

23 lines
1.0 KiB
JavaScript
Raw Normal View History

2020-05-25 19:35:21 +00:00
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,
2020-05-25 19:41:14 +00:00
storageManager: new webdav.PerUserStorageManager(config.limit),
2020-05-25 19:35:21 +00:00
rootFileSystem: new webdav.PhysicalFileSystem(__dirname + '/public')
})
privilegeManager.setRights(user, '/', ['all'])
app.disable('x-powered-by')
2020-05-25 20:02:42 +00:00
.use(webdav.extensions.express('/dav', server), express.static(__dirname + '/public'), serveIndex('public/', { 'icons': true, view: 'details' }))
2020-05-25 19:41:14 +00:00
.listen(config.port, () => {
2020-05-25 20:02:42 +00:00
console.log('Listening on: ::' + config.port)
2020-05-25 19:35:21 +00:00
})