/HolyUB

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

Holy Unblocker website

Who/What this repository is for

This repository contains the base Holy Unblocker website. This includes tools and dependencies used to compile the website (Webpack, React) and development tools (ESLint, Prettier).

This repository should not be ran alone. There are several dependencies that require configuration.

If you are a developer, this repository is ideal for testing commits and building for production.

If you are just looking to self-host/deploy Holy Unblocker, check out website-aio.

Prerequisites

APIs

This project depends on the following APIs/scripts:

Rammerhead config

src/config.js:

// ...
	port: 8002,
	crossDomainPort: 8003,
// ...
// ON PRODUCTION SERVER (SSL) (PROXY PASSED BY NGINX)
	getServerInfo: (req) => {
		return { hostname: new URL(`https://${req.headers.host}`).hostname, port: 443, crossDomainPort: 443, protocol: 'https:' };
	},
// ON DEVELOPMENT SERVER
	getServerInfo: () => ({ hostname: new URL(`https://${req.headers.host}`).hostname, port: 8002, crossDomainPort: 8002, protocol: 'http:' }),
// ...
	password: null,
// ...

Recommended VSC Extensions

Recommended Chromium extensions

Protections against clickjacking and CORS prevents the website running locally from interacting with other scripts such as Rammerhead. These extensions will circumvent these protections for development.

Scripts

In the project directory, you can run:

npm run dev

Starts the React development server.

By default, the development server listens on http://localhost:3000.

npm run build

Builds the React app.

npm start

Starts the static webserver.

Output is found in the build folder.