santa hat
deerdeer nosedeer glow
Sign In

1111 & ComfyUI Nodes / Extension BackUP and Batch Update

pip install FFuP

run FFuP

from 1111 or ComfyUI folder

that's it ๐ŸคŸ ๐Ÿฅƒ
2-3KB back up of all git hashes if you have to revert back.

Workflow example:


ComfyUI folder found...

Select an option:

1. Check for updates

2. Create recovery snapshot

3. Restore from snapshot

00. Exit

Enter choice (1/2/3/00):


Detecting UI...

Automatic 1111 found!

Select an option:

1. Check for updates

2. Create recovery snapshot

3. Restore from snapshot

00. Exit

Enter choice (1/2/3/00): 1

Checking for updates |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 100.0% Complete

Repositories that can be updated:

Name of git: sd-dynamic-thresholding

Current commit: fa12a88ea071d83c654a2bc67c05fef5c5f3bb0f

Can be updated to: 55ca687fb8f23044666414b7478fd52a8ec85a55


Name of git: sd-webui-segment-anything

Current commit: 780fc495b47df3bd03ff62dffcd49d81abae9fa5

Can be updated to: c555c6d9c4e1d14b018e4d2a92acd47765536585


Name of git: sdweb-merge-board

Current commit: c4eeb1607b84dc3149b39eec16f20a84c7108beb

Can be updated to: 0588202deeb11ea48693d5374be3ef76911f826e


Name of git: stable-diffusion-webui-model-toolkit

Current commit: 4d8fea77dba5643439691c1c6b003db4d330ff0b

Can be updated to: cf824587d11e7362ea35248489b0451f6c54463d


4 objects can be updated.

Proceed? Y/N:

Update Summary:

Updated Repositories: 4

Repositories Already Up-to-Date: 28

Auto Recovery file created. (Space wasted for recovery: 2KB)

To revert changes use FFup-recoveryLAST.txt

Results saved at FFup-summary.txt

Select an option:

1. Check for updates

2. Create recovery snapshot

3. Restore from snapshot

00. Exit

Enter choice (1/2/3/00): 3

1. FFup-recoveryLAST.txt

0 - go back to the previous menu

00 - Exit

FFup - ๐Ÿš€ Snapshot Batch Updater for WebUI 1111 Extensions & ComfyUI Nodes

60% Works

Python Version Repo Size Coffee Level Stress Level License Forks Followers

๐Ÿšซ Tired of breaking your UI due to an incompatible extension? ๐Ÿ” Seeking an efficient way to keep your WebUI1111 Extensions & ComfyUI Nodes updated with last min gits? ๐Ÿ”„

Meet FFup - Your go-to solution! ๐ŸคŸ ๐Ÿฅƒ

FFup is an unofficial simple batch updater crafted to handle easaly the last working git hashes of the extensions. Not only does it streamline the update process, but it also prioritizes safety. Before making any changes, FFup diligently creates recovery snapshots, ensuring you always have a way back.

๐Ÿ”‘ Key Benefits:

  1. ๐Ÿ”„ Smooth Updates: FFup keeps your bleeding edge dev system envirement up-to-date with the rapid evolution of nodes and extensions.

  2. ๐Ÿ›ก Safety First: Updates can sometimes cause hiccups. With FFup's recovery snapshots, you can easily roll back to a stable state in seconds.

  3. ๐Ÿ’ผ Developer-Friendly: Designed for development environments, FFup ensures you're always equipped with the latest tools without the risk of breaking your setup.

Note: Before updating, ensure the UI isn't actively using the folders. This guarantees a seamless git pull for each repository.



ComfyUI AUTOMATIC1111 Recovery Snapshots Quick Update Cross-Platform

FFup is a Python tool crafted for batch updating the extensions for AUTOMATIC1111 WebUI and the custom nodes for ComfyUI. But that's not all; it offers a safety net allowing you to easily revert to previous versions in case the new updates break your GUI.


  • Batch Update: Check and pull updates for all the installed repositories in one go.

  • Recovery Snapshots: Before any major action, FFup creates a few kb in size snapshot, ensuring you have a safety net.

  • Easy Restoration: The devs made a mistake and crashed your UI? No problem! You can easily revert to a previous state using FFup option 2.

  • Detailed Reports: Always stay informed. After every operation, FFup provides a detailed report, saved as FFup-summary.txt.

  • Quick Modes: For developers or those in a hurry, quick batch and bash scripts are available for swift updates without backups.

Quick Start: No Installation Needed ๐Ÿš€

You don't necessarily have to perform a full installation to enjoy the power of FFup. Here's a hassle-free way to get started:

  1. Position Yourself Right: Ensure you're in the base directory of the UI you're looking to update.

  2. Grab the Code: Clone the FFup repository with:

    git clone
  3. Run & Update: Dive into the directory and choose your mode of operation:

    • For the comprehensive FFup experience with backup options:


      or use the provided batch/shell scripts for the full version:

      ./FFup.bat   # On Windows
      ./    # On Linux/Mac
    • For the speedsters who want a quick update (performing git pull on all extensions/nodes) without backups:

      ./FFquickUpdate.bat   # On Windows

๐Ÿ“Œ Note: The quick update method is swift, but doesn't create backup snapshots. Use it if you're confident or if you're in a test environment.


From PyPI

You'll be able to easily install FFup via pip:

pip install FFup


๐Ÿ›  Normal mode Operations: Taking Control with FFup

