docs: update README with detailed configuration and usage instructions
This commit is contained in:
1 parent
c605ba2449
commit
9fae8d0a5b
1 file changed
+33
-17
@@ -1,20 +1,20 @@
|
||||
# INWX DNS TUI Client
|
||||
|
||||
Python ane **Textual** no upyog kari banavavama aavelo ek aadhunik, clickable Terminal User Interface (TUI) client, jena thi tame INWX na DNS records ane domains ne sahelta thi manage kari shako chho.
|
||||
A modern, interactive Terminal User Interface (TUI) client built with Python and **Textual** to manage INWX domains and DNS records directly from your terminal.
|
||||
|
||||
## Features
|
||||
|
||||
- **Clickable GUI in Terminal**: Mouse ane keyboard shortcuts banne dwara chalavi shakay chhe.
|
||||
- **Domain Overview**: Login thaya pachhi account ma rahela badha domains automatic left sidebar ma load thai jaay chhe.
|
||||
- **DNS Records Management**:
|
||||
- DNS records jova (A, AAAA, CNAME, MX, TXT, SRV, CAA, NS, PTR, vagere).
|
||||
- Double-click athva `Enter` dabavi ne record edit karvo.
|
||||
- Nava records dropdown menu ane custom input sathe add karva.
|
||||
- Records delete ane live refresh karva.
|
||||
- **2FA / TOTP Support**:
|
||||
- Jo account ma 2FA chalu hoy to j code mangshe.
|
||||
- `.env` ma TOTP secret mukine automatic unlock pan kari shakay chhe.
|
||||
- **Non-blocking Workers**: Background async workers lidhe API call vakhte UI freeze thatu nathi.
|
||||
- **Interactive Terminal UI**: Full mouse support and intuitive keyboard navigation.
|
||||
- **Automatic Domain Discovery**: Automatically retrieves and lists all configured domains in a dedicated sidebar upon login.
|
||||
- **Complete DNS Record Management**:
|
||||
- View DNS records (A, AAAA, CNAME, MX, TXT, SRV, CAA, NS, PTR, etc.).
|
||||
- Quick inline editing via mouse double-click or `Enter`.
|
||||
- Add new records using a dropdown preset or custom type input.
|
||||
- Delete records with confirmation.
|
||||
- **Conditional 2FA / TOTP Support**:
|
||||
- Only prompts for a 2FA code if two-factor authentication is active on the account.
|
||||
- Supports automatic 2FA unlocking via a TOTP secret stored in `.env`.
|
||||
- **Responsive Non-blocking UI**: API calls run on background worker threads to keep the interface smooth and responsive.
|
||||
|
||||
---
|
||||
|
||||
@@ -22,13 +22,14 @@ Python ane **Textual** no upyog kari banavavama aavelo ek aadhunik, clickable Te
|
||||
|
||||
```text
|
||||
inwx_tui/
|
||||
├── .env # INWX API credentials ane config
|
||||
├── inwx_api.py # INWX JSON-RPC API logic ane session management
|
||||
├── tui_modals.py # Modal popups (Login, 2FA prompt, Record Edit/Add)
|
||||
├── tui_app.py # Textual TUI main interface ane event handling
|
||||
├── main.py # Application start karvani entrypoint script
|
||||
├── .env # INWX API credentials and configuration (ignored by git)
|
||||
├── inwx_api.py # INWX JSON-RPC API logic, session handling, and 2FA
|
||||
├── tui_modals.py # Modal dialog screens (Login, 2FA prompt, Record Edit/Add)
|
||||
├── tui_app.py # Main Textual TUI layout, styles, and event handling
|
||||
├── main.py # Application entrypoint
|
||||
└── README.md # Project documentation
|
||||
```
|
||||
|
||||
## Requirements
|
||||
|
||||
Python 3.10+
|
||||
@@ -38,6 +39,21 @@ Linux / macOS / WSL (Windows Terminal)
|
||||
```bash
|
||||
pip install textual python-dotenv requests pyotp
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
You can provide your credentials in a .env file in the project root to bypass manual login:
|
||||
|
||||
```bash
|
||||
# INWX Account Credentials
|
||||
INWX_USER=your_username
|
||||
INWX_PASS=your_password
|
||||
|
||||
# Optional: TOTP Secret Key (Base32) for automatic 2FA unlock
|
||||
# If left empty, an interactive 6-digit TAN modal will appear when required.
|
||||
INWX_2FA_SECRET=
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
|
||||
Reference in new issue
Block a user