P2P Software Made Simple


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


Download

Version 0.3 Daily

Source

The software is available under the GPLv3 license.
  • Download at Github
  • git clone http://github.com/mempko/firestr.git
  • darcs get http://mempko.com/darcs/firestr

Example Apps

Create a new conversation, start the App Editor and copy the code from one of the examples.

Starting

Here is what you see when you first start Fire★

You can add contacts and start a conversation.

Hi Sue

Out of the box Fire★ supports simple p2p text chat.

On the left you see Bob talking to Sue.

The communication happens only between peers and all communication encrypted.

A server called a greeter is used to only initiate p2p connections across the internet.

Shared Code Editing

Fire★ has a built in shared 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.

Easy Software Distribution

Below, Sue sent Bob her new App.

Bob liked it so much he clicked the plus on the top right and saved the App to his collection.

Bob can then immediately open up the code editor and make any changes he likes. Even if you don't write software, you can simply collect Apps your friends send.

Once an App is in your collection, you can send it to others.

Easy Communication

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.

Connecting to People

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 using their file and ask them to add you.

To connect to people across the internet you need to add a greeter in the contacts dialog via the greeter tab. This greeter helps Fire★ instances find each other across the internet and initiate the P2P connections.

  • Use my public greeter by adding mempko.com:8080
  • Or run your own greeter by compiling and running the firegreet executable.

Only Beginning

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

You can also contact me with questions at firstr.dev@gmail.com
Copyright Maxim Khailo 2014