https://github.com/halosghost/halosgho.st
The repo backing my homepage
https://github.com/halosghost/halosgho.st
Last synced: 6 months ago
JSON representation
The repo backing my homepage
- Host: GitHub
- URL: https://github.com/halosghost/halosgho.st
- Owner: HalosGhost
- License: gpl-3.0
- Created: 2015-10-11T04:30:51.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2022-04-22T14:07:17.000Z (about 4 years ago)
- Last Synced: 2025-02-01T18:43:12.577Z (over 1 year ago)
- Language: HTML
- Size: 1.44 MB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
hgweb
=====
This is my homepage, rewritten from the ground up in lwan so it is entirely in C.
Right now, it is nothing flashy (very similar to the Haskell version); project pages (and perhaps a few other treats) are planned for the near future.
The Stack
---------
* `lwan `_ - used as a library to build the webserver and page logic
* `hitch `_ - TLS-terminating proxy server
* `uacme `_ - an ACME-protocol client for TLS Cert renewal
All running on Arch Linux using `nftables `_ for traffic redirection and forwarding
Traffic Redirection and Forwarding
----------------------------------
lwan does not officially support running on an externally-visible port, and it remains the author's express suggestion to not do so.
To bypass this limitation, we leverage hitch to redirect traffic from ``443`` to ``8443`` (where the contentful instance of lwan is running) and back.
Furthermore, to forcibly redirect HTTP to HTTPS, we use nftables to redirect traffic from ``80`` to ``8080``.
Then, a very small instance of lwan is running on port ``8080`` that does nothing but respond to ACME challenge requests and redirect all other traffic to ``https://halosgho.st``.
Design Characteristics
----------------------
* `Secure Header Configuration `_
* `Secure TLS Configuration `_
* `Good Accessibility `_
* `High Performance `_
* `Valid, Modern, Semantic Markup `_
* `Valid Styles `_