6286332896fed12b764188f9bc9aceb8e33d21da
Some checks are pending
Release Binaries / Build and Release (.exe, amd64, windows, windows-amd64) (push) Waiting to run
Release Binaries / Build and Release (amd64, darwin, darwin-amd64) (push) Waiting to run
Release Binaries / Build and Release (amd64, linux, linux-amd64) (push) Waiting to run
Release Binaries / Build and Release (arm64, darwin, darwin-arm64) (push) Waiting to run
Release Binaries / Build and Release (arm64, linux, linux-arm64) (push) Waiting to run
🤖 Generated with [Qoder][https://qoder.com]
UShare
一个简单易用的文件分享工具,支持大文件分片上传下载,以及局域网内 P2P 文件分享。
功能特性
- 📁 大文件分片上传下载
- 🌐 网页端文件分享
- 🏠 局域网 P2P 文件分享(WebRTC)
- 📱 响应式设计,支持移动端
- 🔐 简单的用户认证
- 🚀 单一二进制,开箱即用
- 🐳 Docker 支持
快速开始
开发模式
# 克隆仓库
git clone https://github.com/loveuer/ushare.git
cd ushare
# 启动开发服务器
./dev.sh
开发服务器会同时启动后端(http://0.0.0.0:9119)和前端(http://0.0.0.0:5173),前端支持热重载。
生产模式
使用预编译二进制
从 Releases 下载对应平台的二进制文件。
# Linux amd64
wget https://github.com/loveuer/ushare/releases/download/v0.3.2/ushare-linux-amd64
chmod +x ushare-linux-amd64
# 运行
./ushare-linux-amd64 -data ./data
从源码构建
# 构建单一二进制(包含嵌入的前端)
./make.sh
# 运行
./dist/ushare -data ./data
Docker 部署
docker build -t ushare:latest .
docker run -d -p 80:80 -v $(pwd)/data:/data ushare:latest
配置
命令行参数
ushare [options]
Options:
-debug 启用调试模式
-address string 监听地址 (default "0.0.0.0:9119")
-data string 数据目录 (default "/data")
-clean int 文件清理周期,单位:小时,0 表示不自动清理 (default 24)
环境变量
| 环境变量 | 说明 | 默认值 |
|---|---|---|
USHARE_USERNAME |
用户名 | admin |
USHARE_PASSWORD |
密码 | ushare@123 |
示例
# 使用默认凭据(admin / ushare@123)
./ushare -data ./data
# 使用自定义凭据
export USHARE_USERNAME=myuser
export USHARE_PASSWORD=mypass
./ushare -data ./data
使用说明
文件分享
- 访问 http://localhost:9119/share
- 点击"选择文件"选择要上传的文件
- 点击"上传文件",等待上传完成
- 复制生成的下载码分享给他人
文件下载
- 访问 http://localhost:9119/share
- 在"获取文件"区域输入下载码
- 点击"获取文件"下载文件
局域网 P2P 分享
- 访问 http://localhost:9119
- 自动注册到局域网设备列表
- 选择要分享的设备,建立 P2P 连接
- 开始文件传输
移动端支持
- 响应式设计,自动适配手机、平板等设备
- 移动端(≤768px)采用垂直布局,优化触摸操作
- 按钮尺寸优化,适合手指点击
开发
目录结构
ushare/
├── internal/ # 后端代码
│ ├── api/ # HTTP API 路由
│ ├── controller/ # 业务逻辑
│ ├── handler/ # 请求处理器
│ ├── model/ # 数据模型
│ ├── opt/ # 配置管理
│ └── pkg/ # 工具包
├── frontend/ # 前端代码
│ └── src/
│ ├── api/ # API 调用
│ ├── component/ # UI 组件
│ ├── hook/ # 自定义 Hooks
│ ├── page/ # 页面组件
│ └── store/ # 状态管理
├── .github/workflows/ # GitHub Actions
├── dist/ # 构建输出(.gitignore)
└── data/ # 数据目录(.gitignore)
构建
# 开发构建(前后端分离)
./dev.sh
# 生产构建(单一二进制)
./make.sh
代码风格
请参考 AGENTS.md 了解代码风格指南。
License
MIT License
贡献
欢迎提交 Issue 和 Pull Request!
Description
Languages
TypeScript
56.7%
Go
30.8%
HTML
9.8%
Shell
1.7%
Dockerfile
0.5%
Other
0.5%