Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ Radius Public

a simple, sleek, and fast web proxy based on Radius with advanced updates and deployment features

License

Notifications You must be signed in to change notification settings

sriail/Radius

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Radius logo

Stars Forks Last Commit

Radius is a simple and clean web proxy designed for speed and ease-of-use, made in Astro.

Join the Discord! (Or TitaniumNetwork's)

How to support Radius

You can donate at https://hcb.hackclub.com/donations/start/radius

If you can't donate, tell your friends about Radius!

Tech Stack

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

Setup

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 bstart

Radius 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 dev

Deployment

Radius can be easily deployed to various platforms with full backend functionality.

📖 For detailed deployment instructions, see DEPLOYMENT.md

Quick Deploy

Choose your preferred platform:

Deploy to Heroku

Deploy to Heroku

Heroku fully supports WebSocket connections and is recommended for production deployments.

Manual deployment:

heroku create your-app-name
git push heroku main

Deploy to Replit

Run on Replit

Deploy to CodeSandbox

Edit in CodeSandbox

Deploy with Docker

Radius includes a Dockerfile for containerized deployments:

# Build the Docker image
docker build -t radius .

# Run the container
docker run -p 8080:8080 radius

Or 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-stopped

Environment Variables

All platforms support the following environment variables:

  • PORT - The port number to run the server on (default: 8080)

Bare Server Connection Limiter

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)

Platform Compatibility Notes

  • 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 Want To Deploy But The Link Is Inexcessable?

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>

Credits

Owski - Owner
proudparrot2 - Founder and original dev
MotorTruck1221 - Astro rewrite and lead dev
All of the contributors!