45 Commits

Author SHA1 Message Date
a6f67d1320 Bump version: 1.2.3 → 1.2.4
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m23s
1.2.4
2025-07-15 19:22:06 +01:00
796acd1b4e update stream url if its changed 2025-07-15 19:21:55 +01:00
900d3c1cfe ints 2025-07-15 18:47:54 +01:00
2b601a5e44 Bump version: 1.2.2 → 1.2.3
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m31s
1.2.3
2025-07-15 18:00:27 +01:00
12707cccc0 bump a push 2025-07-15 18:00:21 +01:00
4a3c21568b Bump version: 1.2.1 → 1.2.2
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m23s
1.2.2
2025-07-15 17:55:04 +01:00
2034b4211a show max connection next to stream url 2025-07-15 17:54:37 +01:00
28dadf0ca2 reload on refresh 2025-07-15 17:22:27 +01:00
842ac5aae2 update expiry 2025-07-15 16:56:48 +01:00
cd2f84b84e Bump version: 1.2.0 → 1.2.1
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m31s
1.2.1
2025-07-15 15:48:47 +01:00
26d8f1e65b missing import 2025-07-15 15:48:38 +01:00
8ac3f498ed docstrings 2025-07-15 15:45:17 +01:00
1d0073d2fb faster checker 2025-07-15 15:42:47 +01:00
92bee8f242 Bump version: 1.1.3 → 1.2.0
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m30s
1.2.0
2025-07-15 15:12:57 +01:00
26e26951da allow user to validate an account using checker 2025-07-15 15:12:44 +01:00
4267dfcb33 account checker 2025-07-15 14:40:43 +01:00
3f21e2a0e1 Bump version: 1.1.2 → 1.1.3
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m37s
1.1.3
2025-07-15 11:45:16 +01:00
e52387b9ca code cleanup 2025-07-15 11:38:59 +01:00
cbfcc59d9a add bump my version logic 2025-07-15 11:31:07 +01:00
1603b7fe3a working auth
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m14s
1.1.2
2025-07-15 09:54:01 +01:00
afca94af6c fix login
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m14s
1.1.1
2025-07-15 09:28:47 +01:00
1c3918354c adding and deleting account is working
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m13s
1.1.0
2025-07-14 19:18:47 +01:00
b3054b3dda database connection pooling 2025-07-14 18:32:48 +01:00
2a49e280c2 working?
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m14s
1.0.8
2025-07-14 15:48:05 +01:00
be33cdd1da add no-build-solation
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m39s
1.0.7
2025-07-14 15:01:55 +01:00
a28daabe2f non split build to get it working again
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m35s
2025-07-14 14:47:06 +01:00
530461a5f0 add stemm 2025-07-14 14:44:56 +01:00
415326d932 revert back if this doesn't work
Some checks failed
Build and Publish Docker Image / build-and-push (push) Failing after 39s
2025-07-14 14:41:04 +01:00
768c3c3c7a copy to last working dockerifle
Some checks failed
Build and Publish Docker Image / build-and-push (push) Failing after 45s
2025-07-14 14:38:05 +01:00
53780e7a2d idated dockerfile
Some checks failed
Build and Publish Docker Image / build-and-push (push) Failing after 47s
2025-07-14 14:33:01 +01:00
aa29eb27f8 multibuild and pin package
Some checks failed
Build and Publish Docker Image / build-and-push (push) Failing after 38s
2025-07-14 14:30:42 +01:00
c21e4b8206 add pycryptodome
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m35s
1.0.6
2025-07-14 14:22:53 +01:00
915a9d8133 forece refresh the image
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m34s
1.0.5
2025-07-14 14:15:49 +01:00
372d9f8889 rework docker i dockerfile
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m38s
1.0.3 1.0.4
2025-07-14 14:09:53 +01:00
2fb86cb23d add gunicorn
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m33s
1.0.2
2025-07-14 14:03:04 +01:00
5d58e48bb3 remove the v from the git tag in the workflow
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 1m43s
1.0.1
2025-07-14 13:51:36 +01:00
2f5f364cde updated docker bits 1.0.0 2025-07-14 13:50:26 +01:00
8828803754 working config.py setup 2025-07-14 13:42:58 +01:00
ff5b8b4937 new encryption logic 2025-07-14 13:29:55 +01:00
aa1b9d7281 refactor(security): improve encryption using PyCryptodome and PBKDF2
Replace the `cryptography` library with `pycryptodome` for password encryption.

The previous implementation used AES-GCM with a static key derived from a
hardcoded secret. This change introduces a more robust security model by:
- Using PBKDF2 to derive the encryption key from the secret.
- Adding a unique, randomly generated salt for each encrypted password.

This significantly enhances security by protecting against rainbow table
and pre-computation attacks.

BREAKING CHANGE: The password encryption format has changed. All previously
encrypted passwords stored in the database are now invalid and will need
to be reset.
2025-07-14 11:55:13 +01:00
79a2f6e944 feat(security): implement AES-GCM for password encryption
Replaces the `pyeasyencrypt` library with a more robust and standard
encryption implementation using `cryptography.hazmat`.

This commit introduces AES-256-GCM for encrypting and decrypting user
account passwords. The `add_account` endpoint now properly encrypts
passwords before database insertion.

Error handling has been added to the `get_user_accounts` endpoint to
manage decryption failures for legacy passwords, which will be returned
as "DECRYPTION_FAILED".

BREAKING CHANGE: The password encryption algorithm has been changed.
All previously stored passwords are now invalid and cannot be decrypted.
2025-07-14 11:12:13 +01:00
4352004ed3 feat(app): restructure as a modern Flask API
This commit refactors the entire backend application into a more structured and maintainable Flask project. It introduces an application factory pattern, consolidates routes into a blueprint, and implements a robust authentication and database layer.

- Introduces a Flask application factory (`create_app` in `main.py`) for better organization and testability.
- Consolidates all API routes into a single blueprint (`routes/api.py`) for modularity.
- Implements a new basic authentication system using a decorator (`@requires_basic_auth`) to secure all endpoints.
- Refactors the database access layer with standardized query execution and connection handling.
- Adds new modules for core logic, including an account checker (`checker.py`) and user retrieval (`get_users.py`).
- Updates the VSCode launch configuration to support the new Flask application structure.

BREAKING CHANGE: The application has been completely restructured. The old `server.py` entry point is removed. The application should now be run via the app factory in `main.py`. All API endpoints now require basic authentication.
2025-07-13 19:40:04 +01:00
445cdc834a latest working sample 2025-05-10 13:58:58 +01:00
0ef3916ae7 ignroe pyc files 2023-09-14 14:40:16 +01:00
Karl Hudgell
a15c68daac initial commit 2023-09-14 12:16:18 +01:00