43 lines
1.5 KiB
Markdown
43 lines
1.5 KiB
Markdown
|
# noBSdelivr - a privacy-friendly jsdelivr proxy
|
||
|
|
||
|
noBSdelivr is a Flask app that acts as a proxy for jsdelivr. It allows you to use the CDN without disclosing your website visitors' IP addresses to jsdelivr.
|
||
|
|
||
|
## How it works
|
||
|
|
||
|
noBSdelivr works by fetching the assets from jsdelivr and serving them to the client. This way, the client's IP address is never disclosed to jsdelivr. It does not store any data about the client.
|
||
|
|
||
|
Note that it does *not* modify the assets in any way. This means that the loaded assets may still contain tracking code or create connections to third-party servers, including jsdelivr. You should always review the assets you load from a CDN.
|
||
|
|
||
|
## Setup
|
||
|
|
||
|
1. Clone the repository
|
||
|
|
||
|
```bash
|
||
|
git clone https://git.private.coffee/PrivateCoffee/nobsdelivr.git
|
||
|
cd nobsdelivr
|
||
|
```
|
||
|
|
||
|
2. Create a virtual environment and install the dependencies
|
||
|
|
||
|
```bash
|
||
|
python3 -m venv venv
|
||
|
source venv/bin/activate
|
||
|
pip install -r requirements.txt
|
||
|
```
|
||
|
|
||
|
3. Use the flask command or a WSGI server to run the app
|
||
|
|
||
|
```bash
|
||
|
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
|
||
|
|
||
|
noBSdelivr 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 5680.
|
||
|
|
||
|
## License
|
||
|
|
||
|
noBSdelivr is licensed under the MIT License. See [LICENSE](LICENSE) for more information.
|