# 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, run:

```
sbin/gcf1 start
Starting gcf1d services: ...succeeded
```

7. To download/update databases, run:

```
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
PORT=3000
```

## Running the Server

To start the UDP server, use the following command:

```
npm start
```
This will run the server and bind it to the port specified in your .env file.
