Compare commits
3 Commits
48e780fd20
...
4cba15a0eb
| Author | SHA1 | Date | |
|---|---|---|---|
| 4cba15a0eb | |||
| baf91fab76 | |||
| c7faa060fa |
24
LICENSE
Normal file
24
LICENSE
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
This is free and unencumbered software released into the public domain.
|
||||||
|
|
||||||
|
Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||||
|
distribute this software, either in source code form or as a compiled
|
||||||
|
binary, for any purpose, commercial or non-commercial, and by any
|
||||||
|
means.
|
||||||
|
|
||||||
|
In jurisdictions that recognize copyright laws, the author or authors
|
||||||
|
of this software dedicate any and all copyright interest in the
|
||||||
|
software to the public domain. We make this dedication for the benefit
|
||||||
|
of the public at large and to the detriment of our heirs and
|
||||||
|
successors. We intend this dedication to be an overt act of
|
||||||
|
relinquishment in perpetuity of all present and future rights to this
|
||||||
|
software under copyright law.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||||
|
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||||
|
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
For more information, please refer to <http://unlicense.org/>
|
||||||
49
README.md
Normal file
49
README.md
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
# Ausweisstatus
|
||||||
|
|
||||||
|
A small application to check the status of IDs like _Personalausweis_ and _Reisepass_ on https://ausweisstatus.regioit.de/aachen automatically and send notifications on changes.
|
||||||
|
|
||||||
|
Tested with the status page for Aachen but _should_ work for other cities using _regioit.de_
|
||||||
|
|
||||||
|
## Why?
|
||||||
|
I wanted to know when my _Personalausweis_ was ready for collection without manually checking the page periodically.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### With Docker
|
||||||
|
A `Dockerfile` is provided containing everything necessary to send notifications on status changes.
|
||||||
|
|
||||||
|
Before building the Docker image, adjust the `WEBHOOK_URL` (see [here](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) for creation instructions), _Passauswahl_ (_P_, _R_, or _ID_, see below), _Seriennummer_ and _Geburtsdatum_ in the `crontab` file.
|
||||||
|
|
||||||
|
Then, build and start the container with `docker compose up -d --build` on a machine with high availability.
|
||||||
|
You will now be notified when the status of your document is changed.
|
||||||
|
|
||||||
|
### Without Docker
|
||||||
|
First, install the dependencies, I recommend using [`uv`](https://docs.astral.sh/uv/):
|
||||||
|
```bash
|
||||||
|
uv venv
|
||||||
|
source .venv/bin/activate
|
||||||
|
uv pip install -r requirements.txt
|
||||||
|
```
|
||||||
|
The provided script `ausweisstatus.py` can be used to retrieve the current status of your document.
|
||||||
|
|
||||||
|
```
|
||||||
|
./ausweisstatus.py <P|R|ID> <Seriennummer> <Geburtsdatum>
|
||||||
|
```
|
||||||
|
|
||||||
|
- _P_ for _Personalausweis_
|
||||||
|
- _R_ for _Reisepass_
|
||||||
|
- _ID_ for eID-Karte
|
||||||
|
|
||||||
|
Example:
|
||||||
|
```bash
|
||||||
|
$ ./ausweisstatus.py P L712345678 01.01.1970
|
||||||
|
bei Bundesdruckerei erfasst
|
||||||
|
```
|
||||||
|
|
||||||
|
To automatically receive notifications on status changes, you can periodically run the `notify.sh` script (requires _curl_) with the same arguments and a `WEBHOOK_URL` env var containing a Discord webhook URL.
|
||||||
|
You can modify the `notify()` function in it to use other notification services.
|
||||||
|
|
||||||
|
To run the script periodically, you can use [_systemd/Timers_](https://wiki.archlinux.org/title/Systemd/Timers) or [_cron_](https://wiki.archlinux.org/title/Cron).
|
||||||
|
|
||||||
|
## Note for other Cities
|
||||||
|
The URL https://ausweisstatus.regioit.de/aachen is hard-coded in `ausweisstatus.py`, make sure to change it.
|
||||||
6
crontab
6
crontab
@ -1,2 +1,4 @@
|
|||||||
* * * * * cd /ausweisstatus && WEBHOOK_URL="url_here" ./notify.sh P L7AAAAAAAA 01.01.1970 >> /var/log/L7 2>&1
|
# perso
|
||||||
* * * * * cd /ausweisstatus && WEBHOOK_URL="url_here" ./notify.sh R C7AAAAAAAA 01.01.1970 >> /var/log/C7 2>&1
|
*/15 * * * * cd /ausweisstatus && WEBHOOK_URL="url_here" ./notify.sh P L7AAAAAAAA 01.01.1970 >> /var/log/L7 2>&1
|
||||||
|
# reisepass
|
||||||
|
#*/15 * * * * cd /ausweisstatus && WEBHOOK_URL="url_here" ./notify.sh R C7AAAAAAAA 01.01.1970 >> /var/log/C7 2>&1
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user