Small ASP.NET web server for one way communication between two clients.
This server is one of the key components of EasyLogon project.
sequenceDiagram
participant S as Sender
participant B as Backbone
participant R as Receiver
opt SignalR
R->>+B: Connection request
B->>-R: connection_id
end
opt Arbitrary data channel
R-->>S: connection_id
end
opt HTTP POST
S->>+B: connection_id + data
end
opt SignalR
B->>-R: data
end
- SignalR:
/ws- WebSocket endpoint for real-time communication. - POST:
/send?id={connectionId}- HTTP POST endpoint for sending data to the receiver.
Body of the /send endpoint must be of type Content-Type: application/json.
- The arbitrary channel for
connectionIdtranmission should be as secure as possibe (preferably an offline channel), since posession ofconnectionIdcan pose a security threat. - Connection between Backbone and receiver preferably should be re-established after every transmission to avoid replay attacks.
For development you can use Dev Containers or GitHub Codespaces. Otherwise you will need to install following tools:
Here're some commonly used commands:
dotnet restore # Install dependencies
dotnet run # Start the development server
dotnet build # Build the project for productionTo build a Docker image, run:
docker build -t <tag_name> .Tip
If you use VS Code, you can also use pre-defined tasks for building and debugging.
There are many ways in which you can participate in the project, for example:
- Submit bugs and feature requests, and help us verify as they are checked in
- Review source code changes
- Review documentation and make pull requests for anything from typos to new content
If you are interested in fixing issues and contributing directly to the code base, please refer to the Contribution Guidelines
©2025 Eugene Fox. Licensed under MIT license