Silly Arivertisements https://ad.ari.lt/
  • Python 63%
  • Jinja 26.8%
  • CSS 7.6%
  • JavaScript 2.1%
  • Mako 0.5%
Find a file
Arija A. 0ab9c2dd42
Improve table CSS
Signed-off-by: Arija A. <ari@ari.lt>
2026-02-18 23:28:26 +02:00
src Improve table CSS 2026-02-18 23:28:26 +02:00
.editorconfig Initial commit 2025-08-07 22:39:27 +00:00
.eslintrc.js Add .eslintrc.js 2025-08-22 23:40:23 +03:00
.gitignore Initial commit 2025-08-07 22:39:27 +00:00
.prettierrc Add prettierrc 2025-08-24 23:50:46 +03:00
example.env Add TOR link support 2025-09-27 14:43:45 +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 Add a TL;DR in readme 2025-12-28 18:27:28 +02:00
requirements.txt Add an API 2026-01-20 22:23:40 +02:00
tox.ini Initial commit 2025-08-07 22:39:27 +00:00

Arivertisements (ad.ari.lt)

Silly Arivertisements

TL;DR

Arivertisements are the more open, private, and transparent Johnvertisements.

For future contributors:

These two repositories are not the same.

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>.

For adding your own Arivertisement see https://git.ari.lt/ari.lt/arivertisements/src/branch/main/CONTRIBUTING.md and contribute to that repository. This repository only includes the backend logic.

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 --upgrade -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 --upgrade -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