All Projects → bitdust-io → public

bitdust-io / public

Licence: AGPL-3.0 license
BitDust project source codes : official Public Git repository (mirror on GitHub) : https://bitdust.io

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects
shell
77523 projects
HTML
75241 projects
Dockerfile
14818 projects
Inno Setup
370 projects

Projects that are alternatives of or similar to public

Hivemind
Decentralized deep learning in PyTorch. Built to train models on thousands of volunteers across the world.
Stars: ✭ 661 (+3378.95%)
Mutual labels:  dht, asynchronous-programming
springboot-rest-api-angularjs-https
REST API https with Spring Boot and Angular JS. Use MySQL, Hibernate and Spring Security.
Stars: ✭ 38 (+100%)
Mutual labels:  restful-api
GhostNET
GhostNET script that will help you be safer on the cyber
Stars: ✭ 45 (+136.84%)
Mutual labels:  network-programming
contentdb
Content database for Minetest mods, games, and more
Stars: ✭ 74 (+289.47%)
Mutual labels:  restful-api
ServiceStack.Webhooks
Add Webhooks to your ServiceStack services
Stars: ✭ 26 (+36.84%)
Mutual labels:  restful-api
cpp-rest-api
RESTFul Web service by C++, implemented basic REST endpoints and RESTVerbs (GET,POST,PUT,DELETE).
Stars: ✭ 13 (-31.58%)
Mutual labels:  restful-api
optiga-trust-m
OPTIGA™ Trust M Software Framework
Stars: ✭ 86 (+352.63%)
Mutual labels:  ecc
jducers
A js transducers-like implementation using ES9
Stars: ✭ 25 (+31.58%)
Mutual labels:  asynchronous-programming
airad
Beego based Restful API service
Stars: ✭ 63 (+231.58%)
Mutual labels:  restful-api
HyperVue
🚀 基于 Hyperf + Vue + ElementUI 前后端分离的通用型管理后台
Stars: ✭ 23 (+21.05%)
Mutual labels:  restful-api
tinyBT
Implementation of the Bittorrent and Mainline DHT protocol for Distributed Computing applications
Stars: ✭ 30 (+57.89%)
Mutual labels:  dht
yieldmachine
Components for State Machines, using Generator Functions
Stars: ✭ 23 (+21.05%)
Mutual labels:  state-machine
pade
Python Agent DEvelopment framework
Stars: ✭ 81 (+326.32%)
Mutual labels:  twisted
oseid
Microchip AVR based smartcard/token with ECC and RSA cryptography
Stars: ✭ 17 (-10.53%)
Mutual labels:  ecc
keystore-idb
In-browser key management with IndexedDB and the Web Crypto API
Stars: ✭ 37 (+94.74%)
Mutual labels:  ecc
react-transition-state
Zero dependency React transition state machine.
Stars: ✭ 239 (+1157.89%)
Mutual labels:  state-machine
tinyspec
Simple syntax for describing REST APIs
Stars: ✭ 95 (+400%)
Mutual labels:  restful-api
dhan-gaadi
A complete online bus reservation system (Node, React, Mongo, NextJS, ReactNative)
Stars: ✭ 207 (+989.47%)
Mutual labels:  restful-api
FeedSDK
Java SDK for downloading large gzipped (tsv) item feed files and applying filters for curation
Stars: ✭ 20 (+5.26%)
Mutual labels:  restful-api
dht
golang dht(Distributed Hash Table) node
Stars: ✭ 30 (+57.89%)
Mutual labels:  dht

BitDust

bitdust.io

Regression Test

PRs Welcome

CodeTriage

About

BitDust is a peer-to-peer online backup utility.

This is a distributed network for backup data storage. Each participant of the network provides a portion of his hard drive for other users. In exchange, he is able to store his data on other peers.

The redundancy in backup makes it so if someone loses your data, you can rebuild what was lost and give it to someone else to hold. And all of this happens without you having to do a thing - the software keeps your data in safe.

All your data is encrypted before it leaves your computer with a private key your computer generates. No one else can read your data, even BitDust Team! Recover data is only one way - download the necessary pieces from computers of other peers and decrypt them with your private key.

BitDust is written in Python using pure Twisted framework and published under GNU AGPLv3.

Current status

Current project stage is about to only research opportunities of building a holistic eco-system that protects your privacy in the network by establishing p2p communications of users and maximize distribution of information flows in the network.

At the moment exists a very limited alpha version of the BitDust software. We decided to publish those earlier works to verify/test/share our ideas and experiments with other people.

Install BitDust software

Install software dependencies

Seems like in Ubuntu (probably most other distros) you can install all dependencies in that way:

    sudo apt-get install git gcc python3-dev python3-virtualenv

Optionally, you can also install miniupnpc tool if you want BitDust automatically deal with UPnPc configuration of your network router so it can also accept incomming connections from other nodes.:

    sudo apt-get install miniupnpc

On MacOSX platform you can install requirements in that way:

    brew install git python3

And use pip to get all required packages:

    pip install --upgrade --user
    pip install --upgrade pip --user
    pip install virtualenv --user

On Raspberry PI you will need to install those packages:

    sudo apt-get install git gcc python3-dev python3-virtualenv libffi-dev libssl-dev

Get BitDust to your local machine

Second step is to get the BitDust sources. To have a full control over BitDust process running on your local machine you better make a fork of the Public BitDist repository on GitHub at https://github.com/bitdust-io/public and clone it on your local machine:

    git clone https://github.com/<your GitHub username>/<name of BitDust fork>.git bitdust

The software will periodically run git fetch and git rebase to check for recent commits in the repo. This way we make sure that everyone is running the latest version of the program. Once you made a fork, you will have to update your Fork manually and pull commits from Public BitDust repository if you trust them.

However if you just trust BitDust contributors you can simply clone the Public repository directly and software will be up to date with the "official" public code base:

    git clone https://github.com/bitdust-io/public.git bitdust

Building virtual environment

Then you need to build virtual environment with all required Python dependencies, BitDust software will run fully isolated.

Single command should make it for you, all required files will be generated in ~/.bitdust/venv/ sub-folder:

    cd bitdust
    python3 bitdust.py install

Last step to make BitDust software ready is to make a short alias in your OS, then you can just type bitdust in command line to fast access the program:

    sudo ln -s -f /home/<user>/.bitdust/bitdust /usr/local/bin/bitdust

Run BitDust

Start using the software by creating an identity for your device in BitDust network:

    bitdust id create <some nick name>

I recommend you to create another copy of your Private Key in a safe place to be able to recover your data in the future. You can do it with such command:

    bitdust key copy <nickname>.bitdust.key

Your settings and local files are located in that folder: ~/.bitdust

Type this command to read more info about BitDust commands:

    bitdust help

To run the software just type:

    bitdust

Start as background process:

    bitdust daemon

To get some more insights or just to know how to start playing with software you can visit BitDust Commands page.

To get more info about API methods available go to BitDust API page.

Binary Dependencies

If you are installing BitDust on Windows platforms, you may require some binary packages already compiled and packaged for Microsoft Windows platforms, you can check following locations and download needed binaries and libraries:

Docker Hub container image

You can also run bitdust inside Docker. We prepared a container which have BitDust installed and easy to run. You will have to SSH into the running container after start it and manually configure bitdust as you wish and run it:

    docker run -d -P --name bdnode bitdust/app1
    docker port bdnode 22
    0.0.0.0:32771  <-  learn which SSH port was opened on your host

Now you can ssh to the container, password is bitdust:

    ssh root@localhost -p 32771
    password: bitdust

Inside the container you will have BitDust installed and ready to use, so you can run it directly:

    root@1ef6a46c3042:~# bitdust

Feedback

You can contact BitDust contributors on GitHub if you have any questions or ideas. Welcome to the future!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].