{"id":14008084,"url":"https://github.com/Reeceeboii/Pi-CLI","last_synced_at":"2025-07-24T03:31:47.607Z","repository":{"id":49222935,"uuid":"338163007","full_name":"Reeceeboii/Pi-CLI","owner":"Reeceeboii","description":"Pi-Hole data right from your terminal. Live updating view, query history extraction and more!","archived":false,"fork":false,"pushed_at":"2024-10-02T20:04:02.000Z","size":1277,"stargazers_count":45,"open_issues_count":3,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-06T21:43:06.009Z","etag":null,"topics":["cli","dns","ftl-engine","go","help-wanted","pi-cli","pi-hole","terminal-based"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Reeceeboii.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}},"created_at":"2021-02-11T21:56:44.000Z","updated_at":"2024-11-11T16:39:24.000Z","dependencies_parsed_at":"2024-01-28T10:28:35.489Z","dependency_job_id":"ebaa7596-9647-41b2-ba47-865797fce6fe","html_url":"https://github.com/Reeceeboii/Pi-CLI","commit_stats":{"total_commits":47,"total_committers":3,"mean_commits":"15.666666666666666","dds":0.06382978723404253,"last_synced_commit":"9efaf8304f897b5e2e68f0d25d1300188a23f0a7"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Reeceeboii/Pi-CLI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reeceeboii%2FPi-CLI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reeceeboii%2FPi-CLI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reeceeboii%2FPi-CLI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reeceeboii%2FPi-CLI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Reeceeboii","download_url":"https://codeload.github.com/Reeceeboii/Pi-CLI/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reeceeboii%2FPi-CLI/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266789210,"owners_count":23984249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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","dns","ftl-engine","go","help-wanted","pi-cli","pi-hole","terminal-based"],"created_at":"2024-08-10T11:01:12.765Z","updated_at":"2025-07-24T03:31:47.293Z","avatar_url":"https://github.com/Reeceeboii.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003ePi-CLI\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/Reeceeboii/Pi-CLI/actions/workflows/codeql-analysis.yml\"\u003e\n        \u003cimg src=\"https://github.com/Reeceeboii/Pi-CLI/actions/workflows/codeql-analysis.yml/badge.svg?branch=master\" alt=\"\"/\u003e\n    \u003c/a\u003e\n        \u003ca href=\"https://goreportcard.com/report/github.com/Reeceeboii/Pi-CLI\"\u003e\n        \u003cimg src=\"https://goreportcard.com/badge/github.com/Reeceeboii/Pi-CLI\" alt=\"\"/\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch2 align=\"center\"\u003ePi-CLI is a command line program used to view data from a Pi-Hole instance directly in your terminal.\u003c/h2\u003e\n\n\u003cbr/\u003e\n\n![terminal](./img/live-view.png)\n\n# Features\n\n- Live view\n  - As shown above, Pi-CLI can generate a live updating view of your Pi-Hole data\n  - Updates down to a minimum of 1s, providing essentially live query data. Support for smaller intervals may come in the future.\n  - Update parameters including the number of logged queries in the 'latest queries' table and watch the UI automatically update and pull in the correct data for you. Use your arrow keys to scroll and navigate the table.\n- One off commands\n  - Don't want a live view? Use one of the subcommands of Pi-CLI to tell it exactly what data you want, and it will give it to you. No fancy UI needed.\n- Database analysis\n  - Pi-CLI has the newly added ability to be able to analyse the `pihole-FTL.db` database used a long term data store\n    for a Pi-Hole. It can extract and analyse all time data, including client, query and ad domain data.\n- Quickly configure and forget\n  - Run one setup command, and Pi-CLI will store and remember all of your details for next time.\n- Lightweight\n  - Even when logging 1000's of DNS queries, memory and CPU usage remains minimal.\n- Secure\n  - Pi-CLI uses cross-platform OS keyring libraries to make sure your Pi-Hole API key is both securely stored and easy to retrieve in the future. Your API key is never stored in plaintext unless you explicitly tell Pi-CLI to not use your keyring.\n\n# Usage\n\n### `~$ picli [global options] command [command options] [arguments...]`\n\n\u003cbr\u003e\n\nFor help, run `~$ picli h`\n\nFor command help, run `~$ picli \u003ccommand\u003e h`\n\nFor subcommand help, run `~$ picli \u003ccommand\u003e -h`\n\n\n\u003cbr\u003e\n\n# Commands\n\n```\n   setup, s     Configure Pi-CLI\n   config, c    Interact with stored configuration settings\n   run, r       Run a one off command without booting the live view\n   database, d  Analytics options to run on a Pi-Hole's FTL database\n   help, h      Shows a list of commands or help for one command\n```\n\n### The `config` command\n\n_Manage stored config data_\n\n```\n   delete, d  Delete stored config data (config file and API key)\n   view, v    View config stored config data (config file and API key)\n   help, h    Shows a list of commands or help for one command\n```\n\n### The `run` command\n\n_Run a single command without the live view_\n\n```\n   summary, s          Extract a basic summary of data from the Pi-Hole\n   top-forwarded, tf   Extract the current top 10 forwarded DNS queries\n   top-blocked, tb     Extract the current top 10 blocked DNS queries\n   latest-queries, lq  Extract the latest queries\n   enable, e           Enable the Pi-Hole\n   disable, d          Disable the Pi-Hole\n   help, h             Shows a list of commands or help for one command\n```\n\n### The `database` command\n\n_These commands are ran against a Pi-Hole's FTL database file and provide **all time** data metrics_\n\n```\n   client-summary, cs  Summary of all Pi-Hole clients\n   top-queries, tq     Returns the top (all time) queries\n   help, h             Shows a list of commands or help for one command\n```\n\n# FAQ\n\n- Where do I get my API key?\n  - Navigate to your Pi-Hole's web interface, then settings. Click on the API/Web interface tab and press\n    'Show API token'.\n- Pre-Compiled binaries?\n  - See [releases](https://github.com/Reeceeboii/Pi-CLI/releases)\n- How do I compile myself?\n\n  - With [make](https://www.gnu.org/software/make/)! There is a `Makefile` in the\n    [cmd/main](https://github.com/Reeceeboii/Pi-CLI/tree/master/cmd/main) directory that can be used for compilation\n    on Windows, Mac and Linux.\n\n  Compilation targets are: `win`, `mac` and `linux`\n---\n\nIf you find Pi-CLI useful, please consider [donating to the Pi-Hole project](https://pi-hole.net/donate/)\n\nOr, feel free to submit code to make Pi-CLI even more useful!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FReeceeboii%2FPi-CLI","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FReeceeboii%2FPi-CLI","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FReeceeboii%2FPi-CLI/lists"}