USBMonitor
USBMonitor is a powerful tool designed to monitor and log USB device connections on both Windows and macOS. It helps you keep track of all USB devices that are connected to your system providing you with detailed logs and notifications.
Install / Use
/learn @CodeBerserkers888/USBMonitorREADME
Quick Links
Features
Here're some of the project's best features:
- Real-Time Monitoring: Continuously monitors USB device connections and disconnections in real-time.
- Detailed Logging: Logs detailed information about each USB device connection including timestamp device name and serial number.
- Cross-Platform Support: Fully supports both Windows and macOS platforms.
- Secure Logging: Encrypts log files to protect sensitive information about connected devices.
- Custom Log Location: Allows users to specify a custom location for saving log files.
- Device Whitelisting: Enables users to whitelist trusted USB devices ignoring them in the logs.
- Graphical User Interface (GUI): Includes a user-friendly GUI for easy access and control over the monitoring process.
- Hotkey Support: Allows users to quickly enable or disable monitoring using configurable hotkeys.
- Email Alerts: Sends email alerts when a new USB device is connected to the system.
- Auto-Start on Boot: Configures the application to start automatically when the system boots up.
- Customizable Settings: Provides an easy way to customize various settings such as notification preferences and log file formats.
- Language Support: Supports multiple languages for user notifications and interface. First: Germany Norwegian Spanish
Repository Structure
└── USBMonitor/
├── .github
│ └── workflows
│ └── dotnet-desktop.yml
├── Program.cs
├── README.md
├── USBMonitor.csproj
├── USBMonitor.sln
├── UsbMonitor-Logo.jpg
└── usb_log.txt
Modules
<details closed><summary>.</summary>| File | Summary |
| --- | --- |
| USBMonitor.sln | HTTP error 401 for prompt USBMonitor.sln |
| USBMonitor.csproj | HTTP error 401 for prompt USBMonitor.csproj |
| usb_log.txt | HTTP error 401 for prompt usb_log.txt |
| Program.cs | HTTP error 401 for prompt Program.cs |
| File | Summary |
| --- | --- |
| dotnet-desktop.yml | HTTP error 401 for prompt .github/workflows/dotnet-desktop.yml |
Getting Started
Requirements
Ensure you have the following dependencies installed on your system:
- CSharp:
version 1.1.0
Installation
- Clone the USBMonitor repository:
git clone https://github.com/CodeBerserkers888/USBMonitor
- Change to the project directory:
cd USBMonitor
- Install the dependencies:
dotnet build
Running USBMonitor
Use the following command to run USBMonitor:
dotnet run
Tests
To execute tests, run:
dotnet test
Project Roadmap
- [X]
► SOURCE CODE DEV - [X]
► WINX64 VER. with GUI - [ ]
► ...
Contributing
Contributions are welcome! Here are several ways you can contribute:
- Submit Pull Requests: Review open PRs, and submit your own PRs.
- Join the Discussions: Share your insights, provide feedback, or ask questions.
- Report Issues: Submit bugs found or log feature requests for Usbmonitor.
- Fork the Repository: Start by forking the project repository to your GitHub account.
- Clone Locally: Clone the forked repository to your local machine using a Git client.
git clone https://github.com/CodeBerserkers888/USBMonitor - Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x - Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.' - Push to GitHub: Push the changes to your forked repository.
git push origin new-feature-x - Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
Once your PR is reviewed and approved, it will be merged into the main branch.
</details>License
This project is protected under the MIT License
Acknowledgments
- List any resources, contributors, inspiration, etc. here.
Related Skills
tmux
345.4kRemote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
diffs
345.4kUse the diffs tool to produce real, shareable diffs (viewer URL, file artifact, or both) instead of manual edit summaries.
terraform-provider-genesyscloud
Terraform Provider Genesyscloud
blogwatcher
345.4kMonitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.
