Files
netstar-categorizer/README.md
Paul Jenkins 14d736c97e Update README to clarify server start instructions for Digital Ocean deployment
Removed instructions for starting the server and updated environment variable section.
2026-03-20 16:08:20 +00:00

106 lines
2.3 KiB
Markdown

# UDP Server - netstar-categorizer
This project is a UDP server built with Node.js that processes incoming messages and returns categorized NetStar results in Zvelo pattern.
## Prerequisites
- Node.js (v12.x or higher recommended)
- npm (v6.x or higher recommended)
- NetStar inCompass SDK
## InCompass SDK Setup
1. The inCompass SDK requires Boost C++ Libraries. To install the libraries, run:
```
apt-get install libboost-all-dev
```
2. To install the inCompass SDK, run: (It is in docs folder)
```
dpkg -i gcf1-global_{SDK Version}_deb{Debian Version}-amd64.deb
```
3. To daemonize the service, run:
```
cp -p /usr/local/gcf1/sbin/gcf1 /etc/init.d/
insserv gcf1
```
4. Or, depending on the Debian version, run:
```
systemctl enable gcf1
```
5. Go to: /usr/local/gcf1/ and open etc/gcf1.conf with a text editor. Edit the following and save the
file.
```
FC_DL_PATH=/dl104/get.cgi
FC_DL_PATH_SMALLDB=/dls104/get.cgi
...
FC_PLACE=blackdice
FC_LICENCE=GD2LHJ98B4
FC_EMAIL={ any blackdice email address }
...
HYBRID_ENABLE=1
HYBRID_NS_ACCESS=andkWEzbBWRR2K6iw4edRvfd6MmNNjRx
HYBRID_USER_AGENT=CSUX_blackdice
```
6. To start the service:
```
cd /usr/local/gcf1/
./sbin/gcf1 start
# Starting gcf1d services: ...succeeded
```
7. To download/update databases, run:
```
cd /usr/local/gcf1/
./bin/gcf1dbmng.sh etc urldb_download
# Success DB download .
./bin/gcf1dbmng.sh etc urldb_update
# Success DB update .
```
## UDP Server Setup
1. Clone the repository:
```bash
git clone <repository-url>
cd <repository-directory>
```
2. Install the dependencies:
```bash
npm install
```
3. Create a .env file in the root of the project and add your environment variables. At a minimum, you should specify the PORT:
```
cp .env.example .env
# --------- example contents ---------
# UDP_PORT=33333
# HTTP_PORT=3333
# ------------------------------------
```
## Digital Ocean Deployment details
1. The Node server is installed to `/opt/netstar-categorizer`
2. Rather than using `npm start` (which doesn't restart after a crash) the we use **[PM2](https://pm2.keymetrics.io/)**, which provides a more robust runtime
3. The full command to start the server using pm2 is `pm2 start npm --name "netstar-categorizer" --cwd /opt/netstar-categorizer/ -- start` - for convenience, there's a `run-me.sh` script in `/root` that will execute this command.