{"id":29948451,"url":"https://github.com/retifrav/vt-kvd","last_synced_at":"2025-08-03T08:16:47.451Z","repository":{"id":62963612,"uuid":"560141817","full_name":"retifrav/vt-kvd","owner":"retifrav","description":"A VirusTotal GUI client","archived":false,"fork":false,"pushed_at":"2022-11-20T13:10:57.000Z","size":922,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-09T11:12:50.962Z","etag":null,"topics":["dearpygui","gui","python","virustotal"],"latest_commit_sha":null,"homepage":"","language":"Python","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/retifrav.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["retifrav"]}},"created_at":"2022-10-31T20:30:39.000Z","updated_at":"2024-09-09T13:36:33.000Z","dependencies_parsed_at":"2023-01-23T19:45:41.318Z","dependency_job_id":null,"html_url":"https://github.com/retifrav/vt-kvd","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/retifrav/vt-kvd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retifrav%2Fvt-kvd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retifrav%2Fvt-kvd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retifrav%2Fvt-kvd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retifrav%2Fvt-kvd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/retifrav","download_url":"https://codeload.github.com/retifrav/vt-kvd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retifrav%2Fvt-kvd/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268512163,"owners_count":24261889,"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-08-03T02:00:12.545Z","response_time":2577,"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":["dearpygui","gui","python","virustotal"],"created_at":"2025-08-03T08:16:41.894Z","updated_at":"2025-08-03T08:16:47.435Z","avatar_url":"https://github.com/retifrav.png","language":"Python","funding_links":["https://github.com/sponsors/retifrav"],"categories":[],"sub_categories":[],"readme":"# VT KVD\n\n![Кожно-венерологический диспансер, вывеска](https://raw.githubusercontent.com/retifrav/vt-kvd/master/misc/kvd.jpg \"Кожно-венерологический диспансер\")\n\n\u003c!-- MarkdownTOC --\u003e\n\n- [About](#about)\n- [Installing](#installing)\n    - [vt-kvd itself](#vt-kvd-itself)\n        - [From PyPI](#from-pypi)\n        - [From sources](#from-sources)\n    - [Dependencies](#dependencies)\n        - [libmagic](#libmagic)\n- [Configuration](#configuration)\n- [Running](#running)\n    - [User agent](#user-agent)\n    - [Scanning directories](#scanning-directories)\n- [Platforms](#platforms)\n- [3rd-party](#3rd-party)\n    - [Requirements](#requirements)\n    - [Resources](#resources)\n\n\u003c!-- /MarkdownTOC --\u003e\n\n## About\n\nA VirusTotal GUI client.\n\n![vt-kvd application window](https://raw.githubusercontent.com/retifrav/vt-kvd/master/misc/screenshot-main-macos.png \"vt-kvd\")\n\nThe application functionality is rather basic at the moment:\n\n- getting files hashes and fetching existing reports from VirusTotal\n    + displaying results in a table\n    + openning a link to the full report\n- uploading files for scanning \u003cu\u003eisn't implemented\u003c/u\u003e\n\n## Installing\n\n### vt-kvd itself\n\n#### From PyPI\n\n``` sh\n$ pip install vt-kvd\n```\n\n#### From sources\n\n``` sh\n$ cd /path/to/repository/\n$ pip install ./\n```\n\nor:\n\n``` sh\n$ cd /path/to/repository/\n$ python -m build\n$ pip install ./dist/vt_kvd-0.5.0-py3-none-any.whl\n```\n\n### Dependencies\n\n#### libmagic\n\nAll the dependencies are automatically installed with `pip`. But `python-magic` Python module [expects](https://github.com/ahupp/python-magic#installation) `libmagic` to be present in the system. So if you will be [scanning directories](#scanning-directories) instead of individual files, then you will need to install this library using your system package manager:\n\n- Mac OS (*Homebrew*): `brew install libmagic`\n- GNU/Linux (*APT*): `sudo apt install libmagic1`\n- Windows: the easiest will be to use [alternative package](https://github.com/julian-r/python-magic) instead of `python-magic`, because that one bundles required `libmagic` binary (*and actually you can probably use that package on non-Windows platforms too*):\n  ``` sh\n  $ pip uninstall python-magic\n  $ pip install python-magic-bin\n  ```\n\n## Configuration\n\nConfig file `~/.config/vt-kvd/config.toml`:\n\n``` toml\n[API]\nkey = \"YOUR-VIRUSTOTAL-API-KEY\"\n```\n\nIf the main config file is missing, it will try to fallback to [vt-cli](https://github.com/VirusTotal/vt-cli)'s config at `~/.vt.toml`:\n\n``` toml\napikey=\"YOUR-VIRUSTOTAL-API-KEY\"\n```\n\n## Running\n\n``` sh\n$ vt-kvd --help\n```\n\n### User agent\n\nThe application uses [platform](https://docs.python.org/3/library/platform.html) module to compose the agent string which is sent to VirusTotal API on every request. The full value can look like this:\n\n```\nvt-kvd/0.5.0 macOS-12.6.1-x86_64-i386-64bit\n```\n\nIt is not (*yet?*) configurable, but you should probably be aware of its existence anyway.\n\n### Scanning directories\n\nIt is possible to check not a single file but a directory. In that case in order to skip the files that are of no interest the application will scan the directory for suitable files by guessing their types based on [magic numbers](https://en.wikipedia.org/wiki/List_of_file_signatures). This is not an absolutely reliable way, so it is recommended that you check the files of interest individually by explicitly providing their full paths one by one.\n\nAnother thing to consider is that VirusTotal API has a quota for [standard free public accounts](https://www.virustotal.com/gui/my-apikey), and you can quickly exceed that quota by scanning directories instead of individual files.\n\nScanning directories is disabled by default. If you would like to enable it, launch the application with `--enable-dir-scan`. That will also require you to have [libmagic](#libmagic) binary installed in the system.\n\n## Platforms\n\nTested on:\n\n- Mac OS:\n    + 12.6.1, Intel\n- Windows:\n    + 10 21H1\n    + 11 21H2\n- GNU/Linux:\n    + Ubuntu 22.04\n\n## 3rd-party\n\n### Requirements\n\n- Python 3.8 or later\n- [Dear PyGui](https://pypi.org/project/dearpygui/) - application window and UI controls\n- [pandas](https://pypi.org/project/pandas/) - processing results\n- for [detecting](#scanning-directories) executables and libraries, either of these two:\n    + [python-magic](https://github.com/ahupp/python-magic) (*with `libmagic` to be installed separately from your system package manager*)\n        * installed by default\n    + [python-magic-bin](https://github.com/julian-r/python-magic) (*with bundled `libmagic`*)\n        * needs to be manually installed instead of the other one (*which needs to be uninstalled*)\n- [vt-py](https://github.com/VirusTotal/vt-py) - VirusTotal API library\n\n### Resources\n\n- [JetBrains Mono](https://www.jetbrains.com/lp/mono/) font\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fretifrav%2Fvt-kvd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fretifrav%2Fvt-kvd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fretifrav%2Fvt-kvd/lists"}