No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-22 13:17:28 +03:30
src/mobinnetmonitor Rename project to MobinnetMonitor and add application entry point 2026-09-22 13:17:28 +03:30
tests Rename project to MobinnetMonitor and add application entry point 2026-09-22 13:17:28 +03:30
.env.example Rename project to MobinnetMonitor and add application entry point 2026-09-22 13:17:28 +03:30
.gitignore Rename project to MobinnetMonitor and add application entry point 2026-09-22 13:17:28 +03:30
.python-version Application specifics 2026-09-21 09:32:11 +03:30
AGENTS.md Rename project to MobinnetMonitor and add application entry point 2026-09-22 13:17:28 +03:30
LICENSE Rename project to MobinnetMonitor and add application entry point 2026-09-22 13:17:28 +03:30
pyproject.toml Rename project to MobinnetMonitor and add application entry point 2026-09-22 13:17:28 +03:30
README.md Rename project to MobinnetMonitor and add application entry point 2026-09-22 13:17:28 +03:30
uv.lock Rename project to MobinnetMonitor and add application entry point 2026-09-22 13:17:28 +03:30

MobinnetMonitor

MobinnetMonitor is a Python 3.13 application for monitoring the quota of a personal Mobinnet LTE account and sending reports through a self-hosted ntfy server.

The project is under initial development. Its intended workflow is:

  1. Establish a Mobinnet session.
  2. Retrieve the current CAPTCHA image.
  3. Obtain its value through the configured CAPTCHA provider.
  4. Authenticate and retrieve the active plan status.
  5. Store a timestamped measurement in SQLite.
  6. Calculate usage over approximately the previous 24 hours.
  7. Send a concise status report through ntfy.

MobinnetMonitor performs one monitoring run and exits. Scheduling belongs outside the application, normally in a systemd timer.

CAPTCHA provider

CAPTCHA acquisition is intentionally unconfigured during initial development. The placeholder provider performs no image delivery, interaction, interpretation, or solving and fails explicitly when used.

During development, service tests may inject a small test stub that supplies a known answer. The production CAPTCHA provider will be implemented only after all other application components and tests are working.

Development

MobinnetMonitor requires Python 3.13 or newer and uses uv for environment and dependency management.

Install the project and development dependencies:

uv sync --dev

Run the project checks:

uv run ruff check .
uv run ruff format --check .
uv run pyright
uv run pytest

Copy .env.example to .env for local configuration. Never commit .env, credentials, tokens, CAPTCHA answers, authenticated responses, or runtime databases.