yarrick / pingfs Goto Github PK
View Code? Open in Web Editor NEWStores your data in ICMP ping packets
Home Page: https://code.kryo.se/pingfs/
License: ISC License
Stores your data in ICMP ping packets
Home Page: https://code.kryo.se/pingfs/
License: ISC License
PingFS uses a technology from one of firts computers https://en.m.wikipedia.org/wiki/Delay_line_memory
Is any license violation here? Can I use PingFS in production without being suited?
Would you like to add more error handling for return values from functions like the following?
In the readme, you say "No superuser required" but then instruct users to use sudo
to run the FUSE entry point.
IIRC you always have to have root powers to mount. Seems like a mistake in the readme.
Hilarious repo by the way, I love it. ๐
I got this error with fuse.h
file:
cc --std=c99 -Wall -Wshadow -pedantic -g `pkg-config fuse --cflags` -D_GNU_SOURCE -D_POSIX_C_SOURCE=200809 -D_XOPEN_SOURCE -c -o pingfs.o pingfs.c
Package fuse was not found in the pkg-config search path.
Perhaps you should add the directory containing `fuse.pc'
to the PKG_CONFIG_PATH environment variable
No package 'fuse' found
In file included from pingfs.c:23:0:
fs.h:22:18: fatal error: fuse.h: No such file or directory
compilation terminated.
<builtin>: recipe for target 'pingfs.o' failed
make: *** [pingfs.o] Error 1
But fuse
package was installed already:
zhangysh1995@zhangyushao-desktop:~/work/tests/pingfs$ sudo apt-get install fuse
[sudo] password for zhangysh1995:
Reading package lists... Done
Building dependency tree
Reading state information... Done
fuse is already the newest version (2.9.4-1ubuntu3.1).
How could I get around this error?
Would it be possible to tag a version for this project in git? I can submit a PR if you'd like... @yarrick, thoughts?
I would like to point out that identifiers like "__FS_H__
" and "__ICMP_H__
" do not fit to the expected naming convention of the C language standard.
Would you like to adjust your selection for unique names?
Can you add license file that describe what license this project is
it would be great to have redundancy, this could reduce the risk of loosing files or corruption,
lets say you have a IP list with 100 ips, 50 of those ips respond properly to pings, files would be "stored" (pinged?) to all 50, if some stop responding or go down you wouldnt loose the files
I just compiled and ran on Linux Mint. Some writes to file system return "Permission Denied". Here are some working, and not working, commands:
$ sudo ./pingfs pinghosts.txt /media/dennis (Working)
$ sudo touch /media/dennis/newfile (Working)
$ sudo ls /media/dennis (Working)
newfile
$ sudo echo Hello > /media/dennis/hello.txt (Not Working)
bash: /media/dennis/hello.txt: Permission denied
Thanks in advance.
โ pingfs git:(master) make
cc --std=c99 -Wall -pedantic -g -lanl pingfs.c icmp.o host.o -o pingfs
/tmp/ccaq1yv9.o: In function `main':
/opt/pingfs/pingfs.c:72: undefined reference to `getaddrinfo_a'
/opt/pingfs/pingfs.c:82: undefined reference to `gai_error'
host.o: In function `host_create':
/opt/pingfs/host.c:75: undefined reference to `gai_error'
collect2: error: ld returned 1 exit status
<builtin>: recipe for target 'pingfs' failed
make: *** [pingfs] Error 1
โ pingfs git:(master) uname -ra
Linux atticus 3.19.0-22-generic #22-Ubuntu SMP Tue Jun 16 17:15:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
โ pingfs git:(master) cat /etc/issue
Ubuntu 15.04
โ pingfs git:(master) cc -v
Using built-in specs.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.9.2-10ubuntu13' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs
--enable-languages=c,c++,java,go,d,fortran,objc,obj-c++
--prefix=/usr --program-suffix=-4.9 --enable-shared
--enable-linker-build-id --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib
--enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--enable-gnu-unique-object --disable-vtable-verify --enable-plugin
--with-system-zlib --disable-browser-plugin --enable-java-awt=gtk
--enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64/jre
--enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64
--with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc
--enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64
--with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.9.2 (Ubuntu 4.9.2-10ubuntu13)
โ pingfs git:(master) ld -v
GNU ld (GNU Binutils for Ubuntu) 2.25
That way it gets simpler to contribute and maybe eventually (ab)use your thing! :)
See http://choosealicense.com/no-license for an explanation why not having an explicit licence is probably not ideal.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.