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:
1 parent
fc1f055b11
commit
d15c927f55
11 files changed
+603
-1
No files matched your search
@@ -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|
|
||||
|
||||
Reference in new issue
Block a user