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
|
|
|
})
|