An advanced, multi-platform, lightweight system query tool
Get Latest Version »
View Screenshots
·
Report Bug
·
Request Feature
This project is the a reimplementation of a previous project I did in Python called WinScraper; this version is build with C#11 and .NET Core 7.
It comes in two packages: a CLI tool which is a downloadable executable, and a library which is available as a NuGet package.
It collects information about devices running on Windows, Linux, OsX, and FreeBSD which is then serialized into a wide array of data formats such as YAML, JSON, XML, CSV, TOML, INI and CSV.
Run the executable without any arguments for a brief overview of argument options.
Or run it with the --help
option for more detailed help - example:
- Download the latest binary
- Manually add the path of the binary to your environment PATH variable.
- Download the latest NuGet package
The project is pretty easy to extend and you won't need to concern yourself with any of the codebase besides
all the scraping logic that is contained within Core.Scraping.Modules.<ModuleName>
, where you find the modules and scrapers; a module is equivalent to a category and modules can be nested.
Modules can contain other modules or they can contain scrapers. The whole datastructure for the modules and scrapers are set up as a generalized tree where the leafs are scrapers and any other node which is not a leaf is a module. The only rule is that you cannot setup an empty module without at least one child that is a scraper (hence a category cannot be a leaf).
To add new modules or scrapers, the code should be self-explanatory enough I hope.
Since it was pretty easy to implement, I've added support for a few other operating systems in case someone would find it fun to implement scrapers for these. I might do some for Linux once the Windows scrapers are completed.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue. Also, don't forget to give the project a star ⭐!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/YourAwesomeNewScraper
) - Commit your Changes (
git commit -m '...'
) - Push to the Branch (
git push origin feature/YourAwesomeNewScraper
) - Open a Pull Request
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Blue-Hexagon - Initial work - Blue-Hexagon
See also the list of contributors who participated in this project.
Contact me on Discord at manjana#3559
for any matter related to this project.
This project is distributed under the MIT License - see LICENSE.md for more details.