├── .gitattributes ├── .github ├── dependabot.yml └── workflows │ ├── build_and_push.yaml │ ├── publish.yaml │ └── tests.yaml ├── .gitignore ├── LICENSE ├── README.md ├── blackbox.example.yaml ├── blackbox ├── __init__.py ├── __main__.py ├── cli.py ├── config.py ├── exceptions.py ├── handlers │ ├── __init__.py │ ├── _base.py │ ├── databases │ │ ├── __init__.py │ │ ├── _base.py │ │ ├── localstorage.py │ │ ├── mariadb.py │ │ ├── mongodb.py │ │ ├── mysql.py │ │ ├── postgres.py │ │ └── redis.py │ ├── notifiers │ │ ├── __init__.py │ │ ├── _base.py │ │ ├── discord.py │ │ ├── json.py │ │ ├── slack.py │ │ └── telegram.py │ └── storage │ │ ├── __init__.py │ │ ├── _base.py │ │ ├── dropbox.py │ │ ├── google_drive.py │ │ └── s3.py └── utils │ ├── __init__.py │ ├── commands.py │ ├── cooldown.py │ ├── encryption.py │ ├── logger.py │ ├── mixins.py │ ├── reports.py │ ├── rotation.py │ ├── workflows.py │ └── yaml.py ├── docker-compose.yaml ├── docker ├── Dockerfile ├── mongo │ ├── init_data │ │ ├── admin │ │ │ ├── system.version.bson │ │ │ └── system.version.metadata.json │ │ └── pydis_forms │ │ │ ├── admins.bson │ │ │ ├── admins.metadata.json │ │ │ ├── forms.bson │ │ │ ├── forms.metadata.json │ │ │ ├── responses.bson │ │ │ └── responses.metadata.json │ └── mongo_import.sh ├── postgres │ └── postgres_init.sql └── redis │ ├── Dockerfile │ ├── data.redis │ └── start-redis.sh ├── img ├── blackbox_avatar.png ├── blackbox_banner.png ├── blackbox_discord.png ├── blackbox_discord_2.png ├── blackbox_slack_default_fail.png ├── blackbox_slack_default_success.png ├── blackbox_slack_modern_fail.png ├── blackbox_slack_modern_success.png ├── blackbox_telegram_fail.png └── blackbox_telegram_success.png ├── poetry.lock ├── pyproject.toml ├── tests ├── __init__.py ├── conftest.py ├── test_cli_exit_codes.py ├── test_config.py ├── test_cooldown.py ├── test_cron.py ├── test_discord.py ├── test_docker_version_tags.py ├── test_dropbox.py ├── test_encryption.py ├── test_exception_chaining.py ├── test_filename_format.py ├── test_google_drive.py ├── test_json.py ├── test_mongodb.py ├── test_notifier_base.py ├── test_password_validation.py ├── test_postgres.py ├── test_redis.py ├── test_s3.py ├── test_slack.py └── test_telegram.py └── tox.ini /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/build_and_push.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/.github/workflows/build_and_push.yaml -------------------------------------------------------------------------------- /.github/workflows/publish.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/.github/workflows/publish.yaml -------------------------------------------------------------------------------- /.github/workflows/tests.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/.github/workflows/tests.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/README.md -------------------------------------------------------------------------------- /blackbox.example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox.example.yaml -------------------------------------------------------------------------------- /blackbox/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/__init__.py -------------------------------------------------------------------------------- /blackbox/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/__main__.py -------------------------------------------------------------------------------- /blackbox/cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/cli.py -------------------------------------------------------------------------------- /blackbox/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/config.py -------------------------------------------------------------------------------- /blackbox/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/exceptions.py -------------------------------------------------------------------------------- /blackbox/handlers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/__init__.py -------------------------------------------------------------------------------- /blackbox/handlers/_base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/_base.py -------------------------------------------------------------------------------- /blackbox/handlers/databases/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/databases/__init__.py -------------------------------------------------------------------------------- /blackbox/handlers/databases/_base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/databases/_base.py -------------------------------------------------------------------------------- /blackbox/handlers/databases/localstorage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/databases/localstorage.py -------------------------------------------------------------------------------- /blackbox/handlers/databases/mariadb.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/databases/mariadb.py -------------------------------------------------------------------------------- /blackbox/handlers/databases/mongodb.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/databases/mongodb.py -------------------------------------------------------------------------------- /blackbox/handlers/databases/mysql.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/databases/mysql.py -------------------------------------------------------------------------------- /blackbox/handlers/databases/postgres.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/databases/postgres.py -------------------------------------------------------------------------------- /blackbox/handlers/databases/redis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/databases/redis.py -------------------------------------------------------------------------------- /blackbox/handlers/notifiers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/notifiers/__init__.py -------------------------------------------------------------------------------- /blackbox/handlers/notifiers/_base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/notifiers/_base.py -------------------------------------------------------------------------------- /blackbox/handlers/notifiers/discord.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/notifiers/discord.py -------------------------------------------------------------------------------- /blackbox/handlers/notifiers/json.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/notifiers/json.py -------------------------------------------------------------------------------- /blackbox/handlers/notifiers/slack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/notifiers/slack.py -------------------------------------------------------------------------------- /blackbox/handlers/notifiers/telegram.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/notifiers/telegram.py -------------------------------------------------------------------------------- /blackbox/handlers/storage/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/storage/__init__.py -------------------------------------------------------------------------------- /blackbox/handlers/storage/_base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/storage/_base.py -------------------------------------------------------------------------------- /blackbox/handlers/storage/dropbox.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/storage/dropbox.py -------------------------------------------------------------------------------- /blackbox/handlers/storage/google_drive.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/storage/google_drive.py -------------------------------------------------------------------------------- /blackbox/handlers/storage/s3.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/handlers/storage/s3.py -------------------------------------------------------------------------------- /blackbox/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/utils/__init__.py -------------------------------------------------------------------------------- /blackbox/utils/commands.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/utils/commands.py -------------------------------------------------------------------------------- /blackbox/utils/cooldown.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/utils/cooldown.py -------------------------------------------------------------------------------- /blackbox/utils/encryption.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/utils/encryption.py -------------------------------------------------------------------------------- /blackbox/utils/logger.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/utils/logger.py -------------------------------------------------------------------------------- /blackbox/utils/mixins.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/utils/mixins.py -------------------------------------------------------------------------------- /blackbox/utils/reports.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/utils/reports.py -------------------------------------------------------------------------------- /blackbox/utils/rotation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/utils/rotation.py -------------------------------------------------------------------------------- /blackbox/utils/workflows.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/utils/workflows.py -------------------------------------------------------------------------------- /blackbox/utils/yaml.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/blackbox/utils/yaml.py -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/docker-compose.yaml -------------------------------------------------------------------------------- /docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/docker/Dockerfile -------------------------------------------------------------------------------- /docker/mongo/init_data/admin/system.version.bson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/docker/mongo/init_data/admin/system.version.bson -------------------------------------------------------------------------------- /docker/mongo/init_data/admin/system.version.metadata.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/docker/mongo/init_data/admin/system.version.metadata.json -------------------------------------------------------------------------------- /docker/mongo/init_data/pydis_forms/admins.bson: -------------------------------------------------------------------------------- 1 | !_id165023948638126080 -------------------------------------------------------------------------------- /docker/mongo/init_data/pydis_forms/admins.metadata.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/docker/mongo/init_data/pydis_forms/admins.metadata.json -------------------------------------------------------------------------------- /docker/mongo/init_data/pydis_forms/forms.bson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/docker/mongo/init_data/pydis_forms/forms.bson -------------------------------------------------------------------------------- /docker/mongo/init_data/pydis_forms/forms.metadata.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/docker/mongo/init_data/pydis_forms/forms.metadata.json -------------------------------------------------------------------------------- /docker/mongo/init_data/pydis_forms/responses.bson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/docker/mongo/init_data/pydis_forms/responses.bson -------------------------------------------------------------------------------- /docker/mongo/init_data/pydis_forms/responses.metadata.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/docker/mongo/init_data/pydis_forms/responses.metadata.json -------------------------------------------------------------------------------- /docker/mongo/mongo_import.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | mongorestore init_data/ -------------------------------------------------------------------------------- /docker/postgres/postgres_init.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/docker/postgres/postgres_init.sql -------------------------------------------------------------------------------- /docker/redis/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/docker/redis/Dockerfile -------------------------------------------------------------------------------- /docker/redis/data.redis: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/docker/redis/data.redis -------------------------------------------------------------------------------- /docker/redis/start-redis.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/docker/redis/start-redis.sh -------------------------------------------------------------------------------- /img/blackbox_avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/img/blackbox_avatar.png -------------------------------------------------------------------------------- /img/blackbox_banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/img/blackbox_banner.png -------------------------------------------------------------------------------- /img/blackbox_discord.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/img/blackbox_discord.png -------------------------------------------------------------------------------- /img/blackbox_discord_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/img/blackbox_discord_2.png -------------------------------------------------------------------------------- /img/blackbox_slack_default_fail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/img/blackbox_slack_default_fail.png -------------------------------------------------------------------------------- /img/blackbox_slack_default_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/img/blackbox_slack_default_success.png -------------------------------------------------------------------------------- /img/blackbox_slack_modern_fail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/img/blackbox_slack_modern_fail.png -------------------------------------------------------------------------------- /img/blackbox_slack_modern_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/img/blackbox_slack_modern_success.png -------------------------------------------------------------------------------- /img/blackbox_telegram_fail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/img/blackbox_telegram_fail.png -------------------------------------------------------------------------------- /img/blackbox_telegram_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/img/blackbox_telegram_success.png -------------------------------------------------------------------------------- /poetry.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/poetry.lock -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/pyproject.toml -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/test_cli_exit_codes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_cli_exit_codes.py -------------------------------------------------------------------------------- /tests/test_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_config.py -------------------------------------------------------------------------------- /tests/test_cooldown.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_cooldown.py -------------------------------------------------------------------------------- /tests/test_cron.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_cron.py -------------------------------------------------------------------------------- /tests/test_discord.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_discord.py -------------------------------------------------------------------------------- /tests/test_docker_version_tags.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_docker_version_tags.py -------------------------------------------------------------------------------- /tests/test_dropbox.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_dropbox.py -------------------------------------------------------------------------------- /tests/test_encryption.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_encryption.py -------------------------------------------------------------------------------- /tests/test_exception_chaining.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_exception_chaining.py -------------------------------------------------------------------------------- /tests/test_filename_format.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_filename_format.py -------------------------------------------------------------------------------- /tests/test_google_drive.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_google_drive.py -------------------------------------------------------------------------------- /tests/test_json.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_json.py -------------------------------------------------------------------------------- /tests/test_mongodb.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_mongodb.py -------------------------------------------------------------------------------- /tests/test_notifier_base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_notifier_base.py -------------------------------------------------------------------------------- /tests/test_password_validation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_password_validation.py -------------------------------------------------------------------------------- /tests/test_postgres.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_postgres.py -------------------------------------------------------------------------------- /tests/test_redis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_redis.py -------------------------------------------------------------------------------- /tests/test_s3.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_s3.py -------------------------------------------------------------------------------- /tests/test_slack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_slack.py -------------------------------------------------------------------------------- /tests/test_telegram.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tests/test_telegram.py -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lemonsaurus/blackbox/HEAD/tox.ini --------------------------------------------------------------------------------