CubeRealm.io SSL Error Ignorer Proxy

This proxy is designed to help users connect to an unmaintained game by ignoring SSL errors caused by old certificates. Below are the steps to use this proxy:

How to Use

  1. Ensure your game client is configured to send requests to this proxy server.
  2. Send a POST request to /match/ with the following parameters:

Request Parameters

Example Request

POST /match/?url=<SUBDOMAIN>.cuberealm.io:<SERVERPORT>/matchmake/joinOrCreate/<GAMEMODE>
Content-Type: application/json

{
    "clientVersion": 23,
    "token": "<USER_TOKEN>",
    "serverName": "<GAMEMODE>-<REGION>-<1-10>"
}
    

Response

The proxy will forward the request to the specified URL, ignoring any SSL errors, and return the response from the game server.

Is It Safe?

Ignoring SSL errors can expose you to security risks, such as man-in-the-middle attacks. This proxy is intended for use with unmaintained games that have outdated SSL certificates. Use it at your own risk.

Please note that the token you send in the request will be forwarded to my server. However, I do not use or store this token. If you do not trust me, you can host the proxy yourself or choose not to use my application.

Important Notes

Server Code

Below is the server code that handles the proxy requests:

import index from "./index.html";

const server = Bun.serve({
    routes: {
        "/match/": {
            POST: async req => {
                if (!req.headers.get("content-type")?.includes("application/json")) {
                    return Response.json({ created: false }, { status: 400 });
                }
                const { searchParams } = new URL(req.url)
                const url = new URL("https://" + searchParams.get("url"));
                if (!url.hostname.endsWith(".cuberealm.io")) {
                    return Response.json({ created: false }, { status: 400 });
                }
                return fetch(url, {
                    tls: { rejectUnauthorized: false },
                    method: "POST",
                    headers: {
                        "Content-Type": "application/json"
                    },
                    body: await req.text(),
                });
            },
        },
        "/": index
    },
    fetch(req) {
        return new Response("Not Found", { status: 404 });
    },
});

console.log(`Server running at ${server.url}`);