{"id":50457247,"url":"https://github.com/junxit/dig-tui","last_synced_at":"2026-06-01T03:04:04.605Z","repository":{"id":361424560,"uuid":"1247577680","full_name":"junxit/dig-tui","owner":"junxit","description":"Interactive terminal UI for the Unix dig command — DNS lookups, nameserver switching, and JSON/CSV/text export. Built with Python and Textual.","archived":false,"fork":false,"pushed_at":"2026-05-30T14:48:47.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-30T16:17:17.311Z","etag":null,"topics":["cli","dig","dns","dns-lookup","dns-tools","nameserver","python","terminal","textual","textualize","tui"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/junxit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2026-05-23T13:58:25.000Z","updated_at":"2026-05-30T14:52:00.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/junxit/dig-tui","commit_stats":null,"previous_names":["junxit/dig-tui"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/junxit/dig-tui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junxit%2Fdig-tui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junxit%2Fdig-tui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junxit%2Fdig-tui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junxit%2Fdig-tui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/junxit","download_url":"https://codeload.github.com/junxit/dig-tui/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junxit%2Fdig-tui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33757790,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"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":["cli","dig","dns","dns-lookup","dns-tools","nameserver","python","terminal","textual","textualize","tui"],"created_at":"2026-06-01T03:04:03.865Z","updated_at":"2026-06-01T03:04:04.590Z","avatar_url":"https://github.com/junxit.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dig-tui\n\nA modern, fast Terminal User Interface (TUI) for the standard Unix `dig` command, built with Python and [Textual](https://github.com/Textualize/textual).\n\n*A screenshot of the app is pending.*\n\n`dig-tui` provides an interactive way to perform DNS lookups, switch between popular nameservers (Cloudflare, Google, OpenDNS, etc.), and export the structured results to JSON, CSV, or raw text—all without leaving your terminal.\n\n## Features\n\n- **Interactive Interface:** Easily input domains, select record types (A, AAAA, CNAME, MX, NS, TXT, etc.), and choose DNS servers.\n- **Custom DNS Servers:** Quickly query against a specific IP address.\n- **Persistent Settings:** Remembers your last used domain, record type, and server.\n- **Output Parsing:** Automatically parses the `;; ANSWER SECTION:` of the `dig` output into structured data.\n- **Data Export:** Export parsed records to JSON or CSV, or save the raw output to a text file using simple keyboard shortcuts.\n- **Educational:** Includes a comprehensive [100 Useful `dig` Commands](DIG.md) guide right in the repository.\n\n## Architecture \u0026 Workflow\n\n```mermaid\ngraph TD;\n    User((User)) --\u003e|Inputs Domain, Type, Server| TUI[Textual TUI];\n    TUI --\u003e|Builds CLI Command| Subproc[Python Subprocess];\n    Subproc --\u003e|Executes| DigUtility[System 'dig' utility];\n    DigUtility --\u003e|Raw DNS Output| Subproc;\n    Subproc --\u003e|Stdout/Stderr| TUI;\n    TUI --\u003e|Regex Parsing| ParsedData{Parsed Data};\n    TUI --\u003e|Raw String| UI[RichLog Display];\n    ParsedData -.-\u003e|Ctrl+J| JSON[dig_output.json];\n    ParsedData -.-\u003e|Ctrl+E| CSV[dig_output.csv];\n    TUI -.-\u003e|Ctrl+T| TXT[dig_output.txt];\n```\n\n## Prerequisites\n\n- **Python 3.8+**\n- **`dig`:** The standard domain information groper utility must be installed on your system.\n  - *Ubuntu/Debian:* `sudo apt install dnsutils`\n  - *macOS:* Pre-installed (or `brew install bind`)\n  - *RHEL/CentOS:* `sudo yum install bind-utils`\n\n## Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/junxit/dig-tui.git\n   cd dig-tui\n   ```\n\n2. Create a virtual environment (recommended):\n   ```bash\n   python3 -m venv .venv\n   source .venv/bin/activate\n   ```\n\n3. Install the requirements:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n## Usage\n\nRun the application directly:\n\n```bash\npython dig-tui.py\n```\n\n### Keyboard Shortcuts\n\n| Shortcut | Action | Description |\n| :--- | :--- | :--- |\n| `Ctrl+J` | Save JSON | Exports the parsed ANSWER SECTION to `dig_output.json` |\n| `Ctrl+E` | Save CSV | Exports the parsed ANSWER SECTION to `dig_output.csv` |\n| `Ctrl+T` | Save TXT | Exports the raw `dig` output to `dig_output.txt` |\n| `Ctrl+Q` | Quit | Exits the application |\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunxit%2Fdig-tui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjunxit%2Fdig-tui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunxit%2Fdig-tui/lists"}