gitmyhub

avaco-deno

TypeScript ★ 20 updated 18d ago

A lightweight reverse proxy on Deno Deploy that forwards traffic from a public address to a private Xray-core server using the XHTTP protocol, free to host, no dependencies, deploys with one command.

TypeScriptDenoDeno DeployXHTTPXray-coresetup: moderatecomplexity 3/5

Avaco Deno is a lightweight reverse proxy written in TypeScript that runs on Deno Deploy, a free serverless hosting platform. Its purpose is to forward traffic using the XHTTP protocol from a public-facing address to a private backend server, acting as a relay layer between a client application and a self-hosted Xray-core server (a tool commonly used for private network tunneling).

The proxy is designed to work entirely within the free tier of Deno Deploy, which allows up to 10,000 requests per month. It has no external dependencies, just plain Deno standard APIs, which keeps the deployment simple and the binary small. You deploy it by cloning the repository and running a single Deno CLI command that creates an app on Deno Deploy and sets a handful of environment variables: the address of your backend server, the public path to expose, a secret key for request authentication, and limits for concurrent connections and timeouts.

Once running, client applications such as v2rayN or Hiddify connect to the Deno Deploy address. The relay checks the request path, verifies the authentication key, strips identifying headers to avoid leaking the relay's IP address, and forwards the traffic to your private server. Responses stream back through the same connection in both directions.

The repository includes instructions for deploying multiple relay apps in parallel, each pointing to a different backend server, which lets you spread load across several upstream servers or work around the monthly request cap by rotating between accounts. Deployment steps are provided for both Linux and Windows.

The README is written primarily in Persian (Farsi), with the architecture diagrams and code examples readable without knowing the language. The project is licensed under GPL-3.0.

Where it fits