Merge branch 'main' into feat/cnr

This commit is contained in:
Dr.Lt.Data 2024-08-18 13:02:39 +09:00
commit b02cb2b833
9 changed files with 1730 additions and 1688 deletions

View File

@ -8304,16 +8304,6 @@
"install_type": "git-clone",
"description": "Create a new group of nodes."
},
{
"author": "shinich39",
"title": "comfyui-group-selection",
"reference": "https://github.com/shinich39/comfyui-group-selection",
"files": [
"https://github.com/shinich39/comfyui-group-selection"
],
"install_type": "git-clone",
"description": "Create a new group of nodes."
},
{
"author": "shinich39",
"title": "comfyui-textarea-keybindings",
@ -13208,6 +13198,16 @@
"install_type": "git-clone",
"description": "The Flux Prompt Saver is a custom node for ComfyUI that works in conjunction with the Flux Sampler Parameters node from the ComfyUI Essentials package. This node allows you to save images with metadata that includes information from the Flux Sampler Parameters pipeline."
},
{
"author": "eesahe",
"title": "ComfyUI-eesahesNodes",
"reference": "https://github.com/EeroHeikkinen/ComfyUI-eesahesNodes",
"files": [
"https://github.com/EeroHeikkinen/ComfyUI-eesahesNodes"
],
"install_type": "git-clone",
"description": "InstantX's Flux union ControlNet loader and implementation"
},

View File

