No description
Find a file
2025-06-07 08:27:00 +02:00
templates chore: Make name a little less dangerous 2025-05-28 15:49:48 +02:00
.gitignore feat: initialize Flask proxy app with gitignore and license 2024-08-05 16:10:59 +02:00
app.py fix: Drop Content-Encoding header from proxy response, fix Content-Length 2025-06-07 08:27:00 +02:00
LICENSE feat: initialize Flask proxy app with gitignore and license 2024-08-05 16:10:59 +02:00
README.md chore: Make name a little less dangerous 2025-05-28 15:49:48 +02:00
renovate.json Add renovate.json 2025-03-06 07:22:42 +00:00
requirements.txt feat: initialize Flask proxy app with gitignore and license 2024-08-05 16:10:59 +02:00

PoodleDonts - a privacy-friendly Google Fonts proxy

PoodleDonts 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

PoodleDonts 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/poodledonts.git
cd poodledonts
  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

PoodleDonts 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

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