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.
Developed with the software and tools below.
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
└── USBMonitor/
├── .github
│ └── workflows
│ └── dotnet-desktop.yml
├── Program.cs
├── README.md
├── USBMonitor.csproj
├── USBMonitor.sln
├── UsbMonitor-Logo.jpg
└── usb_log.txt
.
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 |
.github.workflows
File | Summary |
---|---|
dotnet-desktop.yml | HTTP error 401 for prompt .github/workflows/dotnet-desktop.yml |
Requirements
Ensure you have the following dependencies installed on your system:
- CSharp:
version 1.1.0
- Clone the USBMonitor repository:
git clone https://github.com/CodeBerserkers888/USBMonitor
- Change to the project directory:
cd USBMonitor
- Install the dependencies:
dotnet build
Use the following command to run USBMonitor:
dotnet run
To execute tests, run:
dotnet test
-
► SOURCE CODE DEV
-
► WINX64 VER. with GUI
-
► ...
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.
Contributing Guidelines
- 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.
This project is protected under the MIT License
- List any resources, contributors, inspiration, etc. here.