{"id":27654356,"url":"https://github.com/codeskyblue/servefs","last_synced_at":"2025-04-24T05:55:29.676Z","repository":{"id":276315679,"uuid":"928907975","full_name":"codeskyblue/servefs","owner":"codeskyblue","description":"file server written with python(fastapi), which support upload,delete,preview,edit","archived":false,"fork":false,"pushed_at":"2025-02-24T12:53:55.000Z","size":2081,"stargazers_count":29,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-24T05:55:24.724Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codeskyblue.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-07T13:08:32.000Z","updated_at":"2025-04-11T01:11:39.000Z","dependencies_parsed_at":"2025-02-07T14:26:58.938Z","dependency_job_id":"dc83994e-a14c-4227-82ac-7cbe4752fd13","html_url":"https://github.com/codeskyblue/servefs","commit_stats":null,"previous_names":["codeskyblue/servefs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeskyblue%2Fservefs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeskyblue%2Fservefs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeskyblue%2Fservefs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeskyblue%2Fservefs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codeskyblue","download_url":"https://codeload.github.com/codeskyblue/servefs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250573357,"owners_count":21452347,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-24T05:55:29.134Z","updated_at":"2025-04-24T05:55:29.665Z","avatar_url":"https://github.com/codeskyblue.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ServeFS\n\n[English](README_EN.md)\n\n一个基于 FastAPI 和 Vue.js 的简单文件服务器，支持文件和文件夹的上传、预览和管理。\n\n![screenshot](docs/servefs.png)\n\n更多截图查看 [GALLERY](GALERY.md)\n\n## 功能特点\n\n- 📁 文件和文件夹浏览\n- 📤 支持文件和文件夹上传\n- 🖼️ 图片文件预览\n- 🗑️ 文件和文件夹删除\n- 📊 文件大小显示\n- 🔄 实时进度显示\n- 💫 拖放上传支持\n- 🖥️ 命令行界面支持\n\n## 预览功能\n\n- .jpg、.jpeg、.png、.gif、.webp 图片预览。\n- .json、.html、.css、.txt、.md、.py 以文本格式预览。\n- .ttf 字体文件预览。\n\n## 安装\n\n推荐使用 `pipx` 安装（保证依赖隔离）：\n\n```bash\npipx install servefs\n```\n\n或使用 pip：\n\n```bash\npip install servefs\n```\n\n## 使用\n\n### 命令行\n\n```bash\n# 在当前目录启动服务器\nservefs\n\n# 指定目录\nservefs --directory /path/to/directory\n# or\nservefs -d /path/to/directory\n\n# 指定端口\nservefs --port 7001\n# or\nservefs -p 7001\n\n# 显示帮助\nservefs --help\n```\n\n完整命令行选项：\n\n```\n选项:\n  -d, --directory TEXT     要服务的根目录 [default: .]\n  -h, --host TEXT     绑定的主机地址 [default: 0.0.0.0]\n  -p, --port INTEGER  绑定的端口号 [default: 8000]\n  -b, --basic-auth TEXT  启用基本认证，格式为 username:password\n  -v, --version       显示版本号并退出\n  --help             显示帮助信息并退出\n```\n\n### 基本认证\n\n你可以使用基本认证来限制文件的访问权限：\n\n```bash\n# 设置用户名和密码\nservefs --basic-auth admin:password123\n\n# 或使用短选项\nservefs -b admin:password123\n```\n\n启用基本认证后：\n- 未认证用户只能查看和下载文件\n- 认证用户可以执行所有操作（上传、删除、重命名等）\n- 认证信息会通过浏览器的基本认证机制传输\n\n你也可以通过环境变量设置认证信息：\n\n```bash\nexport SERVEFS_BASIC_AUTH=admin:password123\nservefs\n```\n\n## 开发\n\n如果你想参与开发，请查看 [开发指南](DEVELOP.md)。\n\n## TODO\n\n- [x] 支持文件重命名\n- [x] 支持链接复制\n- [x] 添加用户认证\n- [ ] 支持文件搜索\n- [ ] 支持文件分享\n\n## 相关项目\n- https://github.com/Densaugeo/uploadserver 如果只是要上传，下载这个应该就够了\n- https://github.com/codeskyblue/gohttpserver 我以前用Golang写的一个版本，现在的项目也是参考的这个\n- https://github.com/sigoden/dufs Rust实现的文件服务器，支持文件预览，编辑\n- https://github.com/TheWaWaR/simple-http-server 也是Rust写的，比上面那个简单些\n- https://min.io 重量级项目，golang实现\n\n## 感谢\n\n- Windsurf","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeskyblue%2Fservefs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodeskyblue%2Fservefs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeskyblue%2Fservefs/lists"}