This project provides a comprehensive API solution for managing SSH VPN users, supporting referrals, and managing sales and payments. It consists of two main components - node-api
and centric-api
. Both APIs are part of the same cargo workspace.
- Clone the repository:
git clone https://github.com/zolagonano/ssh-mgmt-toolkit.git
cd ssh-mgmt-toolkit
- Run each API individually:
- For
node-api
:
cd node-api
cargo run
- For
centric-api
:
cd centric-api
cargo run
Ensure both APIs have their configuration files. Create a configuration file based on config_sample.json
in each API and place them in requested path for example /etc/sshmgmt_config.json
for node-api
.
Explore the test.ipynb
notebooks provided in both /node-api
and /centric-api
for tests and examples.
+----------------------+ +------------------------+
| | | |
| Centric-API | | Node-APIs |
| | | |
| | HTTP | +--------+ |
| +-------------+ +----------> | Node-1 | |
| | | | | +--------+ |
| | | | | |
| | | | | +--------+ |
| | | | | | Node-2 | |
| | | | | +--------+ |
| | | | | |
| +-------------+ | | +--------+ |
| | | | Node-3 | |
+----------------------+ | +--------+ |
| |
| +--------+ |
| | Node-4 | |
| +--------+ |
| |
-
Centric-API to Multiple Node-APIs Communication:
- Overview: The
centric-api
communicates with multiplenode-api
instances to manage individual servers through one API. - HTTP Requests: The communication is established through HTTP requests.
- Communication Flow: The
centric-api
sends requests to multiplenode-api
instances (Node-1, Node-2, Node-3, Node-4), which independently process the requests.
- Overview: The
This project is licensed under the terms of the BSD 3-Clause License. See the LICENSE file for details.
This project was initially developed for personal use. Feel free to explore, modify, and adapt the codebase according to your requirements. If you encounter issues or have suggestions, please open an issue on the GitHub repository.