{"id":16236374,"url":"https://github.com/kielx/anygrabber","last_synced_at":"2025-03-19T15:30:56.704Z","repository":{"id":180058280,"uuid":"606885932","full_name":"Kielx/AnyGrabber","owner":"Kielx","description":"Simplify AnyDesk log analysis by effortlessly searching, extracting, and generating reports on IP addresses and login dates.","archived":false,"fork":false,"pushed_at":"2024-05-31T09:59:34.000Z","size":5699,"stargazers_count":15,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-17T08:45:09.448Z","etag":null,"topics":["anydesk","extraction","extractor","grab","grabber","logs","python"],"latest_commit_sha":null,"homepage":"https://anygrabber.pantak.net","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/Kielx.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":"2023-02-26T20:56:17.000Z","updated_at":"2025-02-21T21:24:56.000Z","dependencies_parsed_at":"2024-10-27T20:57:13.699Z","dependency_job_id":"088253c9-6c3d-4f9e-9fb5-3d932eb4ac06","html_url":"https://github.com/Kielx/AnyGrabber","commit_stats":null,"previous_names":["kielx/anygrabber"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kielx%2FAnyGrabber","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kielx%2FAnyGrabber/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kielx%2FAnyGrabber/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kielx%2FAnyGrabber/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kielx","download_url":"https://codeload.github.com/Kielx/AnyGrabber/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244453794,"owners_count":20455281,"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","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":["anydesk","extraction","extractor","grab","grabber","logs","python"],"created_at":"2024-10-10T13:30:20.163Z","updated_at":"2025-03-19T15:30:56.304Z","avatar_url":"https://github.com/Kielx.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"./assets/AnyGrabberLogo.png\" alt=\"Logo\" width=\"60\"\u003e  AnyGrabber\n\n\u003ca href=https://github.com/Kielx/AnyGrabber/releases/latest/download/AnyGrabber.zip\u003e \u003cimg alt=\"Static Badge\" src=\"https://img.shields.io/badge/Latest_Release-Latest_Release?style=for-the-badge\u0026label=Download\"\u003e\u003c/a\u003e\n\u003ca href=https://github.com/Kielx/AnyGrabber/wiki/Usage\u003e \u003cimg alt=\"Wiki Badge\" src=\"https://img.shields.io/badge/Usage-Usage?style=for-the-badge\u0026label=WIKI\u0026color=%230ea5e9\"\u003e\u003c/a\u003e\n\n![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/kielx/AnyGrabber/tests.yml?style=for-the-badge\u0026logo=github\u0026label=Tests)\n![GitHub all releases](https://img.shields.io/github/downloads/kielx/AnyGrabber/total?style=for-the-badge)\n![GitHub](https://img.shields.io/github/license/kielx/Anygrabber?style=for-the-badge)\n\n\n\n\n\n\nAnyGrabber simplifies the process of searching for AnyDesk logs, extracting relevant data concerning IP addresses used\nfor logging\nin, along with corresponding dates. It also generates .txt and\n.csv reports based on the data retrieved. The user-friendly interface and localization features make it easy for anyone\nto use, regardless of technical proficiency. It's portable and can be used on any modern Windows machine without the need for\ninstallation.\n\n![App screenshot](./assets_readme/screenshot1.png)\n\n## Key Features:\n\n- Search for logs in default and custom locations\n- Extraction of login date and IP address/es\n- Generation of checksums for retrieved files\n- Creation of .txt and .csv reports based on found data\n- Support for English and Polish languages\n- User-friendly interface\n- Portable\n\n## Motivation\n\nExtracting information from AnyDesk logs can be difficult and time-consuming, especially for people who aren't familiar\nwith where the logs are stored. It usually involves a lot of searching through logs to find important\ninformation, such as dates and IP addresses. This can be so complicated that some people give up or spend a long time\ntrying to find what they need.\n\nAnyGrabber is designed to make searching and finding AnyDesk logs easier for everyone. The app has an easy-to-use\ninterface that simplifies the process, making it accessible to both beginners and advanced users. It also offers\nlocalization features, so people can use it in their native language.\n\n## Tech used\n\n- [Python](https://www.python.org/)\n- [Customtkinter](https://github.com/TomSchimansky/CustomTkinter)\n- [Pytest](https://docs.pytest.org/en/7.3.x/)\n- [Auto-py-to-exe](https://pypi.org/project/auto-py-to-exe/)\n- [Poedit](https://poedit.net/)\n\n## Building\n\nEasiest way to build portable version of app is to use [auto-py-to-exe](https://pypi.org/project/auto-py-to-exe/)  and\nfollowing the steps:\n\n1. Run `auto-py-to-exe` from your command line - [how to install auto-py-to-exe](https://pypi.org/project/auto-py-to-exe/)\n1. Choose `main.py` as script location\n2. Change Console Window option to Window Based (hide the console)\n3. Pick the icon that is located in `assets` folder\n4. Pick and add additional files and directories from project root:\n    - Assets folder\n    - Locale folder\n    - Customtkinter folder (`/venv/Lib/site-packages/customtkinter`)\n    - Dateutil folder (`/venv/Lib/site-packages/dateutil`)\n    - PIL folder (`/venv/Lib/site-packages/PIL`)\n    - CTkMessagebox folder (`/venv/Lib/site-packages/CTkMessagebox/`)\n    - Bidict folder (`/venv/Lib/site-packages/bidict/`)\n    - `config.json` file\n\nUse the screenshot below for reference:\n\n![py-to-exe](./assets_readme/Auto-py-to-exe.png)\n\nIf you prefer to use pyinstaller command you need to swap locations of file to match your system.\n\n**IMPORTANT**- If you are using PyCharm be sure to un-check the following options\n\n![py-to-exe](./assets_readme/Auto-py-to-exe2.png)\n[Big thanks to this stackoverflow post](https://stackoverflow.com/questions/36618749/module-imports-work-in-pycharm-dont-work-in-python-idle/36618847#36618847):\n\n**--- OR ---**\n\ninstall dependencies globally via PIP\n\n## Acknowledgments\n\n- [Greenfish Icon Editor Pro](http://greenfishsoftware.org/gfie.php) was a great asset at creating icon for app\n- [Figma](https://figma.com) for free design tools that I used for my logo\n- [Photopea](https://photopea.com) being a great free image editor I used for my assets and images\n- [Poedit](https://poedit.net/) for making language translations a breeze\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkielx%2Fanygrabber","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkielx%2Fanygrabber","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkielx%2Fanygrabber/lists"}