Skip to content

Latest commit

 

History

History
77 lines (54 loc) · 2.37 KB

README.md

File metadata and controls

77 lines (54 loc) · 2.37 KB

Ham Logger Gateway

CC BY-NC 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

CC BY-NC 4.0

Overview

The Ham Logger Gateway facilitates the processing of messages from different Ham Radio logging software. It contains asynchronous UDP and TCP servers and supports IPv4 and IPv6, providing an example of handling and processing messages.

Features

  • Asynchronous TCP and UDP server to handle multiple client connections concurrently.
  • Efficient memory management using MemoryPool.
  • Extensible architecture for easy customization.
  • Comprehensive logging for monitoring and debugging.
  • Blacklist functionality to block unwanted connections.
  • Rate limiting to manage client request rates and prevent abuse.

Requirements

Installation

To install and run the Ham Logger Gateway, follow these steps:

  1. Clone the repository:

    git clone https://github.com/KC3PIB/HamLoggerGateway.git
    cd HamLoggerGateway
  2. Build the project:

    dotnet build
  3. Configure N1MM:

    • Go to N1MM -> Config -> Broadcast Data
    • Check the types of data you wish to receive
    • Use 127.0.0.1:12060 or the values you have set in config.json
  4. Run the project:

    dotnet run --project src/HamLoggerGateway.Example/HamLoggerGateway.Example.csproj

This example project will display all N1MM messages received as JSON in the console.

Configuration

The Ham Logger Gateway can be configured through the ServerSettings class. Update the settings according to your network configuration and requirements.

Example configuration:

var settings = new ServerSettings
{
    Address = "127.0.0.1",
    Port = 5000,
    BufferSize = 16384,
    EnableReuseAddress = true
};