Unfortunetly, I have had to shut down Class Forge, because it simply wasn't worth maintaining anymore.
When I was still activly maintaining it, it was a huge job, and if it was still done and working, then I would keep it up. But due to the threat that Sentral can update their code at any time, I have decided to take it down.
Thank you for using my site, and if you are interested in still getting data from Sentral, check out Sentralify, which I do intend to keep maintaining.
However, if you want to self-host Class Forge in it's current state, then you can run it using docker.
docker run -d --restart always --name class-forge -p 5000:5000 solderingiron86/better-sentral:latest
If you don't want to use docker, you can clone the repository using git.
git clone https://github.com/mario872/class-forge && cd class-forge && python3 -m pip install -r requirements.txt && python3 main.py
New! If you are self hosting, you can now disable security so that you don't have to login. (If it's a bit slow at the start that's because it's getting your timetable without you having to click to get it.)
docker run --name class-forge -p 5000:5000 -e DISABLE_SECURITY=true -e CF_USERNAME="username" -e CF_PASSWORD="password" -e CF_STATE="nsw" -e CF_BASE_URL="caringbahhs" solderingiron86/better-sentral:latest
BUT BE CAREFUL: by default Docker will probably try and serve class forge outside of your computer, exposing it on your local network!
Make sure to configure your firewall to deny requests from outside devices to port 5000, or everyone will be able to view class forge running on your computer.
I've found that Docker was sneaky for me, and editing my firewall itself to allow it, which I had to disable by adding {"iptables": false}
to /etc/docker/daemon.json
Also, you can now go to http://127.0.0.1:5000/get_data
to get the data that Sentralify returns yourself.