Compare commits

...

3 Commits

Author SHA1 Message Date
zhanglei 667a4e4911 增加网盘加速的功能 3 months ago
zhanglei 9635f8b1fd 增加网盘加速的功能 3 months ago
zhanglei dae8797819 增加网盘加速的功能 3 months ago
  1. 13
      kodcloud.ini
  2. 235
      main.py

13
kodcloud.ini

@ -0,0 +1,13 @@
[common]
local_ip = 0.0.0.0
server_addr = 47.97.6.201
server_port = 7100
token = ENbOUMvXJGWuA623@@@
[kodcloud_20250902_170229]
type = xtcp
role = visitor
server_name = M0BUnkgzPxR0Ebdp9NQ4VUtm4EpTDvPR1
sk = aw1fohFnPcZEjRcRogENJzBbgPsNqjV31
bind_ip = 127.0.0.1
bind_port = 8089

235
main.py

@ -125,20 +125,238 @@ class FileTransferApp:
cursor='hand2'
)
receive_button.pack()
# 网盘加速卡片
cloud_card = tk.Frame(card_frame, bg='#f8f9fa', relief='raised', bd=1, padx=20, pady=20)
cloud_card.pack(side='left', padx=15)
cloud_icon = tk.Label(cloud_card, text="", font=("Arial", 24), bg='#f8f9fa')
cloud_icon.pack()
cloud_title = tk.Label(cloud_card, text="网盘加速", font=("Microsoft YaHei", 14, "bold"), fg="#2c3e50", bg='#f8f9fa')
cloud_title.pack(pady=(10, 5))
cloud_desc = tk.Label(cloud_card, text="加速您的网盘访问", font=("Microsoft YaHei", 9), fg="#7f8c8d", bg='#f8f9fa')
cloud_desc.pack(pady=(0, 15))
cloud_button = tk.Button(
cloud_card,
text="加速服务",
command=self.show_cloud_accel_screen,
font=("Microsoft YaHei", 11, "bold"),
bg="#f39c12",
fg="white",
width=12,
height=2,
relief='flat',
cursor='hand2'
)
cloud_button.pack()
# 底部信息
footer_frame = tk.Frame(self.main_frame, bg='white')
footer_frame.pack(side='bottom', pady=20)
footer_label = tk.Label(
footer_frame,
text="© 2024 蜗牛创造 - 让文件传输更简单",
text="© 2025 蜗牛创造 - 让文件传输更简单",
font=("Microsoft YaHei", 9),
fg="#bdc3c7",
bg='white'
)
footer_label.pack()
def show_cloud_accel_screen(self):
"""显示网盘加速界面"""
self.clear_frame()
# 标题栏
title_frame = tk.Frame(self.main_frame, bg='white')
title_frame.pack(fill='x', pady=(10, 20))
back_button = self.create_styled_button(title_frame, "← 返回", self.show_welcome_screen, "#95a5a6", 8)
back_button.pack(side='left')
title_label = tk.Label(
title_frame,
text="⚡ 网盘加速服务",
font=("Microsoft YaHei", 16, "bold"),
fg="#2c3e50",
bg='white'
)
title_label.pack(side='left', padx=10)
# 说明文本
desc_frame = tk.Frame(self.main_frame, bg='white')
desc_frame.pack(fill='x', pady=(0, 20))
desc_text = """功能说明:
为KodCloud等网盘提供加速服务
使用XTCP协议建立高速通道
本地端口: 8089
服务器: 127.0.0.1"""
desc_label = tk.Label(
desc_frame,
text=desc_text,
font=("Microsoft YaHei", 10),
fg="#7f8c8d",
bg='white',
justify='left'
)
desc_label.pack(anchor='w')
# 按钮组
button_frame = tk.Frame(self.main_frame, bg='white')
button_frame.pack(pady=20)
self.cloud_start_button = self.create_styled_button(button_frame, "🚀 启动加速", self.start_cloud_accel, "#27ae60", 15)
self.cloud_start_button.pack(side='left', padx=10)
self.cloud_stop_button = self.create_styled_button(button_frame, "⏹️ 停止加速", self.stop_cloud_accel, "#e74c3c", 15)
self.cloud_stop_button.pack(side='left', padx=10)
self.cloud_stop_button.config(state='disabled')
# 状态显示
status_frame = tk.Frame(self.main_frame, bg='white')
status_frame.pack(fill='x', pady=5)
self.cloud_status_label = tk.Label(
status_frame,
text="📊 状态: 等待启动加速服务",
font=("Microsoft YaHei", 10),
fg="#7f8c8d",
bg='white'
)
self.cloud_status_label.pack()
# 输出区域
output_card = tk.Frame(self.main_frame, bg='#f8f9fa', relief='raised', bd=1, padx=15, pady=15)
output_card.pack(fill='both', expand=True, pady=(10, 0))
output_label = tk.Label(output_card, text="📋 加速服务日志:", font=("Microsoft YaHei", 10), bg='#f8f9fa')
output_label.pack(anchor='w')
self.cloud_output = scrolledtext.ScrolledText(
output_card,
height=12,
width=80,
font=("Consolas", 9),
state='disabled',
relief='solid',
bd=1,
bg='#ffffff'
)
self.cloud_output.pack(fill='both', expand=True, pady=(5, 0))
# 初始信息
self.append_cloud_output("网盘加速服务就绪\n")
self.append_cloud_output("点击「启动加速」开始服务\n")
# 进程引用
self.cloud_process = None
self.is_cloud_running = False
def create_kodcloud_ini(self):
"""创建kodcloud.ini配置文件"""
# 获取当前时间,精确到秒
from datetime import datetime
current_time = datetime.now().strftime("%Y%m%d_%H%M%S")
ini_content = f"""[common]
local_ip = 0.0.0.0
server_addr = 47.97.6.201
server_port = 7100
token = ENbOUMvXJGWuA623@@@
[kodcloud_{current_time}]
type = xtcp
role = visitor
server_name = M0BUnkgzPxR0Ebdp9NQ4VUtm4EpTDvPR1
sk = aw1fohFnPcZEjRcRogENJzBbgPsNqjV31
bind_ip = 127.0.0.1
bind_port = 8089
"""
try:
with open('./kodcloud.ini', 'w', encoding='utf-8') as f:
f.write(ini_content)
self.append_cloud_output(f"✅ 配置文件 kodcloud.ini 创建成功\n")
self.append_cloud_output(f"✅ 时间标识: {current_time}\n")
return True
except Exception as e:
self.append_cloud_output(f"❌ 创建配置文件失败: {e}\n")
return False
def monitor_cloud_output(self):
"""监控网盘加速输出"""
try:
for line in iter(self.cloud_process.stdout.readline, ''):
if not self.is_cloud_running:
break
if line:
self.append_cloud_output(f"[加速服务] {line}")
except:
pass
def start_cloud_accel(self):
"""启动网盘加速服务"""
try:
# 创建配置文件
if not self.create_kodcloud_ini():
return
self.cloud_process = subprocess.Popen(
['.\\gc.exe', '-c', '.\\kodcloud.ini'],
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
text=True,
encoding='utf-8',
errors='replace',
bufsize=1,
universal_newlines=True
)
# 更新状态
self.is_cloud_running = True
self.cloud_start_button.config(state='disabled')
self.cloud_stop_button.config(state='normal')
self.cloud_status_label.config(text="📊 状态: 加速服务运行中", fg="#27ae60")
self.append_cloud_output("🚀 启动网盘加速服务...\n")
self.append_cloud_output("📍 本地访问地址: http://127.0.0.1:8089\n")
# 启动输出监控线程
output_thread = threading.Thread(target=self.monitor_cloud_output, daemon=True)
output_thread.start()
except Exception as e:
self.append_cloud_output(f"❌ 启动加速服务失败: {e}\n")
def stop_cloud_accel(self):
"""停止网盘加速服务"""
self.is_cloud_running = False
self.cloud_status_label.config(text="📊 状态: 正在停止服务", fg="#e74c3c")
if self.cloud_process and self.cloud_process.poll() is None:
try:
self.cloud_process.terminate()
self.append_cloud_output("⏹️ 正在停止加速服务...\n")
except:
pass
time.sleep(1)
self.cloud_start_button.config(state='normal')
self.cloud_stop_button.config(state='disabled')
self.cloud_status_label.config(text="📊 状态: 服务已停止", fg="#7f8c8d")
self.append_cloud_output("✅ 加速服务已停止\n")
def append_cloud_output(self, message):
"""向网盘加速输出框添加消息"""
self.cloud_output.config(state='normal')
self.cloud_output.insert(tk.END, message)
def create_styled_button(self, parent, text, command, bg_color, width=10):
"""创建样式统一的按钮"""
return tk.Button(
@ -493,7 +711,7 @@ bind_port = {bport}
'.\\p2pfile.py',
'--mode', 'send',
'--path', file_path,
'--psk', self.send_psk
'--psk', self.send_psk,
'--port', self.bport
],
stdout=subprocess.PIPE,
@ -524,19 +742,19 @@ bind_port = {bport}
# 解析密钥
if '|' not in key:
messagebox.showwarning("格式错误", "密钥格式应为: token|sk|psk|sern|bport")
messagebox.showwarning("格式错误", "密钥格式应为: token|sk|psk|sern")
return
parts = key.split('|')
if len(parts) < 4:
messagebox.showwarning("格式错误", "密钥格式应为: token|sk|psk|sern|bport")
messagebox.showwarning("格式错误", "密钥格式应为: token|sk|psk|sern")
return
token = parts[0].strip()
sk = parts[1].strip()
psk = parts[2].strip()
sern = parts[3].strip()
bport = parts[4].strip()
bport = parts[4].strip() if len(parts) > 4 else "7001"
self.send_token = token
self.send_sk = sk
@ -787,7 +1005,8 @@ local_port = {bport}
sk = parts[1].strip()
psk = parts[2].strip()
sern = parts[3].strip()
bport = parts[4].strip()
# 修改: 当缺少bport时,默认使用7001
bport = parts[4].strip() if len(parts) > 4 else "6000"
self.current_token = token
self.current_sk = sk

Loading…
Cancel
Save