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.
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
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
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
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.
BSD 3-Clause License