Aphorio v0.6.3

Everything in One Place!

Your self-hosted solution for web servers, docker containers, and so much more!

application screenshot

About Aphorio

Aphorio started because of two very simple problems:

  1. Needing a simple solution to proxy WebSocket connections
  2. Needing an automated solution for port assignments

Before Aphorio I was a long time Apache user, but have you ever tried to proxy WebSockets in Apache? It's extremely painful. In JavaScript with Node.js it really is only two lines of code. So I started this application to bend network traffic crossing my home network to my will.

My other challeng was keeping track of what ports were mapped to which web servers and which docker containers. This can become quite the hassle when you have many services running, each with their own multitude of port assingments, and need to assign ports in a logical manner for your next incoming application.

Demo

Try this application out by launching a real demo. For performance and security several features of the demo are reduced or restricted.

Installation

  1. Install either Bun or Node.js.
  2. Download the application: git clone https://github.com/prettydiff/aphorio/

Execution

  1. Execute with your choice of Bun or Node.js run times: node ./aphorio/lib/index.ts or bun ./aphorio/lib/index.ts

Performance

Aphorio focuses on both execution performance and convenience. HTTP and WebSockets execute on the same port, which eases everything from server configuration to proxy management without sacrifing speed. In fact, Aphorio just might be the fastest thing out there.

6,000,000 WebSocket message sends per second.

That is 6,000,000 messages per second averaged across multiple 10 test experiements using a 4 character message to a single socket on a AMD Ryzen 9 9900X with 32gb 5200mhz memory. Please produce your own measures on your own hardware using Aphorio's Performance Test dashboard feature section.

Artificial Intelligence

This application makes no use of large language models in the authoring or analysis of this code.