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.
- Install NodeJS
- Install MongoDB
-
Install Redis
- Install dependencies:
$ npm install
- Start your CentralRouter instance:
$ node index.js
- Alternative way is docker-compose:
$ docker-compose up
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.