Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
adc
 
 
cmd
 
 
 
 
hub
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

GoHub

Github Release

Direct Connect hub implementation for ADC and NMDC protocols (and beyond).

Requires Go 1.12+.

Features:

  • Fully multi-threaded.
  • Support NMDC, ADC and IRC users on the same hub.
  • Uses a single port for all protocols (protocol auto-detection).
  • Search and chat between NMDC and ADC.
  • Supports TLS for ADC (adcs://) and NMDC (nmdcs://).
  • Automatic TLS certificate generation.
  • HTTP(S) pinger support.
  • User registration, profiles and operators.
  • User commands.
  • Chat rooms.
  • Go plugins.
  • LUA scripts.
  • PtokaX LUA scripts support.
  • Flood filters.

TODO:

  • Spam filters.
  • Get certificates from LetsEncrypt.

Building on Linux

Download and install Go 1.12+ from this page, or install it with Snap:

# install the Snap package manager:
sudo apt install snapd
# install the latest stable Go version:
sudo snap install --classic go

And build the hub binary:

go build ./cmd/go-hub

Building on Windows

Download and install Go 1.12+ from this page. You may also need to install Git.

To build the hub binary, run:

go build .\cmd\go-hub

Running the hub

First, run the hub configuration:

./go-hub init

This will create a file called hub.yml with the default configuration.

To create a user with admin permissions:

./go-hub user add "Bob" "MyPass" root 

To run the hub:

./go-hub serve

Check help for additional commands and flags:

./go-hub -h

Profiling

To enable performance profiling:

./go-hub serve --pprof

A profiling endpoint will be available at http://localhost:6060/debug/pprof.

See pprof documentation for more details.

License

BSD 3-Clause License