Step into the FFup World:

  1. Navigate to Your Desired Base Directory: This should be where your main root directory of the UI reside.

  2. "Unleash" FFup: By just typing FFup will launching the script, FFup jumps into action. It has an innate ability to detect which interface you're operating on - be it the AUTOMATIC1111 WebUI Extensions or the ComfyUI Custom Nodes.

cd R:\autoKOR\stable-diffusion-webui
cd R:\ComfyUI

If, for some reason, it feels lost (can't auto-detect the UI), don't fret! It'll politely ask you for the correct path.

Now, let's explore what FFup lays on the table:

1. Check for updates:

Imagine having a personal assistant that keeps tabs on all your extensions or nodes. That's exactly what this option offers! FFup meticulously checks the current git hashes of your extensions/nodes and juxtaposes them with the latest available on their respective remote repositories.

You're then presented with a neat summary that provides insights into:

  • Repositories raring to be updated.

  • A comparison of the current commit vs. the newest kid on the block (latest commit).

But wait, there's more! If updates beckon, FFup ensures it doesn't take any step without your green signal. On receiving your thumbs up:

  • It becomes your safety net by creating an auto-recovery snapshot, aptly named FFup-recoveryLAST.txt, solely for those extensions/nodes in the updating queue.

  • Riding on this safety cushion, it confidently updates the repositories.

  • The cherry on top? Post the update action, it crafts a detailed summary report named FFup-summary.txt, showcasing the updates and any repositories that were already in their prime (up-to-date).

2. Create recovery snapshot:

Think of this as your time machine! This option empowers you to manually snapshot the current state of all your extensions/nodes. In essence, you're capturing a moment in their timeline. These memories are preserved as FFup-recovery[timestamp].txt.

3. Restore from snapshot:

Ever wished to turn back time? Here's your chance! If a need arises to revert to a cherished previous state:

  • FFup showcases all the recovery snapshots you've accumulated over time.

  • It's your turn to pick a memory.

  • Upon selection, FFup painstakingly ensures each extension/node reverts to the exact git hash immortalized in that snapshot.

Navigational Aids:

For those moments when you're contemplating your next move or want to bow out gracefully:

  • Opt for 0 - and you'll be ushered back to the previous menu.

  • Choose 00 - and FFup will take a bow, exiting the stage (application).


โš ๏ธ Quick Update Mode: For Developers

FFup's quick update mode is designed specifically for developers who require a rapid update mechanism. This mode directly updates all repositories without creating any recovery snapshots.

Warning: Using the quick update mode comes with risks:

  • ๐Ÿšซ No Recovery Snapshots: Unlike the standard mode, this mode does not create any recovery snapshots before updating. If a new update causes issues, there's no automated way to revert back.

  • โš ๏ธ Potential for Breakage: New extensions or updates might introduce incompatibilities or break the WebUI.

Given these risks, this mode is best suited for:

  1. Experienced users familiar with manual recovery.

  2. Environments where potential breakage is acceptable or expected.

For most users, it's recommended to use FFup's default mode which provides safety mechanisms like recovery snapshots.

How to Use Quick Update Mode:

Navigate to the desired directory and run:

FFup --fast

Screenshot_302 Screenshot_294

โš ๏ธ Caution: The quick scripts bypass the recovery snapshot creation. They're designed for swift 0-day updates in development environments where backups aren't crucial.

Remember, FFup's is about precision. Instead of bulky folder backups, FFup uses git hashes, ensuring recovery is quick to the previous hash that worked with your instalation, precise, and space-efficient. It's modern recovery for modern interfaces!

๐Ÿšซ Important Considerations:

  • ๐Ÿ“Œ Seamless Pull โ‰  Flawless Extension: While FFup ensures a seamless git pull for each repository, this doesn't guarantee that the latest version of an extension will work flawlessly. If a developer pushes a version with bugs or issues, you might encounter them.

  • โฎ Reverting: In cases where an update causes issues, you can effortlessly revert back to a previous, stable state using the snapshots created by FFup. Alternatively, you can wait for the extension developer to push a fix.

  • ๐Ÿ›ก Liability: Please understand that while we aim to provide a tool that facilitates ease and safety, we cannot be held responsible for any unforeseen issues or conflicts that may arise from using FFup. The script is shared "as is" and is intended for edge-case development environments where users are testing the latest nodes and extensions.

  • ๐Ÿ’ผ No Unintended Alterations: FFup respects the integrity of your setup. It doesn't modify, change, or interfere with your UI's virtual environment or any other environments. All updates are strictly performed using git pull on individual extensions, ensuring transparency and reliability.


Feel free to fork the repository, make changes, and open a pull request. All contributions are welcome!

๐Ÿฅƒ to a ~seamless updating experience! ๐Ÿš€

P.S. This README was crafted with a dash of humor and a sprinkle of tech by... ๐Ÿค–. If you found any typos, blame the humans!


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


And as always, keep updating and stay comfy!

๐ŸŒ Contact Information

The project is proudly maintained by Source Code Bulgaria Ltd & Black Swan Technologies.

๐Ÿ“ง Reach us at [email protected] for any inquiries or support.

๐ŸŒŒ Find us on:

๐Ÿ” Security powered by Comodo.BG & Preasidium.CX

๐Ÿš€ Marketing by ะ“ัƒะณัŠะป.com

๐Ÿ“ฉ Email

๐ŸŒ Sofia Istanbul London