This custom node uses a simple password to protect ComfyUI.
Please be aware that absolute security does not exist. This login node offers only basic protection for ComfyUI. Use it at your own risk.
To install this node, you have two options:
-
In the directory
ComfyUI/custom_nodes/
, git clone this repo, and dopip install -r requirements.txt
in the repo's directory. -
Use ComfyUI-Manager.
For your first login, you may choose any password. This password will be encrypted and
stored in a file named PASSWORD
within the <ComfyUI project folder>/login
folder.
If you forget your password, you can reset it by deleting the PASSWORD
file found in
the <ComfyUI project folder>/login
folder. After doing this, you will be able to log
in again using a new password of your choice.
To disable the login feature, you can either:
-
Manually delete the ComfyUI-Login folder located in the
ComfyUI/custom_nodes/
directory. Then, restart ComfyUI for the changes to take effect. -
Use the ComfyUI-Manager to uninstall it.
ComfyUI-Login also protects the server from unauthorized API calls.
You can find your token in your console (command line window) if you have set your password. It'll look like this:
For direct API calls, use token=$2b...
You have two options to validate your call:
-
Add an additional argument
token
. An example can be found in./script_examples/websockets_api_example.py
. -
Add an Authorization Bearer header. An example can be found in
./script_examples/free_memory.sh
Feel free to modify login.html
if you want to personalize your login page.
This package now contains two nodes that contribute to privacy.
When using ComfyUI's API to serve customers, people often ask if the uploaded pictures will be destroyed after processing. The answer was no, and it's not easy, because there's no "remove image" node for security considerations.
Now we have two nodes for this:
- Load Image with Privacy
This node not only loads an image, but also returns the path of the image and a calculated signature for the path.
- Remove Image for Privacy
This node will remove the image if the signature for the path of the image is correct.
Please set the REMOVE_IMAGE_SECRET
in upload_privacy.py
, so that your signature will be unique and secure.
These two nodes are mainly for API use, because I assume that people don't need to remove any images in the GUI. But who knows.