项目用途
在家庭、办公室、实验室等可信局域网内,快速完成大文件、多文件的点对点传输,替代 U 盘插拔与第三方网盘中转。
核心目标
让任意一台运行 Python 的电脑成为临时文件服务器,同一子网内的手机、平板、其他 PC 通过浏览器即可完成双向传输。
- 会议资料现场分发,参会者扫码即取
- 开发机向测试手机推送 APK / 安装包
- 剪辑素材从工作站传到笔记本预览
- 内网环境无法访问公网云盘时的应急方案
设计理念
极简启动:一条命令或双击脚本即可监听端口;Web 界面自包含,不依赖 CDN 运行时。用完关闭进程,不留后台服务。
- 自动探测本机局域网 IP 并拼接访问 URL
- 支持多文件拖拽上传与目录浏览
- 可选二维码便于移动端扫码打开
- 开源透明,可自行审计与二次开发
项目特色与功能
轻量 HTTP 服务 + 现代 Web 上传体验,专为局域网场景优化。
浏览器即客户端
接收方无需安装 App,Safari / Chrome / 微信内置浏览器均可访问。
自动 LAN 地址
启动时解析本机 IPv4,生成 http://192.168.x.x:端口 可分享链接。
二维码分享
终端或网页展示 QR Code,手机一扫直达上传页,告别手输 IP。
目录浏览下载
列出共享目录文件,支持单文件下载与批量选取(视实现版本而定)。
数据不出内网
流量仅在局域网交换,适合敏感文档、未发布素材的内部分发。
纯 Python 栈
基于标准库与少量依赖,跨 Windows / macOS / Linux 均可运行。
HTTP 文件服务
- 自定义
HTTPServer/ThreadingHTTPServer处理并发 - 静态页面提供上传表单与文件列表
- 支持 GET 下载、POST multipart 上传
- 可配置共享根目录与监听端口
网络发现
- 通过
socket获取本机局域网 IP - 枚举网卡地址,过滤回环与链路本地
- 终端打印可点击 URL 与可选 ASCII 二维码
- 防火墙提示与端口占用检测
Web 上传体验
- HTML5 拖拽多文件入队
- 上传进度条与完成状态反馈
- 文件名冲突时的覆盖或重命名策略
- 大文件分块上传扩展点(可二次开发)
安全与边界
- 默认仅绑定局域网,不暴露公网
- 建议仅在可信网络短期开启
- 可添加简易 Token 或 Basic Auth 门禁
- 上传目录权限与磁盘空间需自行把控
交互演示
在浏览器中模拟局域网文件分享的典型操作流程(演示数据均为前端模拟,非真实网络传输)。
Demo 1 · 拖拽上传队列与进度模拟
拖拽文件到此处,或 点击选择
支持多文件 · 模拟上传进度
Demo 2 · 局域网地址与二维码生成
同网段设备连接同一 Wi-Fi / 有线交换机即可访问
Demo 3 · 局域网速率测试模拟
模拟千兆 / 百兆 / Wi-Fi 5 环境下的上传吞吐对比(随机波动,仅供示意)。
Demo 4 · 文件浏览与连接状态
连接设备
DESKTOP-PC · 192.168.1.108 主机
iPhone 15 · 192.168.1.142
MacBook-Air · 192.168.1.89
点击左侧文件模拟下载提示
技术栈
以 Python 标准库为骨干,按需叠加轻量第三方库。
服务端扩展 http.server 处理静态资源与文件上传;客户端为零安装的现代浏览器。网络层依赖局域网 TCP/IP,应用层为 HTTP/1.1。
快速上手
三分钟内在局域网内跑起来。
Step 1 · 获取代码
从 GitHub 克隆或下载 Release 包:git clone https://github.com/Cuishaoyang99/lan-file-share,进入项目目录。
Step 2 · 启动服务
执行 python server.py(或 README 指定入口)。终端显示 LAN URL,浏览器打开验证列表页。
Step 3 · 分享与传输
将 URL 或二维码发给同网段同事/朋友,对方浏览器上传或下载。完成后 Ctrl+C 关闭服务。
常见问题
Q:手机访问不了电脑的 IP 怎么办?
首先确认两者连接同一路由器且未开启 AP 隔离;其次检查 Windows 防火墙是否放行 Python 入站;最后 ping 对方 IP 验证连通。若使用公司 Wi-Fi,可能禁止设备互访。
Q:速度比 U 盘慢很多?
无线干扰、路由器背板带宽、百兆网口或杀毒实时扫描都会拉低吞吐。尽量使用 5GHz Wi-Fi 或有线连接;关闭实时扫描或将共享目录加入白名单。
Q:能否从外网访问?
本项目面向局域网设计。若需外网,应使用反向代理、TLS、强认证,并充分评估安全风险——不建议将简易 HTTP 服务直接端口映射到公网。
Q:上传文件大小有限制吗?
默认受磁盘剩余空间与 Python/浏览器内存策略约束。可在服务端设置上限或分块接收。超大文件建议走 SMB/NFS 或专业方案。
Q:和 AirDrop / Nearby Share 比如何?
系统近场分享在支持的设备间体验更无缝;本方案优势在于跨平台统一 Web 入口、可批量共享整个目录,且便于集成到自动化脚本。
同一 Wi-Fi,文件即刻到手
克隆仓库,一条命令启动,把链接或二维码甩给同事——传输完毕,关闭进程,干净利落。