{"id":31921928,"url":"https://github.com/0xagil/unlimited-aldi-talk","last_synced_at":"2025-10-13T22:55:45.193Z","repository":{"id":315422855,"uuid":"1059440804","full_name":"0xagil/Unlimited-Aldi-Talk","owner":"0xagil","description":"🚀 Automated script to keep your AldiTalk 'unlimited' data plan refreshed. Features Telegram notifications and easy deployment with Docker. 🤖","archived":false,"fork":false,"pushed_at":"2025-10-02T07:00:37.000Z","size":36,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-02T09:06:14.422Z","etag":null,"topics":["aldi","alditalk","billig","internet","unlimited"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0xagil.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-18T12:56:59.000Z","updated_at":"2025-10-02T07:00:40.000Z","dependencies_parsed_at":"2025-09-18T15:10:08.280Z","dependency_job_id":null,"html_url":"https://github.com/0xagil/Unlimited-Aldi-Talk","commit_stats":null,"previous_names":["0xagil/unlimited-aldi-talk"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/0xagil/Unlimited-Aldi-Talk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xagil%2FUnlimited-Aldi-Talk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xagil%2FUnlimited-Aldi-Talk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xagil%2FUnlimited-Aldi-Talk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xagil%2FUnlimited-Aldi-Talk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xagil","download_url":"https://codeload.github.com/0xagil/Unlimited-Aldi-Talk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xagil%2FUnlimited-Aldi-Talk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017087,"owners_count":26085984,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aldi","alditalk","billig","internet","unlimited"],"created_at":"2025-10-13T22:55:27.462Z","updated_at":"2025-10-13T22:55:45.179Z","avatar_url":"https://github.com/0xagil.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n[**English**](#-alditalk-data-refresher-) | [**Deutsch**](#-alditalk-daten-refresher-)\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ch1 align=\"center\" id=\"-alditalk-data-refresher-\"\u003e🚀 AldiTalk Data Refresher 🚀\u003c/h1\u003e\n  \u003cp align=\"center\"\u003e\n    \u003cstrong\u003eNever run out of high-speed data again!\u003c/strong\u003e\n    \u003cbr /\u003e\n    This automated script keeps your AldiTalk \"unlimited\" data plan topped up by periodically calling the refresh endpoint.\n    \u003cbr /\u003e\n    Features Telegram notifications and easy deployment with Docker.\n  \u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Python-3.11-blue.svg\" alt=\"Python 3.11\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Playwright-Ready-green.svg\" alt=\"Playwright Ready\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Docker-Ready-blue.svg\" alt=\"Docker Ready\"\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n---\n\n## ✨ Features\n\n-   **🤖 Automated Login:** Securely logs into your AldiTalk account.\n-   **🔄 Automatic Data Refresh:** Continuously calls the API to refresh your data allowance.\n-   **📊 Dynamic ID Fetching:** Automatically finds your `subscriptionId` and `offerId`.\n-   **🔔 Telegram Notifications:** Get instant updates on successful refreshes, startups, and critical errors.\n-   **🐳 Dockerized:** Easy to deploy and run as a background service with Docker.\n-   **⚙️ Configurable:** Easily change settings like request intervals in a central `config.py` file.\n\n---\n\n## 🛠️ Setup Guide\n\nFollow these steps to get the AldiTalk Refresher up and running.\n\n### Prerequisites\n\n-   [Git](https://git-scm.com/)\n-   [Docker](https://www.docker.com/get-started) (Recommended for deployment)\n-   [Python 3.9+](https://www.python.org/downloads/) (For local development)\n\n### Step 1: Clone the Repository\n\nOpen your terminal and clone this repository to your local machine.\n\n```bash\ngit clone https://github.com/0xagil/Unlimited-Aldi-Talk\ncd AldiTalkRefresher\n```\n\n### Step 2: Configure Your Credentials\n\nThe most important step is to configure your personal details.\n\n1.  If it doesn't exist, create a `config.py` file.\n2.  Fill in the following details:\n\n    ```python\n    # --- AldiTalk Credentials ---\n    PHONE_NUMBER = \"YOUR_PHONE_NUMBER\"  # Your AldiTalk mobile number\n    PASSWORD = \"YOUR_PASSWORD\"          # Your AldiTalk customer portal password\n\n    # --- Telegram Bot Configuration ---\n    TELEGRAM_BOT_TOKEN = \"YOUR_TELEGRAM_BOT_TOKEN\"\n    TELEGRAM_CHAT_ID = \"YOUR_TELEGRAM_CHAT_ID\"\n    ```\n\n#### How to get your Telegram credentials:\n\n-   **`TELEGRAM_BOT_TOKEN`**:\n    1.  Open Telegram and search for the `@BotFather`.\n    2.  Start a chat and send `/newbot`.\n    3.  Follow the instructions to name your bot.\n    4.  BotFather will give you a unique token. Copy and paste it here.\n-   **`TELEGRAM_CHAT_ID`**:\n    1.  Search for the `@userinfobot`.\n    2.  Start a chat and it will immediately give you your `Chat ID`.\n    3.  Copy and paste it here.\n\n### Step 3: Run the Application\n\nYou have two options to run the script. Docker is the recommended method for a stable, \"set-it-and-forget-it\" deployment.\n\n#### Option A: Run with Docker (Recommended)\n\nThis is the easiest way to run the script 24/7.\n\n1.  **Build the Docker image:**\n\n    ```bash\n    docker build -t alditalk-refresher .\n    ```\n\n2.  **Run the container in detached mode:**\n    This will start the container in the background.\n\n    ```bash\n    docker run -d --name aldi-refresher alditalk-refresher\n    ```\n\n    You're all set! The script is now running in the background.\n\n#### Option B: Run Locally with Python\n\nUse this method for testing or if you prefer not to use Docker.\n\n1.  **Create a virtual environment:**\n\n    ```bash\n    python -m venv venv\n    source venv/bin/activate  # On Windows, use `venv\\Scripts\\activate`\n    ```\n\n2.  **Install the required packages:**\n\n    ```bash\n    pip install -r requirements.txt\n    ```\n\n3.  **Install Playwright's browser dependencies:**\n\n    ```bash\n    playwright install chromium\n    ```\n\n4.  **Run the script:**\n    ```bash\n    python main.py\n    ```\n\n---\n\n## ⚙️ Usage\n\n-   **Check Logs (Docker):** To see what the script is doing, you can check the container's logs.\n\n    ```bash\n    # Follow logs in real-time\n    docker logs -f aldi-refresher\n\n    # View all past logs\n    docker logs aldi-refresher\n    ```\n\n-   **Stop the Container:**\n\n    ```bash\n    docker stop aldi-refresher\n    ```\n\n-   **Restart the Container:**\n    ```bash\n    docker start aldi-refresher\n    ```\n\n---\n\n## DISCLAIMER\n\nThis script is for personal and educational use only. The developers are not responsible for any misuse or any issues that arise with your AldiTalk account. Use at your own risk.\n\n---\n\u003cbr\u003e\n\u003cbr\u003e\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003ch1 align=\"center\" id=\"-alditalk-daten-refresher-\"\u003e🚀 AldiTalk Daten-Refresher 🚀\u003c/h1\u003e\n  \u003cp align=\"center\"\u003e\n    \u003cstrong\u003eNie wieder ohne High-Speed-Daten!\u003c/strong\u003e\n    \u003cbr /\u003e\n    Dieses automatisierte Skript hält deinen AldiTalk \"unlimited\" Datentarif aufgefrischt, indem es periodisch den Refresh-Endpunkt aufruft.\n    \u003cbr /\u003e\n    Mit Telegram-Benachrichtigungen und einfacher Bereitstellung über Docker.\n  \u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Python-3.11-blue.svg\" alt=\"Python 3.11\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Playwright-Ready-green.svg\" alt=\"Playwright Ready\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Docker-Ready-blue.svg\" alt=\"Docker Ready\"\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n---\n\n## ✨ Funktionen\n\n-   **🤖 Automatisierte Anmeldung:** Meldet sich sicher in deinem AldiTalk-Konto an.\n-   **🔄 Automatischer Daten-Refresh:** Ruft kontinuierlich die API auf, um dein Datenvolumen zu erneuern.\n-   **📊 Dynamisches Abrufen von IDs:** Findet automatisch deine `subscriptionId` und `offerId`.\n-   **🔔 Telegram-Benachrichtigungen:** Erhalte sofortige Updates bei erfolgreichen Aktualisierungen, beim Start und bei kritischen Fehlern.\n-   **🐳 Docker-fähig:** Einfach bereitzustellen und als Hintergrunddienst mit Docker auszuführen.\n-   **⚙️ Konfigurierbar:** Ändere einfach Einstellungen wie Anfrageintervalle in einer zentralen `config.py`-Datei.\n\n---\n\n## 🛠️ Einrichtungsanleitung\n\nBefolge diese Schritte, um den AldiTalk Refresher in Betrieb zu nehmen.\n\n### Voraussetzungen\n\n-   [Git](https://git-scm.com/)\n-   [Docker](https://www.docker.com/get-started) (Empfohlen für die Bereitstellung)\n-   [Python 3.9+](https://www.python.org/downloads/) (Für die lokale Entwicklung)\n\n### Schritt 1: Repository klonen\n\nÖffne dein Terminal und klone dieses Repository auf deinen lokalen Rechner.\n\n```bash\ngit clone https://github.com/0xagil/Unlimited-Aldi-Talk\ncd AldiTalkRefresher\n```\n\n### Schritt 2: Anmeldedaten konfigurieren\n\nDer wichtigste Schritt ist die Konfiguration deiner persönlichen Daten.\n\n1.  Falls sie nicht existiert, erstelle eine `config.py`-Datei.\n2.  Fülle die folgenden Details aus:\n\n    ```python\n    # --- AldiTalk Anmeldedaten ---\n    PHONE_NUMBER = \"DEINE_RUFNUMMER\"  # Deine AldiTalk-Rufnummer\n    PASSWORD = \"DEIN_PASSWORT\"          # Dein Passwort für das AldiTalk-Kundenportal\n\n    # --- Telegram Bot Konfiguration ---\n    TELEGRAM_BOT_TOKEN = \"DEIN_TELEGRAM_BOT_TOKEN\"\n    TELEGRAM_CHAT_ID = \"DEINE_TELEGRAM_CHAT_ID\"\n    ```\n\n#### So erhältst du deine Telegram-Anmeldedaten:\n\n-   **`TELEGRAM_BOT_TOKEN`**:\n    1.  Öffne Telegram und suche nach dem `@BotFather`.\n    2.  Starte einen Chat und sende `/newbot`.\n    3.  Folge den Anweisungen, um deinem Bot einen Namen zu geben.\n    4.  Der BotFather gibt dir einen einzigartigen Token. Kopiere ihn und füge ihn hier ein.\n-   **`TELEGRAM_CHAT_ID`**:\n    1.  Suche nach dem `@userinfobot`.\n    2.  Starte einen Chat und er wird dir sofort deine `Chat ID` geben.\n    3.  Kopiere sie und füge sie hier ein.\n\n### Schritt 3: Anwendung ausführen\n\nDu hast zwei Möglichkeiten, das Skript auszuführen. Docker ist die empfohlene Methode für eine stabile Bereitstellung, die \"einmal einrichten und vergessen\" ist.\n\n#### Option A: Mit Docker ausführen (Empfohlen)\n\nDies ist der einfachste Weg, das Skript rund um die Uhr laufen zu lassen.\n\n1.  **Baue das Docker-Image:**\n\n    ```bash\n    docker build -t alditalk-refresher .\n    ```\n\n2.  **Führe den Container im Hintergrundmodus aus:**\n    Dadurch wird der Container im Hintergrund gestartet.\n\n    ```bash\n    docker run -d --name aldi-refresher alditalk-refresher\n    ```\n\n    Fertig! Das Skript läuft jetzt im Hintergrund.\n\n#### Option B: Lokal mit Python ausführen\n\nVerwende diese Methode zum Testen oder wenn du Docker nicht verwenden möchtest.\n\n1.  **Erstelle eine virtuelle Umgebung:**\n\n    ```bash\n    python -m venv venv\n    source venv/bin/activate  # Unter Windows, verwende `venv\\Scripts\\activate`\n    ```\n\n2.  **Installiere die erforderlichen Pakete:**\n\n    ```bash\n    pip install -r requirements.txt\n    ```\n\n3.  **Installiere die Browser-Abhängigkeiten von Playwright:**\n\n    ```bash\n    playwright install chromium\n    ```\n\n4.  **Führe das Skript aus:**\n    ```bash\n    python main.py\n    ```\n\n---\n\n## ⚙️ Verwendung\n\n-   **Logs überprüfen (Docker):** Um zu sehen, was das Skript tut, kannst du die Logs des Containers überprüfen.\n\n    ```bash\n    # Logs in Echtzeit verfolgen\n    docker logs -f aldi-refresher\n\n    # Alle vergangenen Logs anzeigen\n    docker logs aldi-refresher\n    ```\n\n-   **Container anhalten:**\n\n    ```bash\n    docker stop aldi-refresher\n    ```\n\n-   **Container neu starten:**\n    ```bash\n    docker start aldi-refresher\n    ```\n\n---\n\n## HAFTUNGSAUSSCHLUSS\n\nDieses Skript ist nur für den persönlichen und bildungsbezogenen Gebrauch bestimmt. Die Entwickler sind nicht verantwortlich für Missbrauch oder Probleme, die mit deinem AldiTalk-Konto auftreten. Benutzung auf eigene Gefahr.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xagil%2Funlimited-aldi-talk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xagil%2Funlimited-aldi-talk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xagil%2Funlimited-aldi-talk/lists"}