Take Back Working Together


A simple platform for decentralized communication and computation.
Provides a simple application platform for developing P2P applications.
Share these applications with others in a chat like user interface.


Download

Version 0.4 Daily

Source

  • GitHub
  • git clone http://github.com/mempko/firestr.git
  • darcs get http://mempko.com/darcs/firestr

Help

Docs

Mailing List

Example Apps

Download and drag into Fire★ to install.

Fire★ is Simple

Here is what you see when you first start Fire★

You can add contacts and start a conversation.
Give your friends and family your invite file and get theirs.

Own Your Communication

Out of the box Fire★ supports peer-to-peer text chat.

There is no server in the middle recording what you say.

The communication happens only between peers and all communication encrypted.

Pair Programming

Fire★ has a built in distributed code editor.

You can write software with a friend and save it. The App compiles and runs as you write it, providing immediate feedback.

Lua is the programming language used to create Apps.

Notice that the user interface is modelled after a chat program. If you run another App in the conversation, it would appear below the code editor.

Sharing is Easy

Giving software to someone is as easy as using it in a conversation.

Adding software to your collection is as simple as pressing the green plus on the top right of the App.

You can immediately open up the code editor and make any changes you like to an App in your collection. Even if you don't write software, you can simply collect Apps that people send you.

Simplify Creation

The software that is written is automatically connected. There is no need to worry about network programming to write software that works together. There is a simple API for message passing that other peers can capture and act upon.

There is also support for vector clocks so you can simplify detecting when concurrent messages are sent.

In the future, there will be built in distributed data structures. These will simplify writing Apps that require data to be as consistent as possible across peers.

Connecting to People

1. Send an Invite File

First you have to create an invite file via the contact menu. Give this file to the person you want to connect to and ask them for their file.

Add them as a contact and ask them to add you.


2. Add a Greeter

To connect to people across the internet you need to add a greeter in the contacts dialog via the greeter tab. The greeter helps Fire★ find your peers across the internet and helps initiate the peer-to-peer connections.

  1. Public Greeter: mempko.com:8080
  2. Use ZeroTier One
    • Network: 8056c2e21cae4b10
    • Greeter: 10.181.3.204:7070
  3. Or use your own greeter by running the firegreet executable.

Warning

USE AT YOUR OWN RISK

The software is in development. The security of the software has not yet been audited by a third party, so use AT YOUR OWN RISK
I am not liable for any damage done while using this software and it is provided AS IS.
If you find any faults, please help make this software better.

Join Me

Fire★ has three goals.
  • Make P2P communication and computation simple.
  • Make it easy for people to learn software development and share their creations.
  • Make P2P communication safe. All communication is encrypted and you only connect to those you know.

Please join me in making this project great. Download the code and use GitHub to send patches. Or just try it out yourself by downloading a binary for your computer.

You can also contact me with questions on the Mailing List
Copyright Maxim Khailo 2014