feat: initial commit for ipv64 DNS TUI client

- Implement modular Textual TUI (main, app, widgets, config, api_client)
- Integrate IPv64.net REST API client using httpx
- Support record listing, creation, in-place edit, and deletion
- Add flexible token resolution (.env, env export, interactive prompt)
- Add bilingual README (DE/EN) and project configuration
This commit is contained in:
paase committed 2026-09-24 13:51:42 +02:00
1 parent fc1f055b11
commit d15c927f55
11 files changed
+603 -1

No files matched your search

+54 -1
View File
@@ -1,2 +1,55 @@
# ipv64-tui
# IPv64 DNS TUI Client
[Deutsch](#deutsch) | [English](#english)
---
## Deutsch
Ein moderner Terminal-Client (TUI) zur Verwaltung von DNS-Records auf [IPv64.net](https://ipv64.net), entwickelt mit **Python**, **Textual** und **HTTPX**.
### Funktionen
- **Übersichtliche Oberfläche:** Anzeige aller Domains und DNS-Einträge in interaktiven Tabellen.
- **Vollständige DNS-Verwaltung:** Anlegen, Bearbeiten und Löschen von Records (A, AAAA, CNAME, TXT, MX, NS, SRV).
- **Flexibles Auth-Handling:** API-Key aus Umgebungsvariablen (`export`), `.env`-Datei oder interaktiver Terminalabfrage.
- **Tastaturgesteuert:** Schnelle Navigation und Aktionen über Hotkeys.
### Voraussetzungen
- Python 3.10+
- Abhängigkeiten:
```bash
pip install textual httpx python-dotenv
```
### Konfiguration
Optional kann eine .env-Datei im Stammverzeichnis angelegt werden:
```bash
IPV64_API_KEY=dein_api_token_hier
```
Alternativ kann der Schlüssel vor dem Start exportiert werden
```bash
export IPV64_API_KEY="dein_api_token_hier"
```
Wird kein Key gefunden (oder steht noch der Standard-Platzhalter in der .env), fragt das Tool beim Start interaktiv nach dem Token.
### Starten
```bash
python3 main.py
```
### Tastenkürzel
|Taste|Aktion|
|------|------|
|r|Domains & Records neu von IPv64 laden|
|e / Enter|Ausgewählten Record ins Formular laden (Bearbeiten)|
|d|Ausgewählten Record sofort löschen|
|Tab / Shift+Tab|"Zwischen Feldern, Tabelle und Buttons wechseln"|
|q|Anwendung beenden|