Nebulo is a secure way of instant messaging that respect and protect your privacy.
/!\ This project is a school project, it's not finished, it's not 100% working, don't use it unless you know what you do /!\
# check if nebulo is in your $PATH
$>nebulo version
# see commands and parameters
$>nebulo help
# get help on the run command
$>nebulo help run
# copy sample configuration file
$>cp config.sample/json config.json
# fill required values (run `nebulo help run` to know which values are required)
$>vim config.json
# start the server
$>nebulo -c path/to/config.json run
The API documentation of this project for the dev environment is available on doc.nebulo.io/dev, the Golang documentation is available on the godoc website
Distributed under GPL-3 License, please see license file, and/or browse tldrlegal.com for more details.
Create an issue or contact bug[at]nebulo[dot]io
Make sure golang
is installed and is at least in version 1.8 and your $GOPATH
environment variable set in your working directory
$> go version
go version go1.8 linux/amd64
$> echo $GOPATH
/home/krostar/go
If you don't have golang
installed or if your $GOPATH
environment variable isn't set, please visit Golang: Getting Started and Golang: GOPATH
It may be a good idea to add
$GOPATH/bin
and$GOROOT/bin
in your$PATH
environment!
# Manually
$> mkdir -p $GOPATH/src/github.com/krostar/
$> git -c $GOPATH/src/github.com/krostar/ clone https://github.com/krostar/nebulo-server.git
# or via go get
$> go get github.com/krostar/nebulo-server
$> go get -u github.com/twitchtv/retool
We are using a Makefile to everything we need (build, release, tests, documentation, ...).
# Get the dependencies and tools
$> make vendor
# Build the project (by default generated binary will be in <root>/build/bin/nebulo)
$> make build
# Run the project without arguments
$> make run
# Run the project with arguments
$> make run ARGS="--environment dev"
# Test the project
$> make test
# Generate documentation
$> make doc
# Generate release
$> make release TAG=1.2.3
Please, make sure your favorite editor is configured for this project. The source code should be:
- well formatted (
gofmt
(usage of tabulation, no trailing whitespaces, trailing line at the end of the file, ...)) - linter free (
gometalinter --config=.gometalinter.json ./...
) - with inline comments beginning with a lowercase caracter
Make sure to use make test
before submitting a pull request!