docs: def free(self, local_path):
      '''
        Stop synchronization of local_path
      '''
          
      # Process local ~~~
  
      # 1. Syncthing config
      config = self.get_config()
  
      # Check whether folders are still connected to this device 
      folder = st_util.find_folder_with_path(local_path, config)
      self.delete_folder(local_path, config)
      pruned = st_util.prune_devices(folder, config)
          
      # Done processing st config, commit :)
      self.set_config(config)
      
      if pruned:
        self.restart()
  
      # 2. App config
      dir_config = self.adapter.get_dir_config(local_path)
  
      if not dir_config:
        raise custom_errors.FileNotInConfig(local_path)
  
      kodrive_config = self.adapter.get_config()
  
      for key in kodrive_config['directories']: 
        d = kodrive_config['directories'][key]
        if d['local_path'].rstrip('/') == local_path.rstrip('/'):
          del kodrive_config['directories'][key]
          break
      
      # Done process app config, commit :)
      self.adapter.set_config(kodrive_config)
  
      # If the folder was shared, try remove data from remote 
      if dir_config['is_shared'] and dir_config['server']:
        
        # Process remote ~~~
        r_api_key = dir_config['api_key']
        r_device_id = dir_config['device_id']
  
        if dir_config['host']:
          host = dir_config['host']
        else:
          host = self.devid_to_ip(r_device_id, False)
        
        try:
          # Create remote proxy to interact with remote
          remote = SyncthingProxy(
            r_device_id, host, r_api_key,
            port=dir_config['port'] if 'port' in dir_config else None
          )
        except Exception as e:
          return True
  
        r_config = remote.get_config()
        r_folder = st_util.find_folder_with_path(
          dir_config['remote_path'], r_config
        )
        
        # Delete device id from folder
        r_config = remote.get_config()
        self_devid = self.get_device_id()
        del_device = remote.delete_device_from_folder(
          dir_config['remote_path'], self_devid, r_config
        )
  
        # Check to see if no other folder depends has this device
        pruned = st_util.prune_devices(r_folder, r_config)
              
        remote.set_config(r_config)
  
        if pruned:
          remote.restart()
  
      return True