Categorygithub.com/direct-connect/go-dcpp
modulepackage
0.26.0
Repository: https://github.com/direct-connect/go-dcpp.git
Documentation: pkg.go.dev

# README

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

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

Ping fetches the information about the specified hub.
Probe tries to detect the protocol on a specified host or host:port.

# Variables

No description provided by the author
No description provided by the author

# Structs

No description provided by the author
No description provided by the author
Software version.

# Type aliases

No description provided by the author