2 个不稳定版本
0.2.0 | 2023年11月9日 |
---|---|
0.1.0 | 2022年10月7日 |
#523 在 文件系统
185KB
743 行
ipfs-webdav
ipfs-webdav 是一个 WebDAV 服务器,允许直接访问 IPFS 的 MFS 作为挂载驱动器。它允许用户通过文件浏览器或终端直接与 MFS 进行交互。
尽管 IPFS 目前提供了挂载 IPFS 文件系统的功能,但该功能仍然是 实验性的,并且仅限于只读访问。 ipfs-webdav 提供了一种方便的方式,可以直接读写存储在本地 IPFS 节点上的文件,而无需与 IPFS 进行交互,无论是通过 web-ui 还是 cli。
安装
在安装 ipfs-webdav 之前,请确保已安装以下依赖项
一旦所有依赖项都已安装,请按照以下步骤安装 ipfs-webdav
- 克隆 git 仓库:
git clone https://github.com/debox-network/ipfs-webdav
- 导航到仓库根目录:
cd ipfs-webdav
- 组装项目
cargo build --package ipfs-webdav --example base --release
运行 ipfs-webdav
一旦在您的系统上安装了 ipfs-webdav,运行该项目
- 在终端中启动 IPFS 守护进程:
ipfs daemon
- 在另一个终端中运行 ipfs-webdav:
cd target/release/examples && ./base
挂载
当 IPFS 守护进程和 ipfs-webdav 守护进程都启动后,WebDAV 文件系统可以被挂载并立即使用。挂载说明根据您的操作系统略有不同。请参考下方的适当说明。
Linux - 通过文件浏览器
- 打开默认的文件浏览器(通常是 gnome-files/nautilus)
- 在左侧面板底部导航到
+ 其他位置
- 在底部栏中输入
dav://127.0.0.1:4918
(在Enter server address...
提示处) - 挂载的文件系统应显示在左侧面板中:
127.0.0.1:4918
Linux - 通过 CLI(基于 Debian/Ubuntu 的发行版)
- 安装 davfs2 软件包:
sudo apt-get install davfs2
- 创建挂载点目录:
sudo mkdir /mnt/dav
- 挂载 WebDAV 共享:
sudo mount -t davfs http://127.0.0.1:4918 /mnt/dav
Windows
待定
MacOS
待定
测试
ipfs-webdav 实现了基本的 RFC4918 WebDAV 规范。
测试任何 WebDAV 实现的官方标准是 litmus。所有测试都将使用它运行。
安装 Litmus
要开始,首先安装 Litmus
- 下载存档:
curl -O http://www.webdav.org/neon/litmus/litmus-0.13.tar.gz
- 解压它:
tar xf litmus-0.13.tar.gz
- 导航到程序文件夹:
cd litmus-0.13
- 配置构建:
./configure
- 构建和安装:
make
运行 Litmus
安装 Litmus 后,运行它以测试 ipfs-webdav:litmus dav://127.0.0.1:4918
运行 Litmus 测试的预期输出
(省略以排除个别测试)
-> running `basic':
...
<- summary for `basic': of 16 tests run: 16 passed, 0 failed. 100.0%
-> running `copymove':
...
<- summary for `copymove': of 13 tests run: 13 passed, 0 failed. 100.0%
-> running `props':
...
<- summary for `props': of 30 tests run: 30 passed, 0 failed. 100.0%
-> running `locks':
...
<- summary for `locks': of 41 tests run: 41 passed, 0 failed. 100.0%
-> running `http':
...
<- summary for `http': of 4 tests run: 4 passed, 0 failed. 100.0%
感谢 & 致谢
webdav-handler
WebDAV 功能的大部分基于 webdav-handler。向 Miquel 表示衷心的感谢,他为创建/维护 WebDAV 协议的优雅 Rust 实现做出了不懈的努力。
ipfs-api
ipfs-api 是 IPFS RPC API 的优秀 Rust 实现,极大地帮助了与 IPFS 的交互。
许可证
根据您的选择,许可如下:
- Apache 许可证 2.0(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证(《LICENSE-MIT》或 http://opensource.org/licenses/MIT》)
。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在作品中的任何贡献,将按上述方式双重许可,没有任何额外的条款或条件。
依赖项
~18-31MB
~479K SLoC