Skip to content

Small ASP.NET server that uses SignalR to transmit data between clients

License

Notifications You must be signed in to change notification settings

XFox111/backbone

Backbone

GitHub last commit Docker Image Size

Small ASP.NET web server for one way communication between two clients.

This server is one of the key components of EasyLogon project.

Overview

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
Loading

Endpoints

  • 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.

Key points

  • The arbitrary channel for connectionId tranmission should be as secure as possibe (preferably an offline channel), since posession of connectionId can pose a security threat.
  • Connection between Backbone and receiver preferably should be re-established after every transmission to avoid replay attacks.

Related papers

Development

Prerequisites

For development you can use Dev Containers or GitHub Codespaces. Otherwise you will need to install following tools:

Building and debugging

Here're some commonly used commands:

dotnet restore			# Install dependencies
dotnet run				# Start the development server
dotnet build			# Build the project for production

To 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.

Contributing

GitHub issues CI GitHub repo size

There are many ways in which you can participate in the project, for example:

If you are interested in fixing issues and contributing directly to the code base, please refer to the Contribution Guidelines


Bluesky GitHub Buy Me a Coffee

©2025 Eugene Fox. Licensed under MIT license

About

Small ASP.NET server that uses SignalR to transmit data between clients

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors 2

  •  
  •