@ -1684,6 +1684,18 @@
"title_aux": "ComfyUI Color Detection Nodes"
}
],
"https://github.com/EeroHeikkinen/ComfyUI-eesahesNodes": [
[
"InstantX Flux Union ControlNet Loader"
],
{
"author": "eesahe",
"description": "InstantX's Flux union ControlNet loader and implementation",
"nickname": "eesahesNodes",
"title": "eesahe's Nodes",
"title_aux": "ComfyUI-eesahesNodes"
}
],
"https://github.com/Electrofried/ComfyUI-OpenAINode": [
[
"OpenAINode"
@ -5867,7 +5879,6 @@
"0246.BoxRange",
"0246.CastReroute",
"0246.Cloud",
"0246.Convert",
"0246.Count",
"0246.Highway",
"0246.HighwayBatch",
@ -5878,7 +5889,6 @@
"0246.Loop",
"0246.Merge",
"0246.Meta",
"0246.Pick",
"0246.RandomInt",
"0246.Script",
"0246.ScriptNode",
@ -6940,7 +6950,8 @@
"ComfyUIStyler",
"ConvertRasterToVector",
"FLUXResolutions",
"GeminiOllamaAPI",
"GeminiAPI",
"OllamaAPI",
"SaveSVG",
"TextSplitByDelimiter",
"menus"
@ -9159,6 +9170,7 @@
"ModelSamplingFlux",
"ModelSamplingSD3",
"ModelSamplingStableCascade",
"ModelSave",
"Morphology",
"PatchModelAddDownscale",
"PerpNeg",
@ -11274,6 +11286,7 @@
],
"https://github.com/gseth/ControlAltAI-Nodes": [
[
"FluxControlNetApply",
"FluxResolutionNode",
"FluxSampler"
],
@ -15901,8 +15914,11 @@
"OpticalFlowDirectionMask",
"OpticalFlowMaskModulation",
"OpticalFlowParticleSystem",
"ParticleColorModulation",
"ParticleEmissionMask",
"ParticleEmitter",
"ParticleSizeModulation",
"ParticleSpeedModulation",
"PulsatingParticleSystemMask",
"SpringJointSetting",
"StaticBody",

File diff suppressed because it is too large Load Diff

View File

@ -21,6 +21,10 @@ print(f"### Loading: ComfyUI-Manager ({core.version_str})")
comfy_ui_hash = "-"
SECURITY_MESSAGE_MIDDLE_OR_BELOW = f"ERROR: To use this action, a security_level of `middle or below` is required. Please contact the administrator.\nReference: https://github.com/ltdrdata/ComfyUI-Manager#security-policy"
SECURITY_MESSAGE_NORMAL_MINUS = f"ERROR: To use this feature, you must either set '--listen' to a local IP and set the security level to 'normal-' or lower, or set the security level to 'middle' or 'weak'. Please contact the administrator.\nReference: https://github.com/ltdrdata/ComfyUI-Manager#security-policy"
SECURITY_MESSAGE_GENERAL = f"ERROR: This installation is not allowed in this security_level. Please contact the administrator.\nReference: https://github.com/ltdrdata/ComfyUI-Manager#security-policy"
routes = PromptServer.instance.routes
@ -393,7 +397,7 @@ async def fetch_updates(request):
@routes.get("/customnode/update_all")
async def update_all(request):
if not is_allowed_security_level('middle'):
print(f"ERROR: To use this action, a security_level of `middle or below` is required. Please contact the administrator.")
print(SECURITY_MESSAGE_MIDDLE_OR_BELOW)
return web.Response(status=403)
try:
@ -577,7 +581,7 @@ async def get_snapshot_list(request):
@routes.get("/snapshot/remove")
async def remove_snapshot(request):
if not is_allowed_security_level('middle'):
print(f"ERROR: To use this action, a security_level of `middle or below` is required. Please contact the administrator.")
print(SECURITY_MESSAGE_MIDDLE_OR_BELOW)
return web.Response(status=403)
try:
@ -595,7 +599,7 @@ async def remove_snapshot(request):
@routes.get("/snapshot/restore")
async def remove_snapshot(request):
if not is_allowed_security_level('middle'):
print(f"ERROR: To use this action, a security_level of `middle or below` is required. Please contact the administrator.")
print(SECURITY_MESSAGE_MIDDLE_OR_BELOW)
return web.Response(status=403)
try:
@ -797,7 +801,7 @@ async def reinstall_custom_node(request):
@routes.post("/customnode/install")
async def install_custom_node(request):
if not is_allowed_security_level('middle'):
print(f"ERROR: To use this action, a security_level of `middle or below` is required. Please contact the administrator.")
print(SECURITY_MESSAGE_MIDDLE_OR_BELOW)
return web.Response(status=403)
json_data = await request.json()
@ -824,7 +828,7 @@ async def install_custom_node(request):
risky_level = await get_risky_level(json_data['files'])
if not is_allowed_security_level(risky_level):
print(f"ERROR: This installation is not allowed in this security_level. Please contact the administrator.")
print(SECURITY_MESSAGE_GENERAL)
return web.Response(status=404)
node_spec = core.unified_manager.resolve_node_spec(node_spec_str)
@ -845,7 +849,7 @@ async def install_custom_node(request):
@routes.post("/customnode/fix")
async def fix_custom_node(request):
if not is_allowed_security_level('middle'):
print(f"ERROR: To use this action, a security_level of `middle or below` is required. Please contact the administrator.")
print(SECURITY_MESSAGE_MIDDLE_OR_BELOW)
return web.Response(status=403)
json_data = await request.json()
@ -871,7 +875,7 @@ async def fix_custom_node(request):
@routes.post("/customnode/install/git_url")
async def install_custom_node_git_url(request):
if not is_allowed_security_level('high'):
print(f"ERROR: To use this feature, you must either set '--listen' to a local IP and set the security level to 'normal-' or lower, or set the security level to 'middle' or 'weak'. Please contact the administrator.")
print(SECURITY_MESSAGE_NORMAL_MINUS)
return web.Response(status=403)
url = await request.text()
@ -891,7 +895,7 @@ async def install_custom_node_git_url(request):
@routes.post("/customnode/install/pip")
async def install_custom_node_git_url(request):
if not is_allowed_security_level('high'):
print(f"ERROR: To use this feature, you must either set '--listen' to a local IP and set the security level to 'normal-' or lower, or set the security level to 'middle' or 'weak'. Please contact the administrator.")
print(SECURITY_MESSAGE_NORMAL_MINUS)
return web.Response(status=403)
packages = await request.text()
@ -903,7 +907,7 @@ async def install_custom_node_git_url(request):
@routes.post("/customnode/uninstall")
async def uninstall_custom_node(request):
if not is_allowed_security_level('middle'):
print(f"ERROR: To use this action, a security_level of `middle or below` is required. Please contact the administrator.")
print(SECURITY_MESSAGE_MIDDLE_OR_BELOW)
return web.Response(status=403)
json_data = await request.json()
@ -930,7 +934,7 @@ async def uninstall_custom_node(request):
@routes.post("/customnode/update")
async def update_custom_node(request):
if not is_allowed_security_level('middle'):
print(f"ERROR: To use this action, a security_level of `middle or below` is required. Please contact the administrator.")
print(SECURITY_MESSAGE_MIDDLE_OR_BELOW)
return web.Response(status=403)
json_data = await request.json()
@ -1015,7 +1019,7 @@ async def install_model(request):
model_path = get_model_path(json_data)
if not is_allowed_security_level('middle'):
print(f"ERROR: To use this action, a security_level of `middle or below` is required. Please contact the administrator.")
print(SECURITY_MESSAGE_MIDDLE_OR_BELOW)
return web.Response(status=403)
if not json_data['filename'].endswith('.safetensors') and not is_allowed_security_level('high'):
@ -1028,7 +1032,7 @@ async def install_model(request):
break
if not is_belongs_to_whitelist:
print(f"ERROR: To use this feature, you must either set '--listen' to a local IP and set the security level to 'normal-' or lower, or set the security level to 'middle' or 'weak'. Please contact the administrator.")
print(SECURITY_MESSAGE_NORMAL_MINUS)
return web.Response(status=403)
res = False
@ -1078,7 +1082,7 @@ manager_terminal_hook = ManagerTerminalHook()
@routes.get("/manager/terminal")
async def terminal_mode(request):
if not is_allowed_security_level('high'):
print(f"ERROR: To use this feature, you must either set '--listen' to a local IP and set the security level to 'normal-' or lower, or set the security level to 'middle' or 'weak'. Please contact the administrator.")
print(SECURITY_MESSAGE_NORMAL_MINUS)
return web.Response(status=403)
if "mode" in request.rel_url.query:
@ -1220,7 +1224,7 @@ async def get_notice(request):
@routes.get("/manager/reboot")
def restart(self):
if not is_allowed_security_level('middle'):
print(f"ERROR: To use this action, a security_level of `middle or below` is required. Please contact the administrator.")
print(SECURITY_MESSAGE_MIDDLE_OR_BELOW)
return web.Response(status=403)
try:

View File

@ -1238,6 +1238,7 @@
"ModelSamplingFlux",
"ModelSamplingSD3",
"ModelSamplingStableCascade",
"ModelSave",
"Morphology",
"PatchModelAddDownscale",
"PerpNeg",

File diff suppressed because it is too large Load Diff

View File

@ -10,6 +10,16 @@
{
"author": "eesahe",
"title": "ComfyUI-eesahesNodes",
"reference": "https://github.com/EeroHeikkinen/ComfyUI-eesahesNodes",
"files": [
"https://github.com/EeroHeikkinen/ComfyUI-eesahesNodes"
],
"install_type": "git-clone",
"description": "InstantX's Flux union ControlNet loader and implementation"
},
{
"author": "hben35096",
"title": "ComfyUI-ReplenishNodes",
@ -686,16 +696,6 @@
],
"install_type": "git-clone",
"description": "ComfyUI for [a/LLaSM](https://huggingface.co/spaces/LinkSoul/LLaSM)"
},
{
"author": "leeguandong",
"title": "ComfyUI_InternVL2",
"reference": "https://github.com/leeguandong/ComfyUI_InternVL2",
"files": [
"https://github.com/leeguandong/ComfyUI_InternVL2"
],
"install_type": "git-clone",
"description": "ComfyUI for [a/InternVL](https://github.com/OpenGVLab/InternVL)"
}
]
}

