diff --git a/.gitea/scripts/upload_installer_to_ks3.py b/.gitea/scripts/upload_installer_to_ks3.py index 42cab0e..ba343ce 100644 --- a/.gitea/scripts/upload_installer_to_ks3.py +++ b/.gitea/scripts/upload_installer_to_ks3.py @@ -10,6 +10,16 @@ import sys import logging from pathlib import Path +# 🔥 强制禁用代理,避免代理连接问题 +# 必须在所有网络操作之前设置 +os.environ['NO_PROXY'] = '*' +os.environ['HTTP_PROXY'] = '' +os.environ['HTTPS_PROXY'] = '' +os.environ['http_proxy'] = '' +os.environ['https_proxy'] = '' +os.environ['ALL_PROXY'] = '' +os.environ['all_proxy'] = '' + try: from ks3.connection import Connection except ImportError: @@ -100,6 +110,7 @@ def upload_installer(connection, installer_path): # Upload file with public read permission and progress tracking # Use cb parameter for progress callback (called every 5% or every 10MB) + # 🔥 启用分片上传提高大文件上传成功率 key.set_contents_from_filename( str(installer_path), headers={ @@ -111,7 +122,9 @@ def upload_installer(connection, installer_path): }, policy='public-read', # Set ACL policy cb=progress_callback, # Progress callback function - num_cb=10 # Call callback 10 times during upload (every 10%) + num_cb=10, # Call callback 10 times during upload (every 10%) + multipart=True, # 🔥 启用分片上传 + chunk_size=10485760 # 🔥 10MB每片,提高上传稳定性 ) # Generate download URL (using KS3 third-level domain format) @@ -143,6 +156,8 @@ def main(): logger.info(f"KS3 Endpoint: {KS3_ENDPOINT}") logger.info(f"Bucket: {KS3_BUCKET}") logger.info(f"Target directory: {KS3_PREFIX}") + logger.info("Proxy disabled: Direct connection to KS3") + logger.info("Multipart upload: Enabled (10MB chunks)") logger.info("=" * 70) installer_path = find_latest_installer()