A system tray application to monitor file synchronization using rclone
. This application observes a local directory and automatically syncs it with a remote location using rclone
. It provides a simple interface in the system tray to manually trigger synchronization and quit the application.
Important: This project is currently a work in progress and is not yet ready for production use. Please use it at your own risk.
- Monitors a specified local directory for changes.
- Automatically syncs changes to a remote location using
rclone
. - System tray icon that indicates sync status.
- Quit option to exit the application.
- Python 3.13 or higher
rclone
installed and configured
-
Clone the repository:
git clone https://github.com/pocentekj/megasync-tray.git cd megasync-tray
-
Create a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate
-
Install the required dependencies:
pip install -e .
-
Ensure
rclone
is installed and configured. You can find instructions on how to set uprclone
here. -
Run the application:
megasync-tray
-
The application will start and appear in your system tray. You can right-click the tray icon to access options to manually sync or quit the application.
This script is only a wrapper for actual rclone
command, so be sure to configure rclone
as it is described in package documentation. Once configured, you can select one of your remotes to be used with megasync-tray
.
Copy env.config.example
as .env
in the same directory and adjust required values. You can of cours just export necessary variables or place them in .bashrc
if you find it more appropriate.
Example .env
file:
MEGASYNC_LOCAL_DIR=/my/local/directory
MEGASYNC_REMOTE_NAME=remote-name
MEGASYNC_REMOTE_DIR=remote-dir
MEGASYNC_LOG_FILE=/path/to/log/file
MEGASYNC_LOG_LEVEL=DEBUG
Ensure that you have setuptools
installed and run make build
.
Contributions are welcome! If you have suggestions for improvements or new features, feel free to open an issue or submit a pull request.
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push your branch to your forked repository.
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.