Code Monkey home page Code Monkey logo

icloud-nosync's Introduction

iCloud NoSync

iCloud is a powerful utility that allows users to sync files across multiple devices. However, sometimes users may want to prevent certain files or folders from syncing. Apple has a blacklist of file names and extensions that users should avoid using in their iCloud Drive. Adding the extension .nosync to a file is a simple way to prevent iCloud from syncing that file. This technique is useful for selective syncing. However, adding the same extension to a folder will not prevent iCloud from syncing its contents. The only way to prevent an entire folder from syncing is to name it tmp or end it with .tmp.



iCloud NoSync Finder



iCloud No Sync: hides and appends the appropriate extension to the file or folder, effectively stopping the sync process. It then creates a symbolic link with the same name as the original file or folder to avoid any issues with applications that depend on it.


iCloud Sync: it first unhides the original file or folder. Then, it removes the symbolic link and the extension to restart the synchronisation. This means that iCloud Sync always refers to the symlink to restart the sync, which ensures that the latest version of the file or folder is synchronised across all your devices. By removing the symbolic link and the extension, iCloud Sync ensures that the sync is done from scratch, which reduces the chances of any errors or conflicts during the synchronisation process.

Getting Started

Installation

The installation process for this utility is designed for ease and convenience. You have two options:

Automatic Installation via curl: Simply execute the following command in your terminal to quickly download and seamlessly install the utility:

zsh -c "$(curl -fsSL https://raw.githubusercontent.com/nicolodiamante/icloud-nosync/HEAD/bootstrap.zsh)"

Manual Installation: If you favor manual installation, first clone the repository to your local machine using git:

git clone https://github.com/nicolodiamante/icloud-nosync.git

After cloning, navigate to the repository's directory in your terminal and execute the install script:

source utils/install.zsh

The script will copy the workflow files to ~/Library/Services and then open the Privacy & Security panel.


Show in Quick Action Menu

Once the script opens the Privacy & Security panel, select Finder and check the boxes:



Selected Quick Actions



After doing this, you should be able to right-click on files or folders in Finder and find the iCloud No Sync and iCloud Sync options in the Quick Action section of the context menu.


How It Works

  1. Right-click on the file or folder you want to stop syncing to iCloud Drive.
  2. Select iCloud No Sync from the Quick Actions menu to stop the sync.
  3. Select iCloud Sync from the Quick Actions menu to sync it again.



Quick Actions Menu


Notes

Resources

Contribution

Any suggestions or feedback you may have for improvement are welcome. If you encounter any issues or bugs, please report them to the issues page.

Nicolò Diamante Portfolio

MIT License

icloud-nosync's People

Contributors

nicolodiamante avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

icloud-nosync's Issues

The relative path in install.sh for copying files is incorrect

In utils/install.sh
Replace

cp -r ./scripts/iCloud\ No\ Sync.workflow "${APPLE_SERVICES}"
cp -r ./scripts/iCloud\ Sync.workflow "${APPLE_SERVICES}"

with

cp -r ../scripts/iCloud\ No\ Sync.workflow "${APPLE_SERVICES}"
cp -r ../scripts/iCloud\ Sync.workflow "${APPLE_SERVICES}"

Issues with Sonoma

Hi there @nicolodiamante! Thanks for this utility. I wanted to ask you if you have updated to Sonoma? It seems it broke the usage of .nosync / .tmp and nested folders are now syncing for me, basically broken the entire icloud setup I've used since 2016.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.