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.
This project depends on the following APIs/scripts:
- DB server (ran on port 3001)
- Theatre (webserver on
public
, ran on port 3002) - Bare Server Node (ran on port 8001)
- Rammerhead (ran on port 8002)
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,
// ...
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.
In the project directory, you can run:
npm start
Runs the React development server.
By default, the development server listens on http://localhost:3000.
npm run build
Builds and obfuscates the React app.
Output is found in the build
folder.