This is an image hosting/sharing site that utilises GIFs instead of passwords when logging in.
Instead of entering a password when registering/logging in, the user is prompted to instead draw 3-10 frames and choose the animation speed per frame of a 10x10px GIF image. Internally, the server reads the frames as separate PNG images, and concatenates the animation speed to generate a "password".
Nothing special here, just the standard uploading/downloading, and the user can also add a title and description (with limits.)
DO NOT follow these steps if you want to host AnimAuth in a production environment.
If you don't know what a production environment is, then you can probably proceed.
python >= 3.10
blinker==1.9.0
click==8.2.1
filetype==1.2.0
Flask==3.1.1
Flask-SQLAlchemy==3.1.1
Flask-UUID==0.2
flask_session_captcha==1.5.0
greenlet==3.2.4
gunicorn==23.0.0
itsdangerous==2.2.0
Jinja2==3.1.6
MarkupSafe==3.0.2
pillow==11.3.0
python-dotenv==1.1.1
SQLAlchemy==2.0.43
typing_extensions==4.14.1
Werkzeug==3.1.3
(Do not include the "$" when copying commands.)
$ git clone https://github.com/x-9917638/AnimAuth.git
$ cd AnimAuth$ python -m venv .venvActivate the environment (MacOS/Linux)
$ source .venv/bin/activateActivate the environment (Windows)
$ ./.venv/scripts/activate.bat$ pip install -r requirements.txtCreate the secret key:
$ python -c "from base64 import b64encode; from os import urandom; print(b64encode(urandom(512)).decode('utf-8'))" > ./.envEdit the .env file and add SECRET_KEY= to the start of the file. It should look something like this: SECRET_KEY=8U3jMpUVpoC2tT [...]
$ flask run or
$ python app.py