Giter Site home page Giter Site logo

distrifs's Introduction

DistriFS: efficient, secure, decentralized filesystem

status

DistriFS is a filesystem allowing for decentralized access to files of your choice through a file network. It is comparable to torrenting, IPFS and Storj. An indexer-server approach is used for security and speed. You may learn more about precisely how the software works in the "Academic Paper" section or by reading the respective README.md files in the sub-folders.

Running a Node

Participating in the DistriFS network is easy! Releases are built every minor version in Github Releases for Windows, macOS and Linux. Configure and run a server, then register it on the official indexer to start. If you want to run your own indexer, those programs are also available.

More information is available in the server folder's README.md

Academic Paper

This work is part of academic research titled "DistriFS: A Platform and User Agnostic Approach to Dataset Distribution". It is posted on arXiv is published in the Journal of Open Source Software

Contributing

Pull requests are always open, for both bugfixes and new features! Feedback and bug reports are also open via GitHub Issues - please remember to adhere to our Code of Conduct in Issues. For support, please contact me through the contacts in my bio.

Testing

Unit tests are present for every route on the server and indexer as of commit 63b61d4. You can run the tests by using the command go test ./... in the server and indexer folders to test each component.

License

DistriFS is a free-to-use academic work. It is licensed under the MIT license and is free to use in any project, commercial or noncommerical.

distrifs's People

Contributors

jibsil avatar danielskatz avatar

Stargazers

Ethereum Trading Bot avatar  avatar sweet avatar Diamond avatar Ethan Davidson avatar Amy avatar

Watchers

 avatar

distrifs's Issues

JOSS

Hi @JIBSIL ,

Thank for this project!

I'm opening this issue to track my review in your repo.
These are my part my observations and part JOSS requirements.

JOSS Requirements

  • Automated unit/integration/e2e Tests for the system you've developed.
  • Community Guidelines , while this is a fairly straightforward project and contributing would be easy. It's nicer for new people to have these guidelines

Personal Observations

  • The justification and failure reasons for BitTorrent as well as IPFS is very interesting and reasonable. But I'm curious, with way that DistriFS is setup right now how is it "distributed"? how would a new server coming up, discover other servers in the network? how would they share files? how does encryption work in that scenario?
  • I spent some time with the code, but couldn't confirm that there were any authorization system for downloading or uploading the file. Would love to know if I'm wrong. If not, what is the logic behind having a cryptography scheme and back and forth?

JOSS issue thread: openjournals/joss-reviews#6625

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.