# clouds_webdav **Repository Path**: snail_tech/clouds_webdav ## Basic Information - **Project Name**: clouds_webdav - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-17 - **Last Updated**: 2025-11-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 天翼云 WebDAV 服务器 一个功能强大的天翼云存储 WebDAV 接口服务,支持多种客户端访问和完整的用户管理功能。 ## 🚀 项目特性 - ✅ **WebDAV 协议支持** - 完整的 WebDAV 协议实现 - ✅ **天翼云集成** - 直接连接天翼云存储服务 - ✅ **用户管理系统** - 完整的用户账户管理功能 - ✅ **权限控制** - 细粒度的文件访问权限控制 - ✅ **多客户端支持** - 支持各种 WebDAV 客户端 - ✅ **命令行工具** - 丰富的命令行管理工具 - ✅ **Web 管理界面** - 直观的 Web 管理控制台 ## 📦 快速开始 ### 环境要求 - Python 3.8+ - MySQL/MariaDB 数据库 - 天翼云账号 ### 安装依赖 ```bash # 克隆项目 git clone cd tianyi_webdav # 安装依赖 pip install -r requirements.txt ``` ### 配置环境 ```bash # 复制配置文件 cp .env.example .env # 编辑配置文件 # 配置数据库连接、天翼云账号等信息 ``` ### 初始化数据库 ```bash # 初始化数据库结构和基础数据 python main.py db init # 创建管理员账户 python main.py account add --username admin --password admin123 ``` ## 🖥️ 服务启动 ### 基本启动 ```bash # 默认启动 (端口 8080) python main.py start # 指定端口启动 python main.py start --port 8081 # 指定主机和端口 python main.py start --host 0.0.0.0 --port 8081 # WebDAV 模式启动 python main.py start --mode webdav # 调试模式启动 python main.py start --debug ``` ### 生产环境启动 ```bash # 使用 Uvicorn 启动 (推荐生产环境) uvicorn main:create_unified_app --host 0.0.0.0 --port 8081 --factory ``` ## 👥 用户管理 本系统提供完整的用户管理功能,支持通过命令行进行用户操作。 ### 查看帮助 ```bash python main.py user --help ``` ### 用户操作命令 #### 列出所有用户 ```bash python main.py user list ``` #### 添加新用户 ```bash # 添加用户(默认全部权限) python main.py user add --username testuser --password password123 --root-path /testuser # 添加只读用户 python main.py user add --username readonly --password readonly123 --root-path /readonly --no-write --no-delete # 添加无删除权限用户 python main.py user add --username nodeluser --password nodeluser123 --root-path /nodel --no-delete ``` #### 查找用户 ```bash python main.py user find --username testuser ``` #### 重置用户密码 ```bash python main.py user reset-password --username testuser --password newpassword123 ``` #### 禁用/启用用户 ```bash # 禁用用户 python main.py user disable --username testuser # 启用用户 python main.py user enable --username testuser ``` #### 修改用户权限 ```bash # 设置为只读权限 python main.py user permissions --username testuser --read true --write false --delete false # 恢复全部权限 python main.py user permissions --username testuser --read true --write true --delete true ``` #### 删除用户 ```bash # 交互式删除(需要确认) python main.py user delete --username testuser # 强制删除(无需确认) python main.py user delete --username testuser --force ``` ## 🌐 客户端连接 ### WebDAV 连接地址 - **服务地址**: `http://127.0.0.1:8080` - **WebDAV 地址**: `http://127.0.0.1:8080/dav` ### 客户端配置 #### Windows 文件资源管理器 1. 打开文件资源管理器 2. 在地址栏输入:`http://127.0.0.1:8080/dav` 3. 输入用户名和密码 #### macOS Finder 1. 打开 Finder 2. 按 `Cmd + K` 或选择 "前往" → "连接服务器" 3. 输入服务器地址:`http://127.0.0.1:8080/dav` 4. 输入用户名和密码 #### Linux ```bash # 使用 davfs2 挂载 sudo mount -t davfs http://127.0.0.1:8080/dav /mnt/webdav # 或使用 cadaver 命令行客户端 cadaver http://127.0.0.1:8080/dav ``` ### 推荐客户端 #### 桌面客户端 - **Windows**: WinSCP, Cyberduck, NetDrive - **macOS**: Cyberduck, Mountain Duck, Transmit - **Linux**: Nautilus, Dolphin, Thunar (内置 WebDAV 支持) #### 移动客户端 - **iOS**: Documents by Readdle, FileBrowser - **Android**: Solid Explorer, FX File Explorer ## 🔧 命令行工具 ### 数据库管理 ```bash # 初始化数据库 python main.py db init # 检查数据库状态 python main.py db status # 清理数据库 python main.py db clean ``` ### 账户管理 ```bash # 列出所有账户 python main.py account list # 添加账户 python main.py account add --username admin --password admin123 # 删除账户 python main.py account remove --username admin # 测试账户 python main.py account test --username admin ``` ### 配置管理 ```bash # 显示当前配置 python main.py config show # 测试配置 python main.py config test ``` ## 📁 项目结构 ``` tianyi_webdav/ ├── main.py # 主程序入口 ├── requirements.txt # 依赖包列表 ├── .env.example # 环境配置示例 ├── src/ # 源代码目录 │ ├── common/ # 公共模块 │ ├── extensions/ # 扩展工具 │ ├── models/ # 数据模型 │ ├── web/ # Web 服务 │ ├── vfs/ # 虚拟文件系统 │ └── clouds_sdk/ # 云存储 SDK ├── webdav_root/ # WebDAV 根目录 └── test/ # 测试文件 ``` ## 🔒 安全说明 - 默认使用基本认证(Basic Authentication) - 建议在生产环境中使用 HTTPS - 定期更新用户密码 - 合理设置用户权限 ## 📝 开发说明 ### 开发环境设置 ```bash # 安装开发依赖 pip install -r requirements.txt # 运行测试 python -m pytest test/ # 代码格式化 black src/ ``` ### 扩展开发 - 用户管理扩展:`src/extensions/user_manager.py` - 数据库模型:`src/models/` - Web API:`src/web/api/` ## 🆘 故障排除 ### 常见问题 1. **数据库连接失败** - 检查 `.env` 文件中的数据库配置 - 确认数据库服务正在运行 2. **端口被占用** - 使用 `--port` 参数指定其他端口 - 检查是否有其他服务占用端口 3. **用户认证失败** - 确认用户名和密码正确 - 检查用户是否被禁用 4. **文件上传失败** - 检查用户是否有写入权限 - 确认磁盘空间充足 ### 日志查看 ```bash # 查看服务日志 tail -f logs/webdav.log # 调试模式启动 python main.py start --debug ``` ## 📄 许可证 本项目采用 MIT 许可证,详见 LICENSE 文件。 ## 🤝 贡献 欢迎提交 Issue 和 Pull Request 来改进项目。 --- **最后更新**: 2025-09-26