The legacy notice route fetched the News page from GitHub with verify_ssl=False, so certificate verification was off for every user: whoever sat on the connection could present any certificate for github.com and choose the notice text and links. The sanitizer limits the markup, but it cannot tell whose content it is. - Turn verification off for the notice only when bypass_ssl is set, as manager_util.get_data does - Answer a certificate or connection failure with "Unable to retrieve Notice" where it raised and the notice area showed the server's 500 page - Add tests that run get_notice against a local HTTPS server behind a local CONNECT proxy: an untrusted certificate and a trusted certificate for another host are rejected; bypass_ssl accepts the untrusted certificate; a CA trusted through SSL_CERT_FILE is accepted; a closed proxy, a proxy answering 502 and a proxy that never answers end in the unavailable notice, each with one warning naming the cause - Add a CHANGELOG entry Port of #3424 to v4 (#3302).
ComfyUI-Manager: Core Backend (glob)
This directory contains the Python backend modules that power ComfyUI-Manager, handling the core functionality of node management, downloading, security, and server operations.
Directory Structure
- glob/ - code for new cacheless ComfyUI-Manager
- legacy/ - code for legacy ComfyUI-Manager
Core Modules
- manager_core.py: The central implementation of management functions, handling configuration, installation, updates, and node management.
- manager_server.py: Implements server functionality and API endpoints for the web interface to interact with the backend.
Specialized Modules
- share_3rdparty.py: Manages integration with third-party sharing platforms.
Architecture
The backend follows a modular design pattern with clear separation of concerns:
- Core Layer: Manager modules provide the primary API and business logic
- Utility Layer: Helper modules provide specialized functionality
- Integration Layer: Modules that connect to external systems
Security Model
The system implements a comprehensive security framework with multiple levels:
- Block: Highest security - blocks most remote operations
- High: Allows only specific trusted operations
- Middle: Standard security for most users
- Normal-: More permissive for advanced users
- Weak: Lowest security for development environments
Implementation Details
- The backend is designed to work seamlessly with ComfyUI
- Asynchronous task queuing is implemented for background operations
- The system supports multiple installation modes
- Error handling and risk assessment are integrated throughout the codebase
API Integration
The backend exposes a REST API via manager_server.py that enables:
- Custom node management (install, update, disable, remove)
- Model downloading and organization
- System configuration
- Snapshot management
- Workflow component handling