Skip to content

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.

Notifications You must be signed in to change notification settings

CodeBerserkers888/USBMonitor

Repository files navigation

GOTCHAi

USBMonitor Logo

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.

license last-commit repo-top-language repo-language-count

Developed with the software and tools below.

GitHub%20Actions


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

.
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

Getting Started

Requirements

Ensure you have the following dependencies installed on your system:

  • CSharp: version 1.1.0

Installation

  1. Clone the USBMonitor repository:
git clone https://github.com/CodeBerserkers888/USBMonitor
  1. Change to the project directory:
cd USBMonitor
  1. 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

  • ► SOURCE CODE DEV
  • ► WINX64 VER. with GUI
  • ► ...

Contributing

Contributions are welcome! Here are several ways you can contribute:

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your GitHub account.
  2. Clone Locally: Clone the forked repository to your local machine using a Git client.
    git clone https://github.com/CodeBerserkers888/USBMonitor
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to GitHub: Push the changes to your forked repository.
    git push origin new-feature-x
  7. 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.


License

This project is protected under the MIT License


Acknowledgments

  • List any resources, contributors, inspiration, etc. here.

Sponsors

Buy me a CodeCoffee

About

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.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages