yarrick/pingfs
GitHub: yarrick/pingfs
pingfs 是一个实验性文件系统,将数据编码在 ICMP ping 数据包中通过网络持续传输来实现存储,验证了「数据仅存在于互联网」的极端概念。
Stars: 3536 | Forks: 139
pingfs - “真正的云存储”
作者:Erik Ekman
pingfs 是一种数据仅存储在互联网本身中的文件系统,
以 ICMP Echo 数据包(pings)的形式在你与远程服务器之间往返传输。
它使用 raw sockets 和 FUSE 实现,因此需要超级用户权限。
Linux 是唯一的目标操作系统,可移植性不是其目标。
支持 IPv4 和 IPv6 远程主机。
只需运行 'make' 即可编译
如何启动:
- 创建一个包含目标主机名和 IP 地址的文本文件
- 以 root 身份运行 ./pingfs
它将解析所有主机名,然后测试每个解析出的地址,
看它们是否能正确响应一定数量的 pings。
随后将打印一些统计数据,然后文件系统将被挂载。
- Pingfs 将保留在前台,并每秒打印
有关数据包和字节的统计信息。
如何停止:
- 使用 ^C 停止,它应该会自行卸载。
- 否则请使用 fusermount -u 卸载
支持的操作
- 创建/删除普通文件
- 列出文件
- 重命名文件
- 读取/写入/截断文件
- 设置/获取文件权限
不支持的操作
- 创建/删除目录
- 创建软/硬链接
- 时间戳(它们始终为 0)
注意事项:
目前的性能太低,无法处理局域网(LAN)主机,它会
立即丢失数据。请谨慎使用 pingfs。
许可证:
版权所有 (c) 2013-2015 Erik Ekman
特此免费许可任何人出于任何目的使用、复制、修改和/或分发本软件,
无论是否收费,前提是上述版权声明
和本许可声明出现在所有副本中。
本软件按“原样”提供,作者对本软件不提供任何
明示或暗示的保证,包括但不限于适销性和
适用性。在任何情况下,作者均不对任何特殊、直接、
间接或后果性损害,或因使用或
数据或利润损失而造成的任何损害承担任何责任,无论这些损害是因合同行为、疏忽还是
其他侵权行为引起的,也无论是否与本软件的使用或
性能有关。
标签:FUSE, ICMP, VX技术, 内核驱动, 创意项目, 客户端加密, 文件系统, 网络协议