My personal website - https://hiden.pw
 
 
 
 
Go to file
HIDEN 6a15d0a972 we get it you vape 2023-11-25 17:25:48 -06:00
javascript Christmas 2023 Update 2023-11-24 16:48:23 -06:00
scripts de-spooky the site 2023-11-01 03:22:20 -05:00
static we get it you vape 2023-11-25 17:25:48 -06:00
tmpl we get it you vape 2023-11-25 17:25:48 -06:00
.gitignore the farting 2023-09-14 23:26:43 -05:00
LICENSE we going back 2023-10-16 13:17:21 -05:00
README.md me forgoring 2023-11-05 14:38:31 -06:00
requirements.txt Fix missing requirement 2023-07-04 21:15:23 -05:00
runserver.py runserver cleanup 2023-08-29 19:26:15 -05:00
settings.py Some stuff idk 2023-07-10 07:37:18 -05:00
site_ctrl.py Christmas 2023 Update 2023-11-24 16:48:23 -06:00

README.md

HIDEN's website

This is my personal website, plus microservices/APIs for various HIDNet services (namely HBot). You can find the website at https://hiden.pw.

Usage instructions

Requirements

  • Python 3.9 or newer, 3.11 recommended
  • pip
  • Tesseract (for the OCR API)

Officially supported OSes

  • Windows 8.1 or newer
  • macOS 10.9 or newer
  • Debian 11 or newer
  • Ubuntu 22.04 or newer
  • Fedora 33 or newer
  • Any other Linux distribution that supports Python 3.9+

You will not receive technical assistance if you are using an unsupported OS, or if you're using a workaround to run this on an unsupported OS (such as Cygwin on older versions of Windows.)

This project is optimized for (especially) Linux and Windows, so support may be iffy if you're running it on anything else.

Installing the required packages

Install the requirements using pip: pip install -r requirements .txt. If you don't have pip, install it.

Configuration

Create settings_local.py. The available options are as follows:

PORT: The port that the server will use. Change this to something else if you already have something running on port 80, or if you do not have root privileges on *nix.

ENABLE_LOGGING: Logs every connection to the server in the terminal output.

LOG_TO_FILE: Outputs the aforementioned connection logs to a file instead. You must set ENABLE_LOGGING to True as well to use this.

DEV_MODE: Enables W.I.P. and/or experimental content. The content is served at /dev. NOTE FOR DEVELOPERS: Enabling this is highly recommended.

MCHOST: What host to try for the Minecraft server.

MCPORT: What port the aforementioned host is using for the Minecraft server.

GMODHOST: What host to try for the Garry's Mod server.

GMODPORT: What port the aforementioned host is using for the Garry's Mod server.

SERVE_STATIC: Serves the /static directory (images, CSS stylesheets, old stuff).

SERVE_STORAGE: Serves the /storage directory (software, cursors).

SERVE_JS: Serves JavaScript content.

APRILFOOLS_2022: Enables the April Fools day holiday page that was used in 2022.

APRILFOOLS_2023: Enables the April Fools day holiday page was intended to be used in 2023, but was cancelled due to a tornado hitting my city at the time.

APRILFOOLS_2024: Enables the April Fools day holiday page that will be used in 2024.

ENABLE_APIS: Enable APIs for various services, mainly used by HBot.

CAT_API_KEY: Used for supplying an API key for the cat API.

LASTFM_API_KEY: Used for supplying an API key for last.fm. Used for the site's last.fm integration.

LASTFM_API_SECRET: Specifies a shared secret for last.fm.

LASTFM_USERNAME: What last.fm account will be used for scrobbling data.

ENCRYPTED_KEY: Encrypted key required for admin operations.

TOKEN_EXPIRATION: How long it takes for the auth token to expire (in seconds). Default is 15 minutes.

HBOT_VERSION: The latest version of HBot. Used for it's updater.

HBOT_VERSION_DATE: The release date of said HBot version. Also used for it's updater. Importing date from datetime is required to use this.

You must create settings_local.py to start the server. However, you do not need to add content the the file. If the file is empty, the default options in settings.py will be used instead.

Post-configuration

For scripts inside the scripts directory to work properly, you may need to set the PYTHONPATH environment variable. Add this to your .bashrc:

export PYTHONPATH=..:$PYTHONPATH

Once configuration is done, start the server with runserver.py.

For production environments, I heavily recommend an NGINX or Caddy reverse proxy. Apache is known to be iffy in this context, so using the other two is the way to go IMHO.

After this, you should be ready to go!

Reporting problems

If you encounter any issues/bugs, put them in the Issues tab of this repository, or shoot me a message at one of the services listed at /about/socials.

Here's an example template you could use (intended for an issue with the backend):

OS: Some OS
Python ver: 3.XX.X
Using a reverse proxy?: yes/no
If yes, what web server?: Some web server
Post your settings_local.py file: Self explanatory
Description of the issue: Blah blah blah is not working
How do I reproduce the issue?: you do X and then Y and it breaks
(Screenshot and/or terminal output here)

To report an issue with the pages themselves, you can use this template:

OS: Some OS
Browser: Some Browser v1.0
What extensions are installed?: Foo the Bar v1.0
Type of device?: PC/phone/etc
Screen resolution: WxH
Description of the issue: blah blah is broken
(Screenshot here)