https://github.com/krostar/nebulo-server
encrypted chat server
https://github.com/krostar/nebulo-server
chat client-auth end-to-end-encryption golang
Last synced: 5 months ago
JSON representation
encrypted chat server
- Host: GitHub
- URL: https://github.com/krostar/nebulo-server
- Owner: krostar
- License: gpl-3.0
- Archived: true
- Created: 2016-11-16T05:54:48.000Z (over 9 years ago)
- Default Branch: dev
- Last Pushed: 2017-05-14T20:30:45.000Z (about 9 years ago)
- Last Synced: 2024-06-21T13:57:18.675Z (about 2 years ago)
- Topics: chat, client-auth, end-to-end-encryption, golang
- Language: Go
- Homepage:
- Size: 157 KB
- Stars: 1
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# [nebulo-server](https://github.com/krostar/nebulo-server) [](https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)) [](https://github.com/krostar/nebulo-server/releases/latest) [](https://godoc.org/github.com/krostar/nebulo-server)
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 /!\\
[](https://travis-ci.org/krostar/nebulo-server) [](https://goreportcard.com/report/github.com/krostar/nebulo-server) [](https://codebeat.co/projects/github-com-krostar-nebulo-server-dev) [](https://coveralls.io/github/krostar/nebulo-server?branch=dev)
## Usage
```sh
# 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
```
## Documentation
The API documentation of this project for the **dev** environment is available on [doc.nebulo.io/dev](https://doc.nebulo.io/dev), the Golang documentation is available on the [godoc website](https://godoc.org/github.com/krostar/nebulo-server)
## Licence
Distributed under GPL-3 License, please see license file, and/or browse [tldrlegal.com](https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)) for more details.
## Contribute to the project
### Report bugs
Create an [issue](https://github.com/krostar/nebulo-server/issues) or contact [bug[at]nebulo[dot]io](mailto:bug@nebulo.io)
### Before you started
#### Check your golang installation
Make sure `golang` is installed and is at least in version **1.8** and your `$GOPATH` environment variable set in your working directory
```sh
$> 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](https://golang.org/doc/install) and [Golang: GOPATH](https://golang.org/doc/code.html#GOPATH)
> It may be a good idea to add `$GOPATH/bin` and `$GOROOT/bin` in your `$PATH` environment!
#### Download the project
```sh
# 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
```
#### Download the tool manager
```sh
$> go get -u github.com/twitchtv/retool
```
#### Use our Makefile
We are using a Makefile to everything we need (build, release, tests, documentation, ...).
```sh
# Get the dependencies and tools
$> make vendor
# Build the project (by default generated binary will be in /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
```
### Guidelines
#### Coding standart
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!
### Other things
- use the dependencies manager and update them (see [govendor](https://github.com/kardianos/govendor) and [retool](https://github.com/twitchtv/retool))
- write unit tests