Filen本身并不支持通过WebDAV访问文件,只能通过网页或者APP访问文件。要通过WebDAV访问Filen,显然是需要我们自己写服务端的。不过,Filen官方为我们提供了一个Node.js库,可以很方便地实现WebDAV服务端。
首先,登录服务器/VPS系统,创建一个文件夹,作为存放WebDAV服务端文件的地方。
然后,进入该文件夹,执行命令:npm install @filen/webdav@latest ,这将安装运行WebDAV所需的依赖库。如果服务器/VPS没有安装Node.js,则在执行上面的命令前,需要先安装Node.js,否则会报错。安装依赖需要占据大概31MB空间。
依赖安装完成后,我们需要在目录中新建一个server.js文件,粘贴下面的内容并保存:
import WebDAVServer from "@filen/webdav"
//WebDAV主机名,如果需要禁止外网访问,请改成127.0.0.1
const hostname = "0.0.0.0"
//WebDAV端口,可改成其他端口
const port = 8888
//是否使用https,暂时不知道怎么配置证书,所以这里禁用了https
const https = false
const server = new WebDAVServer.default({
hostname,
port,
https,
authMode: "basic"
});
server
.start()
.then(() =>
console.log(`WebDAV 服务端正运行在 ${https ? "https" : "http"}://${hostname === "0.0.0.0" ? "local.webdav.filen.io" : hostname}:${port}`)
)
.catch(console.error)
然后,打开目录中 package.json 文件,在 “dependencies”: { 的上面添加一行 “type”: “module”, ,最终的文件内容应该是这样的:
{
"type": "module",
"dependencies": {
"@filen/webdav": "^0.2.20"
}
}
保存文件后,我们的WebDAV服务端便编写完成了。要启动它,请执行:nohup bash -c “node server.js” & 。
启动完成后,我们就能通过WebDAV客户端软件来连接了。连接地址是http://{主机名}:{端口号},比如对于上面的代码,连接地址就是http://127.0.0.1:8888 。
用户名即为登录Filen的邮箱地址,但是密码不能直接填Filen的登录密码,需要在前面加上password= ,也就是说如果我们的Filen登录密码为 123456,那么WebDAV的登录密码就是 password=123456。
在WebDAV客户端软件中输入连接地址、用户名和密码后,就可以连接到Filen了。当然,也可以借此实现Alist访问Filen。