2026/08/22 增加手机扫码访问;不需要授权时直接以http访问;
2026/09/01 web端和客户端上传文件增加进度显示;服务端改为流式接收,避免传输大文件导致程序异常退出;
2026/09/08 支持导入正式 HTTPS 证书,环境不支持时由用户显式选择;
2026/09/09 完成GitHub的自动构建和发布流程,现在只要push就会自动构建,有新tag就自动发版;
DShare 是一款基于 DTK(Deepin Tool Kit) 专为 deepin 桌面环境 打造的文件共享软件。它把本机的一个目录(~/myshare)通过局域网共享出去: 既提供原生 DTK 图形界面在本地管理文件,也内置一个 HTTP/HTTPS 服务,让同局域网 内的其他设备通过浏览器或本程序直接浏览、下载、上传文件。
~/myshare
采用 DTK6 开发,深度集成 deepin 的视觉风格与桌面组件(窗口、控件、主题、 提示框、日志等),是 deepin / UOS v25 桌面下体验一致的文件共享工具。
English version is available at the bottom of this file.
http://
https://
openssl
239.255.42.99
AuthManager
Core
Widgets
Network
HttpServer
Gui
Widget
Log
适用于 deepin / UOS v25(DTK6)环境。
# 在项目根目录 mkdir -p build && cd build cmake .. make -j"$(nproc)" # 运行(未安装时可直接执行构建产物) ./dshare # 可选:安装到系统 sudo make install # 可执行文件 -> /usr/bin,桌面项 -> /usr/share/applications
安装后也可从应用菜单启动(桌面项名称为「DShare」)。
启动后默认进入本机 ~/myshare(不存在会自动创建)。通过工具栏即可:
返回上级
新建文件夹
刷新
复制
粘贴
http://<你的IP>:5000
https://<你的IP>:5000
添加
.*
在「机器」下拉框选择某台远程设备后:
打开顶部的「访问需授权」开关:
地址栏「机器」下拉框右侧显示本机当前共享目录对应的网页二维码:
http://<本机IP>:5000/browse/...
https://<本机IP>:5000/browse/...
dshare/ ├── main.cpp # 程序入口,初始化 DApplication(DTK) ├── mainwindow.{h,cpp} # 主窗口:本地浏览、拖拽、跨机传输、授权弹窗 ├── fileserver.{h,cpp} # 内嵌 HTTP/HTTPS 服务(浏览/下载/上传/授权) ├── discovery.{h,cpp} # 局域网多播设备发现 ├── remotemodel.{h,cpp} # 远程共享目录只读模型(拖拽支持) ├── finddialog.{h,cpp} # 「查找设备」对话框 ├── authmanager.{h,cpp} # 客户端侧授权握手管理 ├── fileuploader.{h,cpp} # 分片上传器与上传进度窗口 ├── updirproxy.h # 本地目录的「返回上一级」代理模型 ├── dshare.desktop # 桌面启动项 ├── translations/ # 中文本地化(zh_CN) └── CMakeLists.txt # 构建配置
本程序以 GNU General Public License v3 (GPL-3.0) 发布,详见仓库根目录的 LICENSE 文件。
LICENSE
桌面端主界面:
当打开授权开关时,需要共享端同意才能访问(默认关闭,不需要授权):
手机端不需要安装任何软件,直接使用浏览器即可上传、下载文件:
客户端之间直接就能互相浏览共享文件(如果开启了需授权开关,也是需要对方同意才能访问):
软件完全使用codebuddy+dtk-development skill用自然语言对话开发,没有一点手工编辑代码,以下是完整对话记录:
session.txt
session-2026-08-22.txt
session-2026-09-01.txt
已经完成CI和Release的配置,可以在这里下载试用:
Featured Collection
Popular Ranking
Popular Events
源码链接:https://github.com/zhutianhao/dshare
2026/08/22 增加手机扫码访问;不需要授权时直接以http访问;
2026/09/01 web端和客户端上传文件增加进度显示;服务端改为流式接收,避免传输大文件导致程序异常退出;
2026/09/08 支持导入正式 HTTPS 证书,环境不支持时由用户显式选择;
2026/09/09 完成GitHub的自动构建和发布流程,现在只要push就会自动构建,有新tag就自动发版;
DShare
DShare 是一款基于 DTK(Deepin Tool Kit) 专为 deepin 桌面环境
打造的文件共享软件。它把本机的一个目录(
~/myshare)通过局域网共享出去:既提供原生 DTK 图形界面在本地管理文件,也内置一个 HTTP/HTTPS 服务,让同局域网
内的其他设备通过浏览器或本程序直接浏览、下载、上传文件。
功能特性
~/myshare,支持新建文件夹、复制/粘贴、拖拽移动/复制、删除、双击打开。
窗口底部状态栏(随「访问需授权」开关在
http:///https://间切换):openssl生成自签名证书并写入本机 LAN IP到 SAN),以加密保护授权凭据,浏览器会提示证书不受信任,选择「继续访问」即可。
239.255.42.99)自动发现同局域网内其它运行本程序的 deepin 机器。可按机器名正则发起查找,避免
手动记 IP。
共享目录:
需经你手动批准。授权请求会弹出提示框显示对方机器名与 IP;浏览器端通过
自动握手 + Cookie 完成授权,桌面客户端通过
AuthManager自动完成握手,无需用户记忆任何口令。
共享目录的网页地址。手机扫码即可在浏览器打开该目录(未开启授权为明文 HTTP,
无证书告警);点击二维码弹出大图预览(含地址与「复制地址」按钮)。进入
远程浏览时该二维码自动禁用。「添加客户端」入口已并入下拉框的末项
「+ 添加客户端…」,选中即可查找并连接其它设备。
编译依赖
Core/Widgets/Network/HttpServerCore/Gui/Widget/Logopenssl编译与安装
安装后也可从应用菜单启动(桌面项名称为「DShare」)。
使用方法
1. 本地管理共享目录
启动后默认进入本机
~/myshare(不存在会自动创建)。通过工具栏即可:返回上级/新建文件夹/刷新/复制/粘贴2. 通过浏览器共享 / 访问
http://<你的IP>:5000,开启授权 为https://<你的IP>:5000,把该地址发给同局域网的其他人即可。
选择「继续访问」即可(证书仅用于加密授权凭据,不提供第三方信任链);
未开启授权 时为明文 HTTP,可直接访问、无安全提示。
3. 发现并连接其它设备
添加,弹出「查找」对话框。.*匹配全部),点击「查找」。拉框末项「+ 添加客户端…」触发查找对话框。
4. 与远程设备互传文件
在「机器」下拉框选择某台远程设备后:
窗口,显示当前文件、整体进度、实时速度,并可随时取消。
也不会把整个文件读进内存。
5. 开启访问授权
打开顶部的「访问需授权」开关:
机器名与 IP,可选择「允许」或「拒绝」。
用明文 HTTP,浏览器等访问不再有证书告警。协议随开关自动切换并重启服务。
6. 手机扫码访问当前目录
地址栏「机器」下拉框右侧显示本机当前共享目录对应的网页二维码:
http://<本机IP>:5000/browse/...(无证书告警),开启授权为https://<本机IP>:5000/browse/...。复制到剪贴板,方便发给他人。
对方的目录、而非本机共享。
协议 / 端口一览
239.255.42.99目录结构
License
本程序以 GNU General Public License v3 (GPL-3.0) 发布,详见仓库根目录的
LICENSE文件。程序截图:
桌面端主界面:
当打开授权开关时,需要共享端同意才能访问(默认关闭,不需要授权):
手机端不需要安装任何软件,直接使用浏览器即可上传、下载文件:
客户端之间直接就能互相浏览共享文件(如果开启了需授权开关,也是需要对方同意才能访问):
开发过程说明:
软件完全使用codebuddy+dtk-development skill用自然语言对话开发,没有一点手工编辑代码,以下是完整对话记录:
session.txt
session-2026-08-22.txt
session-2026-09-01.txt