Silly Arivertisements https://ad.ari.lt/
Find a file
2025-08-11 14:37:05 +03:00
src Use flask.request.host instead of a static domain name 2025-08-11 14:37:05 +03:00
.editorconfig Initial commit 2025-08-07 22:39:27 +00:00
.gitignore Initial commit 2025-08-07 22:39:27 +00:00
example.env Use flask.request.host instead of a static domain name 2025-08-11 14:37:05 +03:00
LICENSE Set up basic aritisement infrastructure. 2025-08-08 03:13:51 +03:00
pyproject.toml Initial commit 2025-08-07 22:39:27 +00:00
README.md Fix typos in readme 2025-08-08 11:21:35 +03:00
requirements.txt Implement ads and counters. 2025-08-08 09:05:19 +03:00
tox.ini Initial commit 2025-08-07 22:39:27 +00:00

Arivertisements (ad.ari.lt)

Silly Arivertisements

Why?

This project was inspired by Johnvertisements from citrons.xyz, motivated by several significant concerns around security, privacy, transparency, and performance. Johnvertisements, for instance, forces an unrestricted iframe to be embedded on every page - a practice that raises security and privacy issues. Additionally, it is not open source or verifiable and exhibits generally poor performance.

My goal is to provide a self-hostable, open source alternative for displaying "advertisements" (not in the traditional commercial sense, but rather as a playful collection of silly images for silly people, this project does NOT support or encourage monetization through arivertisements)

Contributing

To contribute to the back-end, fork this repository (or clone to your favourite git forge) and either make a PR in the web UI or email it to:

Arija A. <ari@ari.lt>

OpenPGP key ID (RSA4096): 5594A925063F3E68885A8F42B6B1654EDCB0F20C
OpenPGP key ID (ECC): 20A6FBAC2E07A6256E5A435A841A60BFE0406195

This will be registered as a pull request by a manual git pull <url>. If the repository is private, please also add my public SSH key for access:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHiwjttrKpxU7aQY3H/CnZG8vFxI7pRPzvXI3348XGI3 ari@ari.lt

For adding your own Aritisement see https://git.ari.lt/ari.lt/arivertisements/src/branch/main/CONTRIBUTING.md.

Running

Firstly, you may want to clone https://git.ari.lt/ari.lt/arivertisements into /var/lib/ads or whatever you set your $ADS to in .env:

git clone --depth 1 https://git.ari.lt/ari.lt/arivertisements /var/lib/ads

Then:

python3 -m venv venv
source venv/bin/activate
source .env  # see example.env
pip install -r requirements.txt
cd src
# If you remove migrations/:
# flask db init
# vim migrations/script.py.mako (add import flask_app)
# flask db migrate -m 'Initial migration'
flask db upgrade
flask run

For production use a WSGI server such as Gunicorn:

python3 -m venv venv
source venv/bin/activate
source .env  # see example.env
pip install -r requirements.txt
pip install --upgrade gunicorn
cd src
flask db upgrade
python3 -m gunicorn -b 127.0.0.1:12345 -w 4 app:app  # ... Or whatever your configuration is