diff --git a/README b/README deleted file mode 100644 index 0b3d0d4..0000000 --- a/README +++ /dev/null @@ -1,57 +0,0 @@ -pingfs - "True cloud storage" - by Erik Ekman - -pingfs is a filesystem where the data is stored only in the Internet itself, -as ICMP Echo packets (pings) travelling from you to remote servers and -back again. - -It is implemented using raw sockets and FUSE, so superuser powers are required. -Linux is the only intended target OS, portability is not a goal. -Both IPv4 and IPv6 remote hosts are supported. - -Compile by just running 'make' - -How to start it: -- Create a textfile with hostname and IP addresses to target -- As root, run ./pingfs - It will resolve all hostnames, and then test each resolved address - if it responds properly to a number of pings. - Some statistics will be printed and then the filesystem will be mounted. -- Pingfs will stay in the foreground and print stats on packets and bytes - each second. - -How to stop it: -- Stop with ^C, and it should unmount itself. -- Otherwise unmount with fusermount -u - -Supported operations -- Creating/removing normal files -- Listing files -- Renaming files -- Reading/writing/truncating files -- Setting/getting file permissions - -Unsupported operations -- Creating/removing directories -- Creating soft/hard links -- Timestamps (they are always 0) - -Notes: -The performance is too low right now to handle LAN hosts, it will -lose data right away. Use pingfs with care. - -License: - -Copyright (c) 2013-2015 Erik Ekman - -Permission to use, copy, modify, and/or distribute this software for any purpose -with or without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..a5ad993 --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +# pingfs - "True Cloud Storage" + +[![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC) [![Linux Compatible](https://img.shields.io/badge/Linux-Compatible-brightgreen.svg)](https://shields.io/) + +Developed by Erik Ekman (erik@kryo.se) + +## Introduction + +Pingfs is an innovative filesystem where the data is stored within the Internet itself, utilizing ICMP Echo packets (pings) that travel between your machine and remote servers. + +## Compatibility & Requirements + +Pingfs is designed for Linux, as portability is not an objective of this project. The filesystem is implemented using raw sockets and FUSE, hence superuser access is necessary. The application supports both IPv4 and IPv6 remote hosts. + +## Building and Installation + +To compile the application, simply use the `make` command in your terminal. + +## Usage + +### Getting Started: + +1. Compile the project by running the `make` command. +2. Create a text file containing the hostnames and IP addresses to target. +3. As root, run the command `./pingfs `. This will resolve all hostnames and test each resolved address for its responsiveness to pings. After this, the filesystem will be mounted. +4. Pingfs will remain active in the foreground and provide stats on packets and bytes each second. + +### Halting the Process: + +- Pingfs can be stopped with ^C command, and it should unmount itself. +- If this does not work, you can manually unmount with `fusermount -u `. + +## Features + +### Supported Operations: + +- Creation and removal of regular files. +- File listing. +- File renaming. +- Reading, writing, and truncating files. +- Setting and getting file permissions. + +### Unsupported Operations: + +- Creation and removal of directories. +- Creation of soft/hard links. +- Timestamps (they are always 0). + +## Notes + +The current performance of Pingfs is not sufficient to handle LAN hosts, as it may lose data immediately. Please use Pingfs with caution. + +## License + +Pingfs is released under the ISC License by Erik Ekman from 2013-2023. + +Please be aware that this software is provided as is, and the author disclaims all warranties with regard to this software including all implied warranties of merchantability and fitness. In no event shall the author be liable for any special, direct, indirect, or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software.