peoples-cloud / pc

Licence: MIT license
people's cloud: using the ideas of botnets for good

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to pc

piratcloud
an ipfs-based encrypted backup solution
Stars: ✭ 20 (-35.48%)
Mutual labels:  ipfs, peoples-cloud
go-ipfs-recovery
Data recovery for IPFS protocol.
Stars: ✭ 16 (-48.39%)
Mutual labels:  ipfs
likecoin-wordpress
The WordPress plugin to integrate LikeCoin - Decentralized Publishing Infrastructure.
Stars: ✭ 19 (-38.71%)
Mutual labels:  ipfs
filecoin-box
Filecoin flavored Ganache Truffle box
Stars: ✭ 23 (-25.81%)
Mutual labels:  ipfs
Starlog
Starlog: Metadata Blockchain based on Substrate
Stars: ✭ 32 (+3.23%)
Mutual labels:  ipfs
vocdoni-node
A set of libraries and tools for the Vocdoni decentralized backend infrastructure, the main ground of our universally verifiable, privacy-centric and scalable digital voting protocol
Stars: ✭ 58 (+87.1%)
Mutual labels:  ipfs
good-karma-kit
😇 A Docker Compose bundle to run on servers with spare CPU, RAM, disk, and bandwidth to help the world. Includes Tor, ArchiveWarrior, BOINC, and more...
Stars: ✭ 238 (+667.74%)
Mutual labels:  ipfs
s3x
s3x is a minio gateway providing an S3 API powered by TemporalX that uses IPFS as the data storage layer. It lets you turn any S3 application into an IPFS application with no change in application design
Stars: ✭ 85 (+174.19%)
Mutual labels:  ipfs
js-ipfs-utils
IPFS utils
Stars: ✭ 17 (-45.16%)
Mutual labels:  ipfs
go-multiverse
Decentralized Version Control System
Stars: ✭ 76 (+145.16%)
Mutual labels:  ipfs
js-ipfs-mfs
[ARCHIVED] now part of the https://github.com/ipfs/js-ipfs repo
Stars: ✭ 27 (-12.9%)
Mutual labels:  ipfs
ipfs-md-wiki
a decentered wiki system by ipfs and markdown
Stars: ✭ 99 (+219.35%)
Mutual labels:  ipfs
ipfs-browser-gateway
An IPFS gateway without server, by utilizing service worker.
Stars: ✭ 31 (+0%)
Mutual labels:  ipfs
ipfs-companion
Browser extension that simplifies access to IPFS resources on the web
Stars: ✭ 1,745 (+5529.03%)
Mutual labels:  ipfs
GoriaNet
🐼 IoT worm written in pure golang.
Stars: ✭ 64 (+106.45%)
Mutual labels:  botnet
drive
Fission Drive 🗄
Stars: ✭ 21 (-32.26%)
Mutual labels:  ipfs
lucky
Proof of luck Intel SGX and IPFS based blockchain.
Stars: ✭ 70 (+125.81%)
Mutual labels:  ipfs
pop
Run a point-of-presence within Myel, the community powered content delivery network.
Stars: ✭ 28 (-9.68%)
Mutual labels:  ipfs
ZBOT-Botnet
IRC based botnet developed in C
Stars: ✭ 25 (-19.35%)
Mutual labels:  botnet
ipfs-encrypted-share
IPFS Encrypted Share
Stars: ✭ 14 (-54.84%)
Mutual labels:  ipfs

people's cloud

using the ideas of botnets for good

the documentation on this page is always under construction ⚠️

aim & intent

to create a technological solution so that people with computing power can share it with others.

in its current iteration, this is focused on botmakers so that botmakers with servers can run swarms where botmakers without servers, or the monetary means to acquire & run them, can run their creations, while (hopefully!) reducing the overhead needed for the server people to share their resources.

what is it

a tool for creating decentralized swarms of computers, where nodes in the swarms can deploy programs to be run on other nodes

who is it for

obviously everyone since it is open source, but
it's intended for small communities with an already established trust, as technical trust is a complex subject
it's for art bot / folk bot people that want to run their bots with the help of their friends
it's for private communities that want to experiment with weird stuff
basically, if you don't trust the people you will join the swarm with - don't run this

how do i use it

first make sure you have fulfilled all the requirements (ipfs/docker/go)

then, in a terminal window, do:
go run pc.go daemon config.toml

using another terminal window you can now issue commands to the daemon:

go run pc.go --help
Usage:
  pc [command]

Available Commands:
  create      Create a new swarm
  daemon      Starts the pc daemon
  deploy      Deploy a program to be run by a node in the swarm
  join        Join a new swarm
  leave       Leave a swarm
  list        Lists all connected swarms and deployed programs
  stop        Stop a deployed program

binaries are coming. they can also be built using go build pc.go

terminology

  • nodes
    • simply a computer running the pc daemon command
  • swarms
    • a group of connected nodes, sharing the load of the deployed programs within the swarm
  • programs
    • self-contained javascript/python code, e.g. a python twitter bot

what you can currently do

  • run self-contained nodejs, python2 and python3 programs on other people's computers

python 2/3

  • make sure your main file that does all the work is called bot.py
  • have a file called requirements.txt in the same folder as bot.py, which lists all of the modules you've downloaded to make your program or bot run

nodejs

  • make sure you have a package.json file that lists the start script (example of this forth-coming - don't worry!)

requirements

  • ipfs
  • docker
  • go

coming up

  • binaries & github releases so you don't have to bother with using go run to run it
  • standalone clients, which would included
    • binaries with ipfs bundled
    • binaries without the docker requirement (still mulling this about)
  • support for password protected swarms
  • configuration examples
  • modularizing the code even further, for reuse in other projects
  • investigations into...
    • a dockerized setup so that you can just download an image and launch that instead
    • running everything on raspberry pis (i.e. cross-compiling binaries for the pi)
      • creating a build process to automate cross-compiling, alongside other binaries
    • exposing ports so potentially webservices could run & communicate with the outside world
    • supporting languages other than python & js
    • granularity in configuration of your node, allowing you to restrict runtime, RAM usage and the like
    • technical audits that will allow for traceability of deployed programs (and thus some form of security for hosts)
    • potentially using pubsub as a communication mechanism
  • exposing under-the-hood details via options for communities that want to tinker
  • bugfixes 🐛

contributions

would love some! i'll think about and write some instructions on what kind of format they should follow to make life easier for integrating changes and new features.

issues/bugs/crashes

alpha version, work in progress etc

there are probably lots of bugs lurking around, so let me know if you find any!

either write a nice github issue about it, or ping me on twitter

credit

organization branding by osavox

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].