Create a 4SP Link.

Host your own instance of 4simpleproblems. Choose your preferred provider below to get started.

Free URL Hosting

Dynu & GitHub Pages

This method uses GitHub Pages for hosting and Dynu to create a custom, free URL for your site.

Step 0: Create a GitHub account

Go to github.com and create an account.

Step 1: Fork the main 4SP repository

Go to the current 4SP GitHub repository. Click Fork to your own account.

Step 2: Turn on GitHub Pages

Go to Settings > Pages. Set Source to main and root. Save.

Step 3: Fork the games repositories

Fork the GAMES repository and all strongdog repositories (2-5).

Step 4: Create Dynu Domain

Create a DDNS service (Option 1) on Dynu.com.

Step 5: Link Dynu

Create a CNAME record in Dynu pointing to your github.io URL.

Step 6: Get Authorized

DM your link to 4SP on Discord.

Direct Hosting

GitHub Pages (Standard)

The simplest method. Host directly on GitHub using a standard github.io address.

Step 1: Fork Repository

Fork the main 4SP repository to your GitHub account.

Step 2: Enable Pages

In Settings > Pages, enable hosting from the main branch.

Step 3: Fork the games repositories

Fork the GAMES repository and all strongdog repositories (2-5).

Step 4: Authorize

Send your username.github.io link to 4SP on Discord.

Performance & Security

Cloudflare Workers

Create a high-speed proxy application using Cloudflare Workers.

Step 1: Create Application

Sign up or log in to Cloudflare.

  • On the dashboard sidebar, select Workers & Pages.
  • Click Create application.
  • Click Create Worker (or "Start with Hello World").
  • Change the name of the subdomain to anything you want (this is your link).
  • Click Deploy.

Step 2: Edit Code

You are now on the Production page. Click Edit code and wait for the editor to load. Replace the existing code with the script below:

export default {
  async fetch(request, env, ctx) {
    const ORIGIN_HOST = "4simpleproblems.kozow.com";

    const url = new URL(request.url);

    // Build the origin URL with full path + query
    const originUrl = new URL(request.url);
    originUrl.hostname = ORIGIN_HOST;
    originUrl.protocol = "https:";

    // Forward request to origin
    const response = await fetch(originUrl.toString(), {
      method: request.method,
      headers: request.headers,
      body: request.method === "GET" || request.method === "HEAD"
        ? null
        : request.body,
      redirect: "manual",
    });

    // Clone headers so we can safely modify them
    const newHeaders = new Headers(response.headers);

    // Optional but recommended
    newHeaders.set("X-Proxied-By", "Cloudflare-Worker-4SP");
    newHeaders.set("Cache-Control", "public, max-age=600");

    return new Response(response.body, {
      status: response.status,
      statusText: response.statusText,
      headers: newHeaders,
    });
  }
};

Step 3: Deploy

Configure the target URL in the code you just pasted.

  • Click Save and Deploy in the top right corner.

Step 4: Authorize

Copy your final Cloudflare URL and send it to the 4SP Discord account to be authorized.

Modern Deployment

Vercel

Deploy directly from GitHub using Vercel.

Step 1: Create Project

Login to Vercel, click Add New > Project.

Step 2: Import Code

Import the code from the 4SP GitHub Organization repositories.

Step 3: Deploy

Name your project and click Deploy. DM the URL to 4SP on Discord.

Edge Cloud

Fastly

Create a CDN service pointing to 4SP.

Step 1: Create Service

Login to Fastly. Click Create Service > CDN.

Step 2: Set Domain

Enter your Dynu domain or use {name}.global.ssl.fastly.net.

Step 3: Set Origin

Set Host/Origin to the URL: 4simpleproblems.kozow.com.

Step 4: Activate

Click Activate. DM the URL to 4SP on Discord.

General Guide

Get a Free Domain (Dynu)

Create a free custom domain to use with any service.

Step 1: Sign Up

Create an account at dynu.com.

Step 2: Create URL

Go to DDNS Services > Add. Fill out Option 1 with your desired name.