Fast, modern Data Delivery Network built on top of NodeJS. CentralRouter is a learning project for me, based on a simple idea to access data from private networks securely, without even opening a port for the service.

Feel free to join the community or share your ideas/suggestions, by using the links below.

Docs & Community

Getting started

By following these steps, you will be running your own CentralRouter instance based on your preferences.

Interfaces

CentralRouter is integrating with various protocols, which is called “interfaces”. By default, all of the interfaces are disabled for security reasons.

Interfaces currently implemented:

Name Port Description
HTTP 80 Major HTTP methods are implemented.

Configuration

CentralRouter configuration is relies on dotenv, so all of the variables can be found inside the .env file in the root directory.

Important variables with their descriptions:

Name Description
APP_NAME Sets the instance’s webserver name.
APP_API_PREFIX Sets the REST API prefix for the web-interface.
WSS_NAME Sets the instance’s wss name.
INTERFACES_ENABLED Configures the enabled services on your instance. Seperate each by a comma.
PUBLISH_ON_MASTER By default, all CentralRouter instances showing up on the public serverlist.

Testing

Testing is done using mocha:

$ mocha test

Contributors

We’re always happy to review and accept issues/PR’s. Feel free to share your ideas in our Discord server, or either via the TrelloBoard.

License

Copyright (c) 2019 Milan Zeisler. See the License file for license rights and limitations. This project is licensed under the terms of the GPL-3.0 license.