fkxz

文件分块下载

将大文件分块为多个小分片,支持本地合并与远程下载合并,可用于绕过文件上传大小限制或便于文件传输

项目功能特点

一站式大文件分片传输解决方案

文件分块

将大文件按指定大小分块为多个 .fk 分片,并生成 .fkx 信息文件

文件下载

支持本地 .fkx 合并还原与远程 URL 下载分片合并,自动识别输入类型,支持 SHA-256 完整性校验

断点续传

远程下载中断后已下载的分片自动保留,重新下载时自动跳过已完整下载的分片(大小 + SHA-256 校验),仅下载缺失分片,无需从头开始

增强模式

集成 curl_cffi 浏览器模拟,可模拟 Chrome 浏览器请求头(User-Agent、Sec-Ch-Ua、Sec-Fetch-\* 等),绕过 Cloudflare 验证、EdgeOne Pages、防盗链等反爬虫保护

多端支持

提供命令行工具(CLI)、聚合 GUI 程序(集成侧边栏)、独立 GUI 程序、网页端工具等多种使用方式

跨平台

Python 工具支持 Windows / Linux / macOS;网页端工具支持所有现代浏览器

实时进度

终端进度条 / GUI 进度条,实时显示分块进度、总进度和下载速度

自动清理

远程下载完成后自动清理临时分片文件

多端支持

提供多种使用方式,满足不同场景需求

命令行工具 (CLI)

基于 argparse 的统一命令行入口,提供 split / merge / download 三大命令,适合批处理和脚本自动化场景。

  • SHA-256 完整性校验
  • 增强模式:curl_cffi 浏览器模拟
  • 自定义超时时间(默认 120 秒)
  • 终端实时进度条显示
  • 下载完成后自动清理临时文件
  • 断点续传:分片保留,中断后继续下载

聚合 GUI 程序

Tkinter 现代化图形界面,采用侧边栏导航设计,集成文件分块与文件下载两大功能于一体。

  • 侧边栏导航,两页无缝切换
  • 文件下载页面自动识别本地/远程模式
  • 实时分块进度 + 总进度 + 下载速度
  • 远程下载支持断点续传
  • 文件信息预览(文件名、大小、分片数)
  • 支持取消操作
  • 右键上下文菜单

独立 GUI 程序

两个独立的 Tkinter 图形界面工具,分别专注于分块和下载/合并。

  • wjfk.py:文件分块
  • wjxz.py:文件下载
  • 支持本地模式和远程模式
  • SHA-256 完整性校验
  • 断点续传:下载中断后分片保留
  • 增强模式:curl_cffi 浏览器模拟

网页端工具

轻量级浏览器端工具,无需安装任何软件。

  • index.html:浏览器端文件下载器
  • sw.js + sw.html:Service Worker 下载器
  • worker.js:Cloudflare Workers 后端
  • 纯前端实现,无需后端支持
  • 支持流式下载和实时进度

快速开始

pip 安装、源码运行或直接下载,三种方式任选其一

# 克隆仓库
git clone https://github.com/zsh-cn/fkxz.git
cd fkxz

# 基础安装
pip install .

# 安装后直接使用 fkxz 命令
fkxz split -i ./video.mp4 -o ./chunks -c 10
fkxz merge -i ./chunks/video.mp4.fkx -o ./output
fkxz merge -i ./chunks/video.mp4.fkx -o ./output -s
fkxz download -u https://example.com/files/video.mp4.fkx -o ./output

# 如需增强模式(浏览器模拟)
pip install ".[enhanced]"
fkxz download -u https://example.com/files/video.mp4.fkx -o ./output --enhanced
# 克隆仓库
git clone https://github.com/zsh-cn/fkxz.git
cd fkxz

# 创建虚拟环境(可选)
python -m venv .venv
.venv\Scripts\activate      # Windows
# source .venv/bin/activate  # Linux / macOS

# 安装依赖
pip install -r requirements.txt

# 启动聚合 GUI
python app/main.py

# 或使用 CLI
python cli/main.py split -i ./video.mp4 -o ./chunks -c 10

# 或使用独立 GUI
python wjfk.py
python wjxz.py

免责声明

使用前请仔细阅读

本工具仅供学习、研究和个人合法用途。使用者应遵守所在国家/地区的法律法规及平台的服务条款,不得将本工具用于任何违法或侵权活动。

  • 使用本工具下载文件时,请确保您拥有合法的下载权限,遵守目标网站的服务条款和 robots.txt 协议
  • 增强模式(浏览器模拟)功能仅用于研究和学习浏览器技术,请勿用于绕过网站的安全防护措施进行未授权访问
  • 本项目开发者不对使用者的任何不当行为承担责任,使用者需自行承担使用本工具所产生的一切后果和风险
  • 本工具不提供任何形式的担保,使用过程中可能产生的数据丢失、文件损坏等问题,开发者不承担任何责任

许可证

本项目采用 Mozilla Public License Version 2.0 (MPL-2.0) 许可证

查看完整许可证