{"id":22665247,"url":"https://github.com/volkansah/browsergamesspy","last_synced_at":"2026-03-15T20:43:40.128Z","repository":{"id":245889157,"uuid":"808025356","full_name":"VolkanSah/BrowserGamesSpy","owner":"VolkanSah","description":"This tool monitors system metrics and network connections for browser-based games like \"Die Siedler Online\". It collects data on CPU usage, memory usage, network activity, and active network connections, and displays these metrics in a graphical user interface (GUI)","archived":false,"fork":false,"pushed_at":"2024-12-18T13:50:01.000Z","size":746,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-10T07:36:11.005Z","etag":null,"topics":["browser-games","chrome-driver","csv","die-siedler-online","dso","games-spy","matplotlib","monitoring-tool","network-analysis","psutil","python3","selenium","spy","spy-games","system-analysis","the-settlers-online","tkinter"],"latest_commit_sha":null,"homepage":"https://github.com/VolkanSah/BrowserGamesSpy","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/VolkanSah.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["volkansah"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"custom":null}},"created_at":"2024-05-30T08:30:11.000Z","updated_at":"2024-12-18T13:50:05.000Z","dependencies_parsed_at":"2024-06-24T17:20:24.808Z","dependency_job_id":"911d65de-0820-4cc6-aca4-f2a3005ba86c","html_url":"https://github.com/VolkanSah/BrowserGamesSpy","commit_stats":null,"previous_names":["volkansah/browsergamesspy"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VolkanSah%2FBrowserGamesSpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VolkanSah%2FBrowserGamesSpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VolkanSah%2FBrowserGamesSpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VolkanSah%2FBrowserGamesSpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VolkanSah","download_url":"https://codeload.github.com/VolkanSah/BrowserGamesSpy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243438003,"owners_count":20290863,"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":["browser-games","chrome-driver","csv","die-siedler-online","dso","games-spy","matplotlib","monitoring-tool","network-analysis","psutil","python3","selenium","spy","spy-games","system-analysis","the-settlers-online","tkinter"],"created_at":"2024-12-09T13:29:45.578Z","updated_at":"2025-12-28T00:17:51.182Z","avatar_url":"https://github.com/VolkanSah.png","language":"Python","funding_links":["https://github.com/sponsors/volkansah"],"categories":[],"sub_categories":[],"readme":"\n# BrowserGamesSpy v3 DEV!\n###### System and Network Monitoring Tool | [\u003e Auf Deutsch lesen](LIES-MICH.md)\n\n![GameSpy](gamespy.png)\n\n## Table of Contents\n- [Introduction](#introduction)\n- [Why This Tool?](#why-this-tool)\n- [User Rights and GDPR](#user-rights-and-gdpr)\n- [Features](#features)\n- [New in Version 2](#new-in-version-2)\n- [Requirements](#requirements)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Code Explanation](#code-explanation)\n- [License](#license)\n- [Source](#source)\n\n## Introduction\n\nThis tool monitors system metrics and network connections for browser-based games like \"The Settlers Online\", \"Forge of Empires\", \"Grepolis\", \"Travian: Legends\", and \"OGame\". It collects data on CPU usage, memory usage, network activity, and active network connections, and displays these metrics in a graphical user interface (GUI) using `tkinter`. Additionally, the tool can save the collected data to a CSV file and visualize the metrics using `matplotlib`.\n\n\n## Why This Tool?\nOnline game operators often claim their systems are secure and harmless to your system. However, many forensic experts and security admins can prove otherwise. Frequent blue screens or system freezes, leading to improper shutdowns, can cause the following damages to your system:\n\n- **Data Loss**: Hard drive corruption\n- **Memory Damage**: Permanent damage to RAM\n- **Overheating**: Especially in modern devices like netbooks and laptops with minimal cooling and sensitive parts\n\nIt's not always clear where data is being sent, especially under the European General Data Protection Regulation (GDPR). As a user, I want to know where my data is being streamed. This tool is designed to help you document any concerns and potential damages, providing evidence to consumer protection agencies or similar entities to combat the pursuit of profit over service and security.\n\n## User Rights and GDPR\nUnder the GDPR, users have several rights regarding their personal data:\n- **Right to be Informed**: You must be informed about how your data is being used.\n- **Right of Access**: You can access your personal data and understand how it is being processed.\n- **Right to Rectification**: You can have your data corrected if it is inaccurate or incomplete.\n- **Right to Erasure**: You can request your data to be deleted.\n- **Right to Restrict Processing**: You can limit how your data is used.\n- **Right to Data Portability**: You can obtain and reuse your data across different services.\n- **Right to Object**: You can object to the processing of your data in certain circumstances.\n- **Rights Related to Automated Decision-Making**: You can challenge and request a review of decisions made without human intervention.\n\nThis tool helps you exercise these rights by providing transparency about the data being collected and how it is being used.\n\n## Features\n- Monitors CPU usage, memory usage, network sent/received bytes, and active network connections.\n- Displays metrics in a `tkinter` GUI with real-time updates.\n- Allows the user to select which metrics to display using checkboxes.\n- Saves collected data to a CSV file.\n- Visualizes metrics in plots using `matplotlib`.\n\n## New in Version 2\nThe most significant changes and new features in version 2 are:\n\n1. **Detailed Logging System**:\n   - Creates log files with timestamps.\n   - Logs all major events and metrics.\n   - Separate logs for each session.\n\n2. **Enhanced Network Monitoring**:\n   - Detects and logs new connections.\n   - Saves connection history.\n   - Optional IP localization (can be extended).\n\n3. **Timestamps for All Events**:\n   - Each metric is saved with precise timestamps.\n   - Improved CSV files with time information.\n   - Timestamps displayed in the GUI.\n\n4. **Improved Error Handling**:\n   - Try-catch blocks for critical operations.\n   - Logs error messages for debugging.\n\nThe core functionality remains unchanged. Logs can be found in the `logs` folder, and saved metrics now include timestamps.\n\n## Requirements\n- Python 3.x\n- `psutil` library for system metrics\n- `selenium` library for browser interaction\n- `tkinter` library for the GUI\n- `csv` module for saving data\n- `matplotlib` library for plotting data\n- ChromeDriver for `selenium` (ensure it is in the PATH)\n\n## Installation\n1. Install the required libraries:\n    ```bash\n    pip install psutil selenium matplotlib\n    ```\n\n2. Download and install \"ChromeDriver\" and ensure it is in your PATH.\n\n## Usage\n1. Clone the repository or download the script.\n2. Run the script:\n    ```bash\n    python monitor.py\n    ```\n\n3. The GUI will open and start monitoring the specified URL (https://www.diesiedleronline.de/). You can use this tool for every browser game, just change the URL to fit your needs.\n\n4. Use the checkboxes to select which metrics to display in the plots.\n\n5. Click the \"Save Data\" button to save the collected data to a CSV file.\n\n## Code Explanation\nThe code consists of the following main parts:\n\n1. **Imports and Functions**:\n    - Import necessary libraries.\n    - Define functions to get system metrics and network connections.\n\n2. **Update Metrics**:\n    - Collect metrics every 5 seconds.\n    - Update the GUI with the latest metrics.\n    - Append collected data to a list for future reference or saving.\n\n3. **Save Data**:\n    - Save the collected data to a CSV file when the \"Save Data\" button is clicked.\n\n4. **Plot Data**:\n    - Plot the selected metrics in the GUI using `matplotlib`.\n\n5. **Main Function**:\n    - Set up the `tkinter` GUI.\n    - Start the Chrome browser using `selenium`.\n    - Begin the monitoring and updating loop.\n\n## License\nThis project is licensed under the GPLv3 License - see the [LICENSE](LICENSE) file for details.\n\n## Source\n- [BrowserGames-Spy](https://github.com/VolkanSah/BrowserGamesSpy)\n### Misc\n\nREADME.md created by Git Repo Manager (GPT) on [GPT-Store](https://chatgpt.com/g/g-HBNMrjPNU-git-repo-manager) by Volkan Sah\n\n# new in version 3\n\nKey improvements in this refactored version:\n\n-  Improved code structure with a class-based approach\n   Enhanced error handling and logging\n-  More modular and flexible GUI\n-  Better console log filtering\n-  Added a save metrics button\n-  More flexible plotting with checkboxes\n-  More comprehensive error messaging\n\nAdditional features:\n\nWebDriver configured with logging options\nAbility to save all or only error console logs\nUser-friendly error messages\nMore robust exception handling\n\n## issues\n\nRessource Metriks shows only in terminal\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvolkansah%2Fbrowsergamesspy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvolkansah%2Fbrowsergamesspy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvolkansah%2Fbrowsergamesspy/lists"}