View File

@ -1684,6 +1684,18 @@
"title_aux": "ComfyUI Color Detection Nodes"
}
],
"https://github.com/EeroHeikkinen/ComfyUI-eesahesNodes": [
[
"InstantX Flux Union ControlNet Loader"
],
{
"author": "eesahe",
"description": "InstantX's Flux union ControlNet loader and implementation",
"nickname": "eesahesNodes",
"title": "eesahe's Nodes",
"title_aux": "ComfyUI-eesahesNodes"
}
],
"https://github.com/Electrofried/ComfyUI-OpenAINode": [
[
"OpenAINode"
@ -5867,7 +5879,6 @@
"0246.BoxRange",
"0246.CastReroute",
"0246.Cloud",
"0246.Convert",
"0246.Count",
"0246.Highway",
"0246.HighwayBatch",
@ -5878,7 +5889,6 @@
"0246.Loop",
"0246.Merge",
"0246.Meta",
"0246.Pick",
"0246.RandomInt",
"0246.Script",
"0246.ScriptNode",
@ -6940,7 +6950,8 @@
"ComfyUIStyler",
"ConvertRasterToVector",
"FLUXResolutions",
"GeminiOllamaAPI",
"GeminiAPI",
"OllamaAPI",
"SaveSVG",
"TextSplitByDelimiter",
"menus"
@ -9159,6 +9170,7 @@
"ModelSamplingFlux",
"ModelSamplingSD3",
"ModelSamplingStableCascade",
"ModelSave",
"Morphology",
"PatchModelAddDownscale",
"PerpNeg",
@ -11274,6 +11286,7 @@
],
"https://github.com/gseth/ControlAltAI-Nodes": [
[
"FluxControlNetApply",
"FluxResolutionNode",
"FluxSampler"
],
@ -15901,8 +15914,11 @@
"OpticalFlowDirectionMask",
"OpticalFlowMaskModulation",
"OpticalFlowParticleSystem",
"ParticleColorModulation",
"ParticleEmissionMask",
"ParticleEmitter",
"ParticleSizeModulation",
"ParticleSpeedModulation",
"PulsatingParticleSystemMask",
"SpringJointSetting",
"StaticBody",

View File

@ -1,7 +1,7 @@
[project]
name = "comfyui-manager"
description = "ComfyUI-Manager provides features to install and manage custom nodes for ComfyUI, as well as various functionalities to assist with ComfyUI."
version = "2.50"
version = "2.50.1"
license = { file = "LICENSE.txt" }
dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions"]