{"id":51075369,"url":"https://github.com/codestorm-official/python-autoconnect","last_synced_at":"2026-06-23T13:41:18.767Z","repository":{"id":340162669,"uuid":"1010946237","full_name":"codestorm-official/python-autoconnect","owner":"codestorm-official","description":"A simple yet powerful Python bot to keep your GUI applications connected. Uses screen monitoring and automated clicks, ideal for VPN clients that lack a command-line interface (CLI).","archived":false,"fork":false,"pushed_at":"2026-02-11T17:26:09.000Z","size":10566,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-23T22:49:20.326Z","etag":null,"topics":["auto-connect","automation","pyautogui","pyautogui-automation","python-automation"],"latest_commit_sha":null,"homepage":"","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/codestorm-official.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":[],"ko_fi":"asepsaputra","buy_me_a_coffee":"asepsaputra","custom":["https://saweria.co/asepsp","https://paypal.me/selaris"]}},"created_at":"2025-06-30T04:40:07.000Z","updated_at":"2025-06-30T04:46:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/codestorm-official/python-autoconnect","commit_stats":null,"previous_names":["codestorm-official/python-autoconnect"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/codestorm-official/python-autoconnect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codestorm-official%2Fpython-autoconnect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codestorm-official%2Fpython-autoconnect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codestorm-official%2Fpython-autoconnect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codestorm-official%2Fpython-autoconnect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codestorm-official","download_url":"https://codeload.github.com/codestorm-official/python-autoconnect/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codestorm-official%2Fpython-autoconnect/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34692769,"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-23T02:00:07.161Z","response_time":65,"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":["auto-connect","automation","pyautogui","pyautogui-automation","python-automation"],"created_at":"2026-06-23T13:41:17.714Z","updated_at":"2026-06-23T13:41:18.762Z","avatar_url":"https://github.com/codestorm-official.png","language":"Python","funding_links":["https://ko-fi.com/asepsaputra","https://buymeacoffee.com/asepsaputra","https://saweria.co/asepsp","https://paypal.me/selaris"],"categories":[],"sub_categories":[],"readme":"# Python GUI Auto-Connect Monitor\nThis script monitors a GUI-based application (like a VPN client) and automatically performs an action when a specific visual state is detected. Its primary use case is to monitor a VPN connection and automatically click the \"Connect\" button if the VPN is found to be disconnected.\n\nHowever, the script is generic enough to be adapted for other UI automation tasks by simply changing the target image.\n\n## Features\n- Detects a target button or element on the screen using image recognition.\n- Automatically clicks the target element when it appears.\n- Configurable check interval and image-matching confidence level.\n- Includes a simple Tkinter-based VPN GUI mockup for demonstration and testing purposes.\n\n## Getting Started\nFollow these steps to get the monitor up and running.\n\n### 1. Prerequisites\n   - Python 3.8+\n   - Access to a terminal or command prompt.\n   - Git (optional, for cloning).\n\n### 2. Installation\nFirst, clone the repository to your local machine (or download the source code).\n\n```bash\ngit clone https://github.com/asepscareer/python-autoconnect.git\ncd python-autoconnect\n```\n\nNext, it is highly recommended to create a virtual environment to keep dependencies isolated.\n\n```bash\n# Create a virtual environment\npython -m venv venv\n\n# Activate the virtual environment\n# On Windows:\nvenv\\Scripts\\activate\n\n# On macOS/Linux:\nsource venv/bin/activate\n```\n\nFinally, install the required Python packages.\npip install -r requirements.txt\n\n### 3. Configuration\n   - Place a screenshot of the target \"Connect\" button from your VPN application inside the assets/ folder.\n   - Rename the screenshot to connect_button.png.\n\n### 4. Usage\nTo run the application, you'll need two terminal windows.\n\nTerminal 1: Run the Mockup VPN GUI (Optional, for testing)\n\nThis will launch the simple Tkinter GUI.\n\n```bash\npython -m src.gui.vpn_gui\n```\n\nTerminal 2: Run the Monitor Script\n\nThis script will start monitoring your screen. Make sure the VPN application (either the mockup or your real one) is visible.\n\n```bash\npython -m src.main\n```\n\nThe script will now check the screen at a set interval. If the connect_button.png image is found, it will automatically click it.\n\nFolder Structure\nThe project uses a clean and organized structure to separate source code from assets.\n\n```text\npython-autoconnect/\n├── .github/\n│   └── FUNDING.yml\n├── assets/\n│   ├── connect_button.png\n│   └── disconnect_button.png\n├── src/\n│   ├── __init__.py\n│   ├── gui/\n│   │   └── vpn_gui.py\n│   └── main.py\n├── .gitignore\n├── LICENSE\n├── README.md\n└── requirements.txt\n```\n\n## Notes\n- This script relies on the pyautogui library for screen detection and automated clicks.\n- For best results, ensure your screen resolution and the appearance of the target button remain consistent.\n- On some operating systems, you may need to grant accessibility or screen recording permissions to your terminal or code editor for pyautogui to function correctly.\n\n**License**: This project is licensed under the MIT License. See the `LICENSE` file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodestorm-official%2Fpython-autoconnect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodestorm-official%2Fpython-autoconnect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodestorm-official%2Fpython-autoconnect/lists"}