mcp-proxy-adapter 6.9.28__py3-none-any.whl → 6.9.30__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mcp-proxy-adapter might be problematic. Click here for more details.
- mcp_proxy_adapter/__init__.py +10 -0
- mcp_proxy_adapter/__main__.py +8 -21
- mcp_proxy_adapter/api/app.py +10 -913
- mcp_proxy_adapter/api/core/__init__.py +18 -0
- mcp_proxy_adapter/api/core/app_factory.py +243 -0
- mcp_proxy_adapter/api/core/lifespan_manager.py +55 -0
- mcp_proxy_adapter/api/core/registration_manager.py +166 -0
- mcp_proxy_adapter/api/core/ssl_context_factory.py +88 -0
- mcp_proxy_adapter/api/handlers.py +78 -199
- mcp_proxy_adapter/api/middleware/__init__.py +1 -44
- mcp_proxy_adapter/api/middleware/base.py +0 -42
- mcp_proxy_adapter/api/middleware/command_permission_middleware.py +0 -85
- mcp_proxy_adapter/api/middleware/error_handling.py +1 -127
- mcp_proxy_adapter/api/middleware/factory.py +0 -94
- mcp_proxy_adapter/api/middleware/logging.py +0 -112
- mcp_proxy_adapter/api/middleware/performance.py +0 -35
- mcp_proxy_adapter/api/middleware/protocol_middleware.py +2 -98
- mcp_proxy_adapter/api/middleware/transport_middleware.py +0 -37
- mcp_proxy_adapter/api/middleware/unified_security.py +10 -10
- mcp_proxy_adapter/api/middleware/user_info_middleware.py +0 -118
- mcp_proxy_adapter/api/openapi/__init__.py +21 -0
- mcp_proxy_adapter/api/openapi/command_integration.py +105 -0
- mcp_proxy_adapter/api/openapi/openapi_generator.py +40 -0
- mcp_proxy_adapter/api/openapi/openapi_registry.py +62 -0
- mcp_proxy_adapter/api/openapi/schema_loader.py +116 -0
- mcp_proxy_adapter/api/schemas.py +0 -61
- mcp_proxy_adapter/api/tool_integration.py +0 -117
- mcp_proxy_adapter/api/tools.py +0 -46
- mcp_proxy_adapter/cli/__init__.py +12 -0
- mcp_proxy_adapter/cli/commands/__init__.py +15 -0
- mcp_proxy_adapter/cli/commands/client.py +100 -0
- mcp_proxy_adapter/cli/commands/config_generate.py +21 -0
- mcp_proxy_adapter/cli/commands/config_validate.py +36 -0
- mcp_proxy_adapter/cli/commands/generate.py +259 -0
- mcp_proxy_adapter/cli/commands/server.py +174 -0
- mcp_proxy_adapter/cli/commands/sets.py +128 -0
- mcp_proxy_adapter/cli/commands/testconfig.py +177 -0
- mcp_proxy_adapter/cli/examples/__init__.py +8 -0
- mcp_proxy_adapter/cli/examples/http_basic.py +82 -0
- mcp_proxy_adapter/cli/examples/https_token.py +96 -0
- mcp_proxy_adapter/cli/examples/mtls_roles.py +103 -0
- mcp_proxy_adapter/cli/main.py +63 -0
- mcp_proxy_adapter/cli/parser.py +324 -0
- mcp_proxy_adapter/cli/validators.py +231 -0
- mcp_proxy_adapter/client/jsonrpc_client.py +406 -0
- mcp_proxy_adapter/client/proxy.py +45 -0
- mcp_proxy_adapter/commands/__init__.py +44 -28
- mcp_proxy_adapter/commands/auth_validation_command.py +7 -344
- mcp_proxy_adapter/commands/base.py +19 -43
- mcp_proxy_adapter/commands/builtin_commands.py +0 -75
- mcp_proxy_adapter/commands/catalog/__init__.py +20 -0
- mcp_proxy_adapter/commands/catalog/catalog_loader.py +34 -0
- mcp_proxy_adapter/commands/catalog/catalog_manager.py +122 -0
- mcp_proxy_adapter/commands/catalog/catalog_syncer.py +149 -0
- mcp_proxy_adapter/commands/catalog/command_catalog.py +43 -0
- mcp_proxy_adapter/commands/catalog/dependency_manager.py +37 -0
- mcp_proxy_adapter/commands/catalog_manager.py +58 -928
- mcp_proxy_adapter/commands/cert_monitor_command.py +0 -88
- mcp_proxy_adapter/commands/certificate_management_command.py +0 -45
- mcp_proxy_adapter/commands/command_registry.py +172 -904
- mcp_proxy_adapter/commands/config_command.py +0 -28
- mcp_proxy_adapter/commands/dependency_container.py +1 -70
- mcp_proxy_adapter/commands/dependency_manager.py +0 -128
- mcp_proxy_adapter/commands/echo_command.py +0 -34
- mcp_proxy_adapter/commands/health_command.py +0 -3
- mcp_proxy_adapter/commands/help_command.py +0 -159
- mcp_proxy_adapter/commands/hooks.py +0 -137
- mcp_proxy_adapter/commands/key_management_command.py +0 -25
- mcp_proxy_adapter/commands/load_command.py +7 -78
- mcp_proxy_adapter/commands/plugins_command.py +0 -16
- mcp_proxy_adapter/commands/protocol_management_command.py +0 -28
- mcp_proxy_adapter/commands/proxy_registration_command.py +0 -88
- mcp_proxy_adapter/commands/queue_commands.py +750 -0
- mcp_proxy_adapter/commands/registration_status_command.py +0 -43
- mcp_proxy_adapter/commands/registry/__init__.py +18 -0
- mcp_proxy_adapter/commands/registry/command_info.py +103 -0
- mcp_proxy_adapter/commands/registry/command_loader.py +207 -0
- mcp_proxy_adapter/commands/registry/command_manager.py +119 -0
- mcp_proxy_adapter/commands/registry/command_registry.py +217 -0
- mcp_proxy_adapter/commands/reload_command.py +0 -80
- mcp_proxy_adapter/commands/result.py +25 -77
- mcp_proxy_adapter/commands/role_test_command.py +0 -44
- mcp_proxy_adapter/commands/roles_management_command.py +0 -199
- mcp_proxy_adapter/commands/security_command.py +0 -30
- mcp_proxy_adapter/commands/settings_command.py +0 -68
- mcp_proxy_adapter/commands/ssl_setup_command.py +0 -42
- mcp_proxy_adapter/commands/token_management_command.py +0 -1
- mcp_proxy_adapter/commands/transport_management_command.py +0 -20
- mcp_proxy_adapter/commands/unload_command.py +0 -71
- mcp_proxy_adapter/config.py +15 -626
- mcp_proxy_adapter/core/__init__.py +5 -39
- mcp_proxy_adapter/core/app_factory.py +14 -36
- mcp_proxy_adapter/core/app_runner.py +0 -27
- mcp_proxy_adapter/core/auth_validator.py +1 -93
- mcp_proxy_adapter/core/certificate/__init__.py +20 -0
- mcp_proxy_adapter/core/certificate/certificate_creator.py +371 -0
- mcp_proxy_adapter/core/certificate/certificate_extractor.py +183 -0
- mcp_proxy_adapter/core/certificate/certificate_utils.py +249 -0
- mcp_proxy_adapter/core/certificate/certificate_validator.py +110 -0
- mcp_proxy_adapter/core/certificate/ssl_context_manager.py +70 -0
- mcp_proxy_adapter/core/certificate_utils.py +64 -903
- mcp_proxy_adapter/core/client.py +10 -9
- mcp_proxy_adapter/core/client_manager.py +0 -19
- mcp_proxy_adapter/core/client_security.py +0 -2
- mcp_proxy_adapter/core/config/__init__.py +18 -0
- mcp_proxy_adapter/core/config/config.py +195 -0
- mcp_proxy_adapter/core/config/config_factory.py +22 -0
- mcp_proxy_adapter/core/config/config_loader.py +66 -0
- mcp_proxy_adapter/core/config/feature_manager.py +31 -0
- mcp_proxy_adapter/core/config/simple_config.py +112 -0
- mcp_proxy_adapter/core/config/simple_config_generator.py +50 -0
- mcp_proxy_adapter/core/config/simple_config_validator.py +96 -0
- mcp_proxy_adapter/core/config_converter.py +0 -186
- mcp_proxy_adapter/core/config_validator.py +96 -1238
- mcp_proxy_adapter/core/errors.py +7 -42
- mcp_proxy_adapter/core/job_manager.py +54 -0
- mcp_proxy_adapter/core/logging.py +2 -22
- mcp_proxy_adapter/core/mtls_asgi.py +0 -20
- mcp_proxy_adapter/core/mtls_asgi_app.py +0 -12
- mcp_proxy_adapter/core/mtls_proxy.py +0 -80
- mcp_proxy_adapter/core/mtls_server.py +3 -173
- mcp_proxy_adapter/core/protocol_manager.py +1 -191
- mcp_proxy_adapter/core/proxy/__init__.py +22 -0
- mcp_proxy_adapter/core/proxy/auth_manager.py +27 -0
- mcp_proxy_adapter/core/proxy/proxy_registration_manager.py +137 -0
- mcp_proxy_adapter/core/proxy/registration_client.py +60 -0
- mcp_proxy_adapter/core/proxy/ssl_manager.py +101 -0
- mcp_proxy_adapter/core/proxy_client.py +0 -1
- mcp_proxy_adapter/core/proxy_registration.py +36 -913
- mcp_proxy_adapter/core/role_utils.py +0 -308
- mcp_proxy_adapter/core/security_adapter.py +1 -36
- mcp_proxy_adapter/core/security_factory.py +1 -150
- mcp_proxy_adapter/core/security_integration.py +0 -33
- mcp_proxy_adapter/core/server_adapter.py +1 -40
- mcp_proxy_adapter/core/server_engine.py +2 -173
- mcp_proxy_adapter/core/settings.py +0 -127
- mcp_proxy_adapter/core/signal_handler.py +0 -65
- mcp_proxy_adapter/core/ssl_utils.py +19 -137
- mcp_proxy_adapter/core/transport_manager.py +0 -151
- mcp_proxy_adapter/core/unified_config_adapter.py +1 -193
- mcp_proxy_adapter/core/utils.py +1 -182
- mcp_proxy_adapter/core/validation/__init__.py +21 -0
- mcp_proxy_adapter/core/validation/config_validator.py +211 -0
- mcp_proxy_adapter/core/validation/file_validator.py +73 -0
- mcp_proxy_adapter/core/validation/protocol_validator.py +191 -0
- mcp_proxy_adapter/core/validation/security_validator.py +58 -0
- mcp_proxy_adapter/core/validation/validation_result.py +27 -0
- mcp_proxy_adapter/custom_openapi.py +33 -652
- mcp_proxy_adapter/examples/bugfix_certificate_config.py +0 -23
- mcp_proxy_adapter/examples/check_config.py +0 -2
- mcp_proxy_adapter/examples/client_usage_example.py +164 -0
- mcp_proxy_adapter/examples/config_builder.py +13 -2
- mcp_proxy_adapter/examples/config_cli.py +0 -1
- mcp_proxy_adapter/examples/create_test_configs.py +0 -46
- mcp_proxy_adapter/examples/debug_request_state.py +0 -1
- mcp_proxy_adapter/examples/full_application/commands/custom_echo_command.py +0 -47
- mcp_proxy_adapter/examples/full_application/commands/dynamic_calculator_command.py +0 -45
- mcp_proxy_adapter/examples/full_application/commands/echo_command.py +0 -12
- mcp_proxy_adapter/examples/full_application/commands/help_command.py +0 -12
- mcp_proxy_adapter/examples/full_application/commands/list_command.py +0 -7
- mcp_proxy_adapter/examples/full_application/hooks/__init__.py +0 -2
- mcp_proxy_adapter/examples/full_application/hooks/application_hooks.py +0 -59
- mcp_proxy_adapter/examples/full_application/hooks/builtin_command_hooks.py +0 -54
- mcp_proxy_adapter/examples/full_application/main.py +186 -150
- mcp_proxy_adapter/examples/full_application/proxy_endpoints.py +0 -107
- mcp_proxy_adapter/examples/full_application/test_minimal_server.py +0 -24
- mcp_proxy_adapter/examples/full_application/test_server.py +0 -58
- mcp_proxy_adapter/examples/generate_config.py +65 -11
- mcp_proxy_adapter/examples/queue_demo_simple.py +632 -0
- mcp_proxy_adapter/examples/queue_integration_example.py +578 -0
- mcp_proxy_adapter/examples/queue_server_demo.py +82 -0
- mcp_proxy_adapter/examples/queue_server_example.py +85 -0
- mcp_proxy_adapter/examples/queue_server_simple.py +173 -0
- mcp_proxy_adapter/examples/required_certificates.py +0 -2
- mcp_proxy_adapter/examples/run_full_test_suite.py +0 -29
- mcp_proxy_adapter/examples/run_proxy_server.py +31 -71
- mcp_proxy_adapter/examples/run_security_tests_fixed.py +0 -27
- mcp_proxy_adapter/examples/security_test/__init__.py +18 -0
- mcp_proxy_adapter/examples/security_test/auth_manager.py +14 -0
- mcp_proxy_adapter/examples/security_test/ssl_context_manager.py +28 -0
- mcp_proxy_adapter/examples/security_test/test_client.py +159 -0
- mcp_proxy_adapter/examples/security_test/test_result.py +22 -0
- mcp_proxy_adapter/examples/security_test_client.py +24 -1075
- mcp_proxy_adapter/examples/setup/__init__.py +24 -0
- mcp_proxy_adapter/examples/setup/certificate_manager.py +215 -0
- mcp_proxy_adapter/examples/setup/config_generator.py +12 -0
- mcp_proxy_adapter/examples/setup/config_validator.py +118 -0
- mcp_proxy_adapter/examples/setup/environment_setup.py +62 -0
- mcp_proxy_adapter/examples/setup/test_files_generator.py +10 -0
- mcp_proxy_adapter/examples/setup/test_runner.py +89 -0
- mcp_proxy_adapter/examples/setup_test_environment.py +133 -1425
- mcp_proxy_adapter/examples/test_config.py +0 -3
- mcp_proxy_adapter/examples/test_config_builder.py +25 -405
- mcp_proxy_adapter/examples/test_examples.py +0 -1
- mcp_proxy_adapter/examples/test_framework_complete.py +0 -2
- mcp_proxy_adapter/examples/test_mcp_server.py +0 -1
- mcp_proxy_adapter/examples/test_protocol_examples.py +0 -1
- mcp_proxy_adapter/examples/universal_client.py +0 -6
- mcp_proxy_adapter/examples/update_config_certificates.py +0 -1
- mcp_proxy_adapter/examples/validate_generator_compatibility.py +0 -1
- mcp_proxy_adapter/examples/validate_generator_compatibility_simple.py +0 -187
- mcp_proxy_adapter/integrations/__init__.py +25 -0
- mcp_proxy_adapter/integrations/queuemgr_integration.py +462 -0
- mcp_proxy_adapter/main.py +70 -62
- mcp_proxy_adapter/openapi.py +0 -22
- mcp_proxy_adapter/version.py +1 -1
- {mcp_proxy_adapter-6.9.28.dist-info → mcp_proxy_adapter-6.9.30.dist-info}/METADATA +2 -1
- mcp_proxy_adapter-6.9.30.dist-info/RECORD +235 -0
- {mcp_proxy_adapter-6.9.28.dist-info → mcp_proxy_adapter-6.9.30.dist-info}/entry_points.txt +1 -1
- mcp_proxy_adapter-6.9.28.dist-info/RECORD +0 -149
- {mcp_proxy_adapter-6.9.28.dist-info → mcp_proxy_adapter-6.9.30.dist-info}/WHEEL +0 -0
- {mcp_proxy_adapter-6.9.28.dist-info → mcp_proxy_adapter-6.9.30.dist-info}/top_level.txt +0 -0
|
@@ -11,7 +11,6 @@ import json
|
|
|
11
11
|
import os
|
|
12
12
|
import sys
|
|
13
13
|
from pathlib import Path
|
|
14
|
-
from typing import Dict, Any, Optional
|
|
15
14
|
|
|
16
15
|
# Add the current directory to the path to import config_builder
|
|
17
16
|
sys.path.insert(0, str(Path(__file__).parent))
|
|
@@ -37,7 +36,7 @@ def create_config_from_flags(
|
|
|
37
36
|
key_dir: str = "./keys",
|
|
38
37
|
output_dir: str = "./configs",
|
|
39
38
|
proxy_registration: bool = False,
|
|
40
|
-
proxy_url: str =
|
|
39
|
+
proxy_url: str = None,
|
|
41
40
|
auto_registration: bool = False,
|
|
42
41
|
server_id: str = "mcp_proxy_adapter"
|
|
43
42
|
) -> Dict[str, Any]:
|
|
@@ -66,13 +65,25 @@ def create_config_from_flags(
|
|
|
66
65
|
# Configure SSL based on protocol
|
|
67
66
|
if protocol == "https":
|
|
68
67
|
config["ssl"]["enabled"] = True
|
|
69
|
-
config["ssl"]["cert_file"] = f"{cert_dir}/
|
|
70
|
-
config["ssl"]["key_file"] = f"{key_dir}/
|
|
68
|
+
config["ssl"]["cert_file"] = f"{cert_dir}/mcp-proxy.crt"
|
|
69
|
+
config["ssl"]["key_file"] = f"{key_dir}/mcp-proxy.key"
|
|
70
|
+
# Update transport for HTTPS
|
|
71
|
+
config["transport"]["type"] = "https"
|
|
72
|
+
config["transport"]["chk_hostname"] = True
|
|
71
73
|
elif protocol == "mtls":
|
|
72
74
|
config["ssl"]["enabled"] = True
|
|
73
|
-
config["ssl"]["cert_file"] = f"{cert_dir}/
|
|
74
|
-
config["ssl"]["key_file"] = f"{key_dir}/
|
|
75
|
-
config["ssl"]["ca_cert"] = f"{cert_dir}/ca.crt"
|
|
75
|
+
config["ssl"]["cert_file"] = f"{cert_dir}/mcp-proxy.crt"
|
|
76
|
+
config["ssl"]["key_file"] = f"{key_dir}/mcp-proxy.key"
|
|
77
|
+
config["ssl"]["ca_cert"] = f"{cert_dir}/../ca/ca.crt"
|
|
78
|
+
# Update transport for mTLS
|
|
79
|
+
config["transport"]["type"] = "https"
|
|
80
|
+
config["transport"]["chk_hostname"] = False # Disable hostname check for mTLS
|
|
81
|
+
config["transport"]["verify_client"] = True
|
|
82
|
+
# Add SSL section to transport for mTLS
|
|
83
|
+
config["transport"]["ssl"] = {
|
|
84
|
+
"verify_client": True,
|
|
85
|
+
"ca_cert": f"{cert_dir}/../ca/ca.crt"
|
|
86
|
+
}
|
|
76
87
|
|
|
77
88
|
# Configure security if token authentication is enabled
|
|
78
89
|
if token:
|
|
@@ -95,9 +106,22 @@ def create_config_from_flags(
|
|
|
95
106
|
|
|
96
107
|
# Configure proxy registration if enabled
|
|
97
108
|
if proxy_registration or auto_registration:
|
|
109
|
+
if not proxy_url:
|
|
110
|
+
raise ValueError("proxy_url is required when proxy registration is enabled")
|
|
111
|
+
|
|
98
112
|
config["proxy_registration"]["enabled"] = True
|
|
113
|
+
config["proxy_registration"]["protocol"] = protocol
|
|
99
114
|
config["proxy_registration"]["proxy_url"] = proxy_url
|
|
100
115
|
config["proxy_registration"]["server_id"] = server_id
|
|
116
|
+
|
|
117
|
+
# Update server URL based on protocol
|
|
118
|
+
if protocol == "https" or protocol == "mtls":
|
|
119
|
+
config["proxy_registration"]["proxy_url"] = proxy_url.replace("http://", "https://")
|
|
120
|
+
|
|
121
|
+
# For mTLS, disable DNS verification but keep SSL verification
|
|
122
|
+
if protocol == "mtls":
|
|
123
|
+
config["proxy_registration"]["verify_ssl"] = True
|
|
124
|
+
config["proxy_registration"]["verify_hostname"] = False # Disable DNS verification only
|
|
101
125
|
|
|
102
126
|
return config
|
|
103
127
|
|
|
@@ -296,10 +320,10 @@ Examples:
|
|
|
296
320
|
python generate_config.py --protocol mtls --roles
|
|
297
321
|
|
|
298
322
|
# Generate mTLS configuration with automatic proxy registration
|
|
299
|
-
python generate_config.py --protocol mtls --auto-registration --proxy-url https://
|
|
323
|
+
python generate_config.py --protocol mtls --auto-registration --proxy-url https://172.28.0.10:3004
|
|
300
324
|
|
|
301
325
|
# Generate HTTP configuration with automatic proxy registration
|
|
302
|
-
python generate_config.py --protocol http --proxy-registration --proxy-url http://
|
|
326
|
+
python generate_config.py --protocol http --proxy-registration --proxy-url http://172.28.0.10:3004
|
|
303
327
|
"""
|
|
304
328
|
)
|
|
305
329
|
|
|
@@ -312,8 +336,8 @@ Examples:
|
|
|
312
336
|
help="Enable role-based access control")
|
|
313
337
|
parser.add_argument("--proxy-registration", action="store_true",
|
|
314
338
|
help="Enable proxy registration with auto-determined parameters")
|
|
315
|
-
parser.add_argument("--proxy-url",
|
|
316
|
-
help="Proxy URL for registration (
|
|
339
|
+
parser.add_argument("--proxy-url",
|
|
340
|
+
help="Proxy URL for registration (required when --proxy-registration is enabled)")
|
|
317
341
|
parser.add_argument("--auto-registration", action="store_true",
|
|
318
342
|
help="Enable automatic proxy registration (same as --proxy-registration)")
|
|
319
343
|
parser.add_argument("--server-id", default="mcp_proxy_adapter",
|
|
@@ -349,6 +373,32 @@ Examples:
|
|
|
349
373
|
|
|
350
374
|
args = parser.parse_args()
|
|
351
375
|
|
|
376
|
+
# Validate required arguments
|
|
377
|
+
if not args.validate_only and not args.all and not args.full_config:
|
|
378
|
+
if not args.protocol:
|
|
379
|
+
parser.error("--protocol is required")
|
|
380
|
+
|
|
381
|
+
if (args.proxy_registration or args.auto_registration) and not args.proxy_url:
|
|
382
|
+
parser.error("--proxy-url is required when --proxy-registration or --auto-registration is enabled")
|
|
383
|
+
|
|
384
|
+
# Validate port range
|
|
385
|
+
if not (1 <= args.port <= 65535):
|
|
386
|
+
parser.error("Port must be between 1 and 65535")
|
|
387
|
+
|
|
388
|
+
# Validate certificate directories for HTTPS/mTLS
|
|
389
|
+
if args.protocol in ['https', 'mtls']:
|
|
390
|
+
if not os.path.exists(args.cert_dir):
|
|
391
|
+
parser.error(f"Certificate directory does not exist: {args.cert_dir}")
|
|
392
|
+
if not os.path.exists(args.key_dir):
|
|
393
|
+
parser.error(f"Key directory does not exist: {args.key_dir}")
|
|
394
|
+
|
|
395
|
+
# Validate output directory
|
|
396
|
+
if not os.path.exists(args.output_dir):
|
|
397
|
+
try:
|
|
398
|
+
os.makedirs(args.output_dir, exist_ok=True)
|
|
399
|
+
except OSError as e:
|
|
400
|
+
parser.error(f"Cannot create output directory {args.output_dir}: {e}")
|
|
401
|
+
|
|
352
402
|
try:
|
|
353
403
|
if args.validate_only:
|
|
354
404
|
# Validate existing configuration file
|
|
@@ -403,12 +453,16 @@ Examples:
|
|
|
403
453
|
config_file = save_config(config, filename, args.output_dir, validate=not args.no_validate)
|
|
404
454
|
print(f"✅ Full configuration saved to: {config_file}")
|
|
405
455
|
elif args.protocol:
|
|
456
|
+
|
|
406
457
|
# Generate specific configuration
|
|
407
458
|
config = create_config_from_flags(
|
|
408
459
|
protocol=args.protocol,
|
|
409
460
|
token=args.token,
|
|
410
461
|
roles=args.roles,
|
|
411
462
|
port=args.port,
|
|
463
|
+
cert_dir=args.cert_dir,
|
|
464
|
+
key_dir=args.key_dir,
|
|
465
|
+
output_dir=args.output_dir,
|
|
412
466
|
proxy_registration=args.proxy_registration,
|
|
413
467
|
proxy_url=args.proxy_url,
|
|
414
468
|
auto_registration=args.auto_registration,
|