8000 GitHub - jedahan/orbit: Distributed, peer-to-peer chat application on IPFS
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

jedahan/orbit

 
 

Repository files navigation

Orbit

Warning: Orbit is very much work-in-progress. If something is not working, please let me know and I'll make sure to fix it.

Introduction

Orbit is a distributed, peer-to-peer chat application built on IPFS.

All content (messages, files, metadata) are saved in IPFS as files or objects.

There's currently a server (https://github.com/haadcode/orbit-server) that tracks the head (IPFS hash) of a linked list that enables traversing the history of a channel's messages. In future this will be replaced by IPNS.

Please note that Orbit is not secure at the moment!

Screenshot 1 Screenshot 2 Screenshot 3

Requirements

  • Node.js v4.x.x
  • npm 3.x.x

For development

  • Following npm modules installed globally: grunt-cli, mocha, electron-prebuilt
  • g++, gcc, make (for building native modules)
  • python 2 (for building, some native modules need it, node-fibers perhaps?)

Run

Browser

Install and run:

npm install
node index.js

Open http://localhost:3001 in your browser

App

Build the native app:

npm install
grunt build

The builds are in dist/. Eg. on OSX, open the application from dist/AnonymousNetworks-darwin-x64.

Orbit uses Electron to wrap the application in a native executable.

Run Options

Autologin

Create a file called user.json and add your wanted credentials:

{
  "username": "haadcode",
  "password": "" // Not used atm
}

Start the program:

node index.js

Build

Build all:

grunt build

Build for individual platforms:

grunt build_nodejs_osx
grunt build_nodejs_linux
grunt build_native_osx
grunt build_native_linux

The builds are in dist/

UI Development

Build distributable:

cd client/
npm install
grunt build

Development:

node index
cd client/
(npm install)
grunt serve

Development in Electron

For UI development (webpack-dev-server in the Electron app).

Start the webpack dev server:

cd client/
grunt serve

Start Electron:

ENV=dev ./node_modules/.bin/electron . 

Make sure you don't have the node.js version running and no client open the browser.

Run your own network

Get https://github.com/haadcode/orbit-server and start the server, edit ./network.json and point to appropriate url (eg. localhost:3006)

Contributing

Would be happy to accept PRs! If you want to work on something, it'd be good to talk beforehand to make sure nobody else is working on it. You can reach me on Twitter @haadcode or on IRC #ipfs on Freenode.

See TODO for ideas and tasks up for grabs.

About

Distributed, peer-to-peer chat application on IPFS

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 96.5%
  • HTML 2.0%
  • CSS 1.5%
0