googledonts/README.md
Kumi 5a4d3aa9e7
feat: Add README and dynamic port configuration
Introduces a README with setup and usage instructions for the GoogleDonts app, enhancing accessibility and guidance for users.

Adapts the app to use an environment variable for port configuration, allowing flexibility in deployment environments, which defaults to port 5678 when unset.

Refactors request headers to exclude "Accept-Encoding", ensuring compatibility with font responses.

This update aims to support user autonomy in hosting and increase privacy assurance.

Relates to potential improvements in user deployment experiences and privacy measures.
2024-11-27 12:50:44 +01:00

1.7 KiB

GoogleDonts - a privacy-friendly Google Fonts proxy

GoogleDonts is a Flask app that acts as a proxy for Google Fonts. It allows you to use fonts without disclosing your website visitors' IP addresses to Google.

How it works

GoogleDonts works by fetching the font files from Google and serving them to the client. This way, the client's IP address is never disclosed to Google. It does not store any data about the client.

It modifies the CSS files so that the font URLs also point to the proxy. This way, the client's browser fetches the font files from the proxy instead of Google.

Disclaimer

We try our best to ensure that users do not make any connections to Google's servers. However, we cannot guarantee that we catch everything. If you find any issues, please report them. And if at all possible, please host your own fonts instead of using Google Fonts.

Setup

  1. Clone the repository
git clone https://git.private.coffee/PrivateCoffee/googledonts.git
cd googledonts
  1. Create a virtual environment and install the dependencies
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
  1. Use the flask command or a WSGI server to run the app
flask run

In production, you should use a WSGI server like uWSGI, and a reverse proxy like Caddy. Ensure that your server does not log the client's IP address!

Configuration

GoogleDonts does not require any configuration. However, if you use flask run, you can set the PORT environment variable to change the port the app listens on. By default, it listens on port 5678.

License

TypeNot is licensed under the MIT License. See LICENSE for more information.