File sharing P2P cli program made in GoLang with IPFS (Inter Planetary File System) via KISS (Keep It Super Simple) principle.
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
There are many file sharing programs on GitHub; however, I didn't find one that really suited my needs so I created this enhanced one. I want to create a program so amazing that it'll be the last one you ever need -- I think this is it.
Here's why:
- Your time should be focused on creating something amazing. A project that solves a problem and helps others
- You shouldn't be doing the same tasks over and over like zipping/extracting or slicing files in parts just to send them
- You should implement KISS principles to the rest of your life 😄
Of course, no one program will serve all projects since your needs may be different. So I'll be adding more in the near future (for example filesharego-gui). You may also suggest changes by forking this repo and creating a pull request or opening an issue. Thanks to all the people have contributed to expanding this program!
Only need 1 binary file "fsg" to run which can be quickly downloaded from releases section: https://github.com/ofman/fsg/releases/latest
To get a local copy up and running follow these simple example steps.
This is an example of how to list things you need to use the software and how to install them.
- ubuntu/debian
apt-get -y install wget wget https://github.com/ofman/fsg/releases/download/release-v0.0.1/fsg cp fsg /usr/local/bin
- Install git
apt-get -y install git
- Clone the repo
git clone https://github.com/ofman/fsg.git
- Install GO from official website here https://go.dev/doc/install or bellow via apt and check version
apt-get install golang export PATH=$PATH:/usr/local/go/bin go version
- cd into folder and build
cd fsg && go mod tidy && go build
- copy binary file to /usr/local/bin
cp fsg /usr/local/bin
Use flags -f "example.jpg" or -c "exampleCid" to share files for example: Upload file:
./fsg -f example.jpg
Download file:
./fsg -c /ipfs/QmX4zdEUtimXgxhpzv8jfFLqkuutNhmoNH987cH5RS67GM
For more examples, please refer to the Documentation
- Single file download in the same directory
- Website
- Public seed server helpers
- Blockchain seed/leech ratio
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GNU-V3 License. See LICENSE
for more information.
ofman- ofmangit@gmail.com
Project Link: https://github.com/ofman/fsg