Skip to content

A system tray application to monitor file synchronization using rclone.

License

Notifications You must be signed in to change notification settings

pocentekj/megasync-tray

Repository files navigation

megasync-tray

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.

⚠️ Work in Progress

Important: This project is currently a work in progress and is not yet ready for production use. Please use it at your own risk.

Features

  • 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.

Requirements

  • Python 3.13 or higher
  • rclone installed and configured

Installation

  1. Clone the repository:

    git clone https://github.com/pocentekj/megasync-tray.git
    cd megasync-tray
  2. Create a virtual environment (optional but recommended):

    python -m venv venv
    source venv/bin/activate
  3. Install the required dependencies:

    pip install -e .

Usage

  1. Ensure rclone is installed and configured. You can find instructions on how to set up rclone here.

  2. Run the application:

    megasync-tray
  3. 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.

Configuration

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

Build

Ensure that you have setuptools installed and run make build.

Contributing

Contributions are welcome! If you have suggestions for improvements or new features, feel free to open an issue or submit a pull request.

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them.
  4. Push your branch to your forked repository.
  5. Open a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

  • rclone for providing a powerful synchronization tool.
  • GTK for the graphical user interface.

About

A system tray application to monitor file synchronization using rclone.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published