{"id":14637971,"url":"https://github.com/openprotest/protest","last_synced_at":"2025-09-07T06:31:32.651Z","repository":{"id":38978355,"uuid":"203023747","full_name":"openprotest/protest","owner":"openprotest","description":"A management base for System Admins","archived":false,"fork":false,"pushed_at":"2025-08-31T20:49:42.000Z","size":160581,"stargazers_count":21,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-31T22:25:58.213Z","etag":null,"topics":["dns-resolver","hardware-inventory","ip-tracker","mac-lookup","management-base","network-scanner","password-generation","port-scan","remote-management","remote-management-monitoring","rmm","system-administration"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/openprotest.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":"SECURITY.md","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":["veniware"]}},"created_at":"2019-08-18T15:33:32.000Z","updated_at":"2025-08-31T20:49:45.000Z","dependencies_parsed_at":"2023-02-15T21:46:01.180Z","dependency_job_id":"299d2e4a-0525-43b2-9d23-5f2e43b5576d","html_url":"https://github.com/openprotest/protest","commit_stats":null,"previous_names":["veniware/openprotest"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/openprotest/protest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openprotest%2Fprotest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openprotest%2Fprotest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openprotest%2Fprotest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openprotest%2Fprotest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openprotest","download_url":"https://codeload.github.com/openprotest/protest/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openprotest%2Fprotest/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274005341,"owners_count":25205934,"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-09-07T02:00:09.463Z","response_time":67,"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":["dns-resolver","hardware-inventory","ip-tracker","mac-lookup","management-base","network-scanner","password-generation","port-scan","remote-management","remote-management-monitoring","rmm","system-administration"],"created_at":"2024-09-10T02:01:28.389Z","updated_at":"2025-09-07T06:31:32.631Z","avatar_url":"https://github.com/openprotest.png","language":"JavaScript","funding_links":["https://github.com/sponsors/veniware","https://www.paypal.com/paypalme/veniware"],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/openprotest/protest/master/protest.png\" /\u003e\u003c/p\u003e\n\u003ch1 align=\"center\"\u003ePro-test\u003c/h1\u003e\n\u003ch2 align=\"center\"\u003eA management base for System Admins\u003c/h2\u003e\n\n### Overview:\nPro-test is a robust solution for creating and managing an inventory database of your network environment.\nIt leverages data collection techniques by interacting with Active Directory or performing local network scans.\nThe suite automatically populates the database by targeting the domain controller or specified IP ranges.\n\n**Pro-test provides complite data ownership, with all collected data remaining fully under your control.**\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/openprotest/openprotest.github.io/refs/heads/main/screenshot.png\" /\u003e\u003c/p\u003e\n\n### How to use:\nPro-test is portable and self-contained, with a web interface accessible via the loopback address.\nIf you need to run it remotely, the included `Reverse proxy` allows for external access.\nAuthentication is required for requests originating from IPs other than the loopback address.\nIf you opt to use a different reverse proxy, ensure that the `X-Real-IP` header is forwarded.\nIf Pro-test fails to bind to the configured endpoint, it will attempt to bind to a fallback endpoint `127.0.0.1:8080`.\nPro-test runs with the privileges of the user executing it. For administrative tasks like WMI or Active Directory access, it must be run with Network Administrator privileges.\n\n### Tools and utilities:\nPro-test includes a wide range of tools and utilities designed for system administration and network management:\n\n#### **Network utilities**\n- Ping utility (ICMP and ARP)\n- DNS lookup\n- mDNS discovery\n- Trace route\n- Port scan\n- IP locator\n- MAC address lookup\n- DHCP client\n- NTP client\n- Website health check\n- SNMP and WMI polling\n- SSH and telnet client\n\n#### **Network monitoring**\n- IP discovery tool\n- Network watchdog\n- Reverse proxy\n- Issue detection\n\n#### **Documentation and communication**\n- Documentation\n- Debit notes\n- Address book\n- Integrated team chat\n\n### Repo components:\n  - **Protest:** The front-end and back-end workings.\n  - **Protest-CacheGenerator:** A source-generator that embeds the front-end UI into the backend executable.\n  - **Protest-MacLookupGenerator:** A source-generator that embeds the the mac-to-vendor database into the executable.\n  - **Protest Agent:** A tool to enable the browser to communicate with the client's computer using a local communication protocol (`protest://`).\n\n### Continuous Integration\n![build](https://img.shields.io/github/actions/workflow/status/openprotest/protest/dotnet.yml?label=Build\u0026style=for-the-badge)\n![code-analyze](https://img.shields.io/github/actions/workflow/status/openprotest/protest/codeql.yml?label=Analyze%20Back-end\u0026style=for-the-badge)\n![code-analyze](https://img.shields.io/github/actions/workflow/status/openprotest/protest/codeql-front.yml?label=Analyze%20Front-end\u0026style=for-the-badge)\n\n### Release\n![License](https://img.shields.io/github/license/openprotest/protest?style=for-the-badge)\n![Release](https://img.shields.io/github/release/openprotest/protest?style=for-the-badge)\n![Commits since](https://img.shields.io/github/commits-since/openprotest/protest/latest?style=for-the-badge)\n![Downloads](https://img.shields.io/github/downloads/openprotest/protest/total?style=for-the-badge)\n\n### Platform support\n![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows\u0026style=for-the-badge)\n![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux\u0026logoColor=222\u0026style=for-the-badge)\n![MacOS](https://shields.io/badge/Mac%20OS-ccc?logo=Apple\u0026logoColor=222\u0026style=for-the-badge)\n\n### Sponsor:\n*[![Sponsor](https://img.shields.io/badge/Sponsor%20on%20GitHub-374046?style=for-the-badge\u0026logo=github)](https://github.com/sponsors/veniware)*\n*[![Donate](https://img.shields.io/badge/Donate-00457C?style=for-the-badge\u0026logo=paypal)](https://www.paypal.com/paypalme/veniware)*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenprotest%2Fprotest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenprotest%2Fprotest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenprotest%2Fprotest/lists"}