Radius is a simple and clean web proxy designed for speed and ease-of-use, made in Astro.
Join the Discord! (Or TitaniumNetwork's)
You can donate at https://hcb.hackclub.com/donations/start/radius
If you can't donate, tell your friends about Radius!
Astro - Server-side rendering and static site generation
Fastify - HTTP server
Vite - Build system
TailwindCSS - CSS framework
Ultraviolet - Web proxy
Scramjet - Web proxy
Wisp-js - Wisp server and client in JavaScript
Bare-mux - Modular implementation of the Bare client interface
EpoxyTransport Bare-mux transport using epoxy-tls
CurlTransport Bare-mux transport using libcurl.js
Tip
Deploy localy on localy host to have a adress only you can acess, all functionaly will remain the same and the site will work properley! To do this, set up with (pnpm) using the staps below and visit http://localhost:8080 for a full conpleate site localy!
Setting Up Raduius is simple and convinent, for (pnpm), run
git clone https://github.com/RadiusProxy/Radius
cd Radius
pnpm i
pnpm bstartRadius will run on port 8080 by default, or 4321 for a dev environment (pnpm dev).
Caution
The Bare Server WILL NOT WORK using (npm run dev) which will lead to lack of functionality, however the wisp server and basic proxy system will still be functional
And for (npm), run
# Bare Server WILL NOT WORK due to npm run dev
git clone https://github.com/RadiusProxy/Radius
cd Radius
npm install
npm run devRadius can be easily deployed to various platforms with full backend functionality.
📖 For detailed deployment instructions, see DEPLOYMENT.md
Choose your preferred platform:
Heroku fully supports WebSocket connections and is recommended for production deployments.
Manual deployment:
heroku create your-app-name
git push heroku mainRadius includes a Dockerfile for containerized deployments:
# Build the Docker image
docker build -t radius .
# Run the container
docker run -p 8080:8080 radiusOr using Docker Compose:
version: '3.8'
services:
radius:
build: .
ports:
- "8080:8080"
environment:
- NODE_ENV=production
- PORT=8080
# Optional: Bare server connection limiter settings
# - BARE_MAX_CONNECTIONS_PER_IP=100
# - BARE_WINDOW_DURATION=60
# - BARE_BLOCK_DURATION=30
restart: unless-stoppedAll platforms support the following environment variables:
PORT- The port number to run the server on (default: 8080)
These variables control the rate limiting for the Bare server to prevent abuse while allowing normal browsing:
BARE_MAX_CONNECTIONS_PER_IP- Maximum number of concurrent keep-alive connections per IP address (default: 100)BARE_WINDOW_DURATION- Time window in seconds for counting connections (default: 60)BARE_BLOCK_DURATION- Duration in seconds to block an IP after exceeding the limit (default: 30)
- Heroku, Replit, CodeSandbox, Render, Railway: Full support for WebSocket connections and all proxy features
- Vercel, Netlify: Limited WebSocket support; some proxy features may not work as expected. These platforms work best for static content and serverless functions but may have limitations with the proxy backend.
Don't Wory. add this html script into any basic Website builder
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Radius</title>
<script src="https://cdn.tailwindcss.com"></script>
<style>
/*
Custom CSS to ensure the HTML and IFRAME take up the entire viewport
and remove default margin/scrolling.
*/
html, body {
height: 100%;
margin: 0;
overflow: hidden;
font-family: 'Inter', sans-serif;
}
iframe {
border: none;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<!--
The IFRAME is set to fill the entire viewport.
The sandbox attribute is loaded with all possible allowed tokens for maxamum functionality
-->
<iframe
id="fullPageFrame"
src="https://example.com"
title="Sandboxed Content"
allow="fullscreen"
sandbox="allow-forms allow-modals allow-pointer-lock allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-top-navigation allow-top-navigation-by-user-activation"
>
Your browser does not support iframes, please swich to a supported browser. You can find supported browsers at https://caniuse.com/?search=iframe or go to https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/iframe for more information.
</iframe>
<!--
For a custom deployment, enter your URL.
-->
</body>
</html>Owski - Owner
proudparrot2 - Founder and original dev
MotorTruck1221 - Astro rewrite and lead dev
All of the contributors!