我最近开始研究 WebDAV,因为我发现它是让我远程播放蓝光文件夹的一个选项 - 即不需要观看者先下载整个 24gb ISO。
将 Kodi v18 中的 WebDAV 源添加到蓝光文件夹 - 它实际上可以播放!太棒了。
服务器也可以安装在 Windows 上
net use m: http://example.com/webdavfolder/
或者在 Linux 中使用
sudo mount -t davfs http://example.com/webdavfolder/ /mnt/mywebdav
- 然后(理论上)可以与任何支持蓝光光盘 Java (BD-J) 的软件媒体播放器一起播放,例如 PowerDVD 和 VLC。
vlc bluray:///mnt/mywebdav --bluray-menu
PowerDVD.exe AUTOPLAY BD m:
(当然,除非超时值设置得太低,目前 VLC 似乎就是这种情况)。
无论如何,这一切都很棒,只是我不知道如何使我的 WebDAV 服务器只读。目前任何人都可以随心所欲地删除文件,这当然不是最佳的。
到目前为止,我只尝试过 SabreDAV,因为如果我想继续使用现有的网络主机,这是我唯一的选择。尝试使用非常少的设置,因为我读到最小设置应默认为只读解决方案。这似乎并没有发生。
我最初使用 http://sabre.io/dav/gettingstarted/ 中的设置并尝试删除一些行。还尝试在网络服务器上调用chmod 0444 MainFolder -R
。我可以看到所有内容都具有只读属性。但它什么也改变不了。仍然可以删除我想要的任何内容。 :-(
我错过了什么?
也许我使用了错误的技术来实现我想做的事情?是否有其他/更好的方式提供蓝光文件夹以供远程观看? (包含整个体验 - 即完整的 Java 菜单等)。
我可能应该提到,所有这些当然是完全合法的。这是我自己的蓝光项目 - 不是版权 Material 。
另外:很难确定这属于 StackOverflow 还是 SuperUser。我最终将其发布在 StackOverflow 上,因为 SabreDAV 是关于编码的,而且 SuperUser 上没有 sabredav 标签。
最佳答案
您有两个选择:
- 为 sabre/dav 创建您自己的文件/目录类,在尝试删除时只会抛出错误。您基本上可以从
Sabre\DAV\FS\Directory
和Sabre\DAV\FS\File
的副本开始,然后更改写入方法。 - 由于您正在考虑仅使用 Linux 文件权限,因此您真正缺少的关键是“删除”不受您尝试删除的文件或目录的控制。要在unix中删除文件或目录,您所需要的只是父目录的写权限。然而,我不建议走这条路,因为这样做只会导致 sabre/dav 出现奇怪的错误,这可能会让客户处于困惑状态。这会导致 500 错误,而不是预期的 403 错误。
关于vlc - 如何使用 SabreDAV 制作一个简单的公共(public)只读 WebDAV 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49585178/