https://github.com/volkanalkilic/Mqtt-File-Uploader
https://github.com/volkanalkilic/Mqtt-File-Uploader
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/volkanalkilic/Mqtt-File-Uploader
- Owner: volkanalkilic
- License: mit
- Created: 2023-02-12T20:40:31.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-02-13T18:17:44.000Z (about 3 years ago)
- Last Synced: 2024-01-24T00:44:18.870Z (about 2 years ago)
- Language: C#
- Size: 7.81 KB
- Stars: 3
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-iot - MQTT File Uploader - MQTT File Uploader is a simple Cross-platform .NET Core application that watches local directories for changes and uploads new or modified files to an MQTT broker. (Table of Contents / Software)
- awesome-iot - MQTT File Uploader - MQTT File Uploader is a simple Cross-platform .NET Core application that watches local directories for changes and uploads new or modified files to an MQTT broker. (Tools / Others)
README
# MQTT File Uploader
MQTT File Uploader is a simple Cross-platform .NET Core application that watches local directories for changes and uploads new or modified files to an MQTT broker.
## Features
* Watch multiple local directory for new or modified files
* Upload files to an MQTT broker
* Support MQTT versions 5.0, 3.1.1, and 3.1
* Compress files with GZip before uploading
* Support for disabling `Created`, `Changed`, and `Deleted` events
* Configuration settings can be specified in a TOML file
* SSL/TLS encryption support
## Getting Started
### Prerequisites
* .NET Core 7 or later
* An MQTT broker
### Installation
1. Clone the repository or download the source code
2. Build the project with `dotnet build`
3. Update the `config.toml` file with your MQTT broker settings and SSL/TLS options
4. Run the application with `dotnet run`
### Configuration
The `config.toml` file contains the following options:
* `directoryPaths`: local directories to watch for changes
* `brokerHostname`: hostname of the MQTT broker to upload files to
* `brokerPort`: port number of the MQTT broker to upload files to
* `brokerUsername`: username to use to connect to the MQTT broker (optional)
* `brokerPassword`: password to use to connect to the MQTT broker (optional)
* `topic`: MQTT topic to publish files to
* `compress`: Whether to compress files with GZip before uploading
* `createdEventEnabled`: Whether to upload files that are created in the watched directory
* `changedEventEnabled`: Whether to upload files that are modified in the watched directory
* `deletedEventEnabled`: Whether to delete files on the MQTT broker when they are deleted from the watched directory
* `tlsEnabled`: Whether to use SSL/TLS encryption for the connection
### Built With
* [.NET Core](https://dotnet.microsoft.com/) - The .NET framework used
* [MQTTnet](https://github.com/chkr1011/MQTTnet) - The MQTT library used
* [Tomlyn](https://github.com/xoofx/Tomlyn) - The TOML library used
### License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.