Name | servefs JSON |
Version |
0.2.5
JSON |
| download |
home_page | None |
Summary | A modern HTTP file server with web UI |
upload_time | 2025-07-28 04:59:32 |
maintainer | None |
docs_url | None |
author | Your Name |
requires_python | <4.0,>=3.8 |
license | None |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# ServeFS
[English](README_EN.md)
一个基于 FastAPI 和 Vue.js 的简单文件服务器,支持文件和文件夹的上传、预览和管理。

更多截图查看 [GALLERY](GALERY.md)
## 功能特点
- 📁 文件和文件夹浏览
- 📤 支持文件和文件夹上传
- 🖼️ 图片文件预览
- 🗑️ 文件和文件夹删除
- 📊 文件大小显示
- 🔄 实时进度显示
- 💫 拖放上传支持
- 🖥️ 命令行界面支持
## 预览功能
- .jpg、.jpeg、.png、.gif、.webp 图片预览。
- .json、.html、.css、.txt、.md、.py 以文本格式预览。
- .ttf 字体文件预览。
## 安装
推荐使用 `pipx` 安装(保证依赖隔离):
```bash
pipx install servefs
```
或使用 pip:
```bash
pip install servefs
```
## 使用
### 命令行
```bash
# 在当前目录启动服务器
servefs
# 指定目录
servefs --directory /path/to/directory
# or
servefs -d /path/to/directory
# 指定端口
servefs --port 7001
# or
servefs -p 7001
# 显示帮助
servefs --help
```
完整命令行选项:
```
选项:
-d, --directory TEXT 要服务的根目录 [default: .]
-h, --host TEXT 绑定的主机地址 [default: 0.0.0.0]
-p, --port INTEGER 绑定的端口号 [default: 8000]
-b, --basic-auth TEXT 启用基本认证,格式为 username:password
-v, --version 显示版本号并退出
--help 显示帮助信息并退出
```
### 基本认证
你可以使用基本认证来限制文件的访问权限:
```bash
# 设置用户名和密码
servefs --basic-auth admin:password123
# 或使用短选项
servefs -b admin:password123
```
启用基本认证后:
- 未认证用户只能查看和下载文件
- 认证用户可以执行所有操作(上传、删除、重命名等)
- 认证信息会通过浏览器的基本认证机制传输
你也可以通过环境变量设置认证信息:
```bash
export SERVEFS_BASIC_AUTH=admin:password123
servefs
```
## 开发
如果你想参与开发,请查看 [开发指南](DEVELOP.md)。
## TODO
- [x] 支持文件重命名
- [x] 支持链接复制
- [x] 添加用户认证
- [ ] 支持文件搜索
- [ ] 支持文件分享
## 相关项目
- https://github.com/Densaugeo/uploadserver 如果只是要上传,下载这个应该就够了
- https://github.com/codeskyblue/gohttpserver 我以前用Golang写的一个版本,现在的项目也是参考的这个
- https://github.com/sigoden/dufs Rust实现的文件服务器,支持文件预览,编辑
- https://github.com/TheWaWaR/simple-http-server 也是Rust写的,比上面那个简单些
- https://min.io 重量级项目,golang实现
## 感谢
- Windsurf
Raw data
{
"_id": null,
"home_page": null,
"name": "servefs",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": null,
"author": "Your Name",
"author_email": "your.email@example.com",
"download_url": "https://files.pythonhosted.org/packages/12/ed/592a3847e1c2648ed6b3b64cf96624dd49f475c15ccaf85754166c91c62c/servefs-0.2.5.tar.gz",
"platform": null,
"description": "# ServeFS\n\n[English](README_EN.md)\n\n\u4e00\u4e2a\u57fa\u4e8e FastAPI \u548c Vue.js \u7684\u7b80\u5355\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u652f\u6301\u6587\u4ef6\u548c\u6587\u4ef6\u5939\u7684\u4e0a\u4f20\u3001\u9884\u89c8\u548c\u7ba1\u7406\u3002\n\n\n\n\u66f4\u591a\u622a\u56fe\u67e5\u770b [GALLERY](GALERY.md)\n\n## \u529f\u80fd\u7279\u70b9\n\n- \ud83d\udcc1 \u6587\u4ef6\u548c\u6587\u4ef6\u5939\u6d4f\u89c8\n- \ud83d\udce4 \u652f\u6301\u6587\u4ef6\u548c\u6587\u4ef6\u5939\u4e0a\u4f20\n- \ud83d\uddbc\ufe0f \u56fe\u7247\u6587\u4ef6\u9884\u89c8\n- \ud83d\uddd1\ufe0f \u6587\u4ef6\u548c\u6587\u4ef6\u5939\u5220\u9664\n- \ud83d\udcca \u6587\u4ef6\u5927\u5c0f\u663e\u793a\n- \ud83d\udd04 \u5b9e\u65f6\u8fdb\u5ea6\u663e\u793a\n- \ud83d\udcab \u62d6\u653e\u4e0a\u4f20\u652f\u6301\n- \ud83d\udda5\ufe0f \u547d\u4ee4\u884c\u754c\u9762\u652f\u6301\n\n## \u9884\u89c8\u529f\u80fd\n\n- .jpg\u3001.jpeg\u3001.png\u3001.gif\u3001.webp \u56fe\u7247\u9884\u89c8\u3002\n- .json\u3001.html\u3001.css\u3001.txt\u3001.md\u3001.py \u4ee5\u6587\u672c\u683c\u5f0f\u9884\u89c8\u3002\n- .ttf \u5b57\u4f53\u6587\u4ef6\u9884\u89c8\u3002\n\n## \u5b89\u88c5\n\n\u63a8\u8350\u4f7f\u7528 `pipx` \u5b89\u88c5\uff08\u4fdd\u8bc1\u4f9d\u8d56\u9694\u79bb\uff09\uff1a\n\n```bash\npipx install servefs\n```\n\n\u6216\u4f7f\u7528 pip\uff1a\n\n```bash\npip install servefs\n```\n\n## \u4f7f\u7528\n\n### \u547d\u4ee4\u884c\n\n```bash\n# \u5728\u5f53\u524d\u76ee\u5f55\u542f\u52a8\u670d\u52a1\u5668\nservefs\n\n# \u6307\u5b9a\u76ee\u5f55\nservefs --directory /path/to/directory\n# or\nservefs -d /path/to/directory\n\n# \u6307\u5b9a\u7aef\u53e3\nservefs --port 7001\n# or\nservefs -p 7001\n\n# \u663e\u793a\u5e2e\u52a9\nservefs --help\n```\n\n\u5b8c\u6574\u547d\u4ee4\u884c\u9009\u9879\uff1a\n\n```\n\u9009\u9879:\n -d, --directory TEXT \u8981\u670d\u52a1\u7684\u6839\u76ee\u5f55 [default: .]\n -h, --host TEXT \u7ed1\u5b9a\u7684\u4e3b\u673a\u5730\u5740 [default: 0.0.0.0]\n -p, --port INTEGER \u7ed1\u5b9a\u7684\u7aef\u53e3\u53f7 [default: 8000]\n -b, --basic-auth TEXT \u542f\u7528\u57fa\u672c\u8ba4\u8bc1\uff0c\u683c\u5f0f\u4e3a username:password\n -v, --version \u663e\u793a\u7248\u672c\u53f7\u5e76\u9000\u51fa\n --help \u663e\u793a\u5e2e\u52a9\u4fe1\u606f\u5e76\u9000\u51fa\n```\n\n### \u57fa\u672c\u8ba4\u8bc1\n\n\u4f60\u53ef\u4ee5\u4f7f\u7528\u57fa\u672c\u8ba4\u8bc1\u6765\u9650\u5236\u6587\u4ef6\u7684\u8bbf\u95ee\u6743\u9650\uff1a\n\n```bash\n# \u8bbe\u7f6e\u7528\u6237\u540d\u548c\u5bc6\u7801\nservefs --basic-auth admin:password123\n\n# \u6216\u4f7f\u7528\u77ed\u9009\u9879\nservefs -b admin:password123\n```\n\n\u542f\u7528\u57fa\u672c\u8ba4\u8bc1\u540e\uff1a\n- \u672a\u8ba4\u8bc1\u7528\u6237\u53ea\u80fd\u67e5\u770b\u548c\u4e0b\u8f7d\u6587\u4ef6\n- \u8ba4\u8bc1\u7528\u6237\u53ef\u4ee5\u6267\u884c\u6240\u6709\u64cd\u4f5c\uff08\u4e0a\u4f20\u3001\u5220\u9664\u3001\u91cd\u547d\u540d\u7b49\uff09\n- \u8ba4\u8bc1\u4fe1\u606f\u4f1a\u901a\u8fc7\u6d4f\u89c8\u5668\u7684\u57fa\u672c\u8ba4\u8bc1\u673a\u5236\u4f20\u8f93\n\n\u4f60\u4e5f\u53ef\u4ee5\u901a\u8fc7\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e\u8ba4\u8bc1\u4fe1\u606f\uff1a\n\n```bash\nexport SERVEFS_BASIC_AUTH=admin:password123\nservefs\n```\n\n## \u5f00\u53d1\n\n\u5982\u679c\u4f60\u60f3\u53c2\u4e0e\u5f00\u53d1\uff0c\u8bf7\u67e5\u770b [\u5f00\u53d1\u6307\u5357](DEVELOP.md)\u3002\n\n## TODO\n\n- [x] \u652f\u6301\u6587\u4ef6\u91cd\u547d\u540d\n- [x] \u652f\u6301\u94fe\u63a5\u590d\u5236\n- [x] \u6dfb\u52a0\u7528\u6237\u8ba4\u8bc1\n- [ ] \u652f\u6301\u6587\u4ef6\u641c\u7d22\n- [ ] \u652f\u6301\u6587\u4ef6\u5206\u4eab\n\n## \u76f8\u5173\u9879\u76ee\n- https://github.com/Densaugeo/uploadserver \u5982\u679c\u53ea\u662f\u8981\u4e0a\u4f20\uff0c\u4e0b\u8f7d\u8fd9\u4e2a\u5e94\u8be5\u5c31\u591f\u4e86\n- https://github.com/codeskyblue/gohttpserver \u6211\u4ee5\u524d\u7528Golang\u5199\u7684\u4e00\u4e2a\u7248\u672c\uff0c\u73b0\u5728\u7684\u9879\u76ee\u4e5f\u662f\u53c2\u8003\u7684\u8fd9\u4e2a\n- https://github.com/sigoden/dufs Rust\u5b9e\u73b0\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u652f\u6301\u6587\u4ef6\u9884\u89c8\uff0c\u7f16\u8f91\n- https://github.com/TheWaWaR/simple-http-server \u4e5f\u662fRust\u5199\u7684\uff0c\u6bd4\u4e0a\u9762\u90a3\u4e2a\u7b80\u5355\u4e9b\n- https://min.io \u91cd\u91cf\u7ea7\u9879\u76ee\uff0cgolang\u5b9e\u73b0\n\n## \u611f\u8c22\n\n- Windsurf\n",
"bugtrack_url": null,
"license": null,
"summary": "A modern HTTP file server with web UI",
"version": "0.2.5",
"project_urls": {
"Homepage": "https://github.com/codeskyblue/servefs"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f7a87c022585bc15bec4e11b8d7177f9f7e01a64c01cd28b469ca63ff1d5e591",
"md5": "2f31354fa1de6b3de64f818ad0d71639",
"sha256": "778ad7aae4a42c0fa42b98391597acc9dd5484840b36415cf685b0630d4e7df0"
},
"downloads": -1,
"filename": "servefs-0.2.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2f31354fa1de6b3de64f818ad0d71639",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 1120988,
"upload_time": "2025-07-28T04:59:30",
"upload_time_iso_8601": "2025-07-28T04:59:30.475553Z",
"url": "https://files.pythonhosted.org/packages/f7/a8/7c022585bc15bec4e11b8d7177f9f7e01a64c01cd28b469ca63ff1d5e591/servefs-0.2.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "12ed592a3847e1c2648ed6b3b64cf96624dd49f475c15ccaf85754166c91c62c",
"md5": "c1191ca384e7e52d7c142a1e49cf0c8e",
"sha256": "a6b331f4a8a937d3b826d72467d2669f649dae71737f06f97dd88bba769253d0"
},
"downloads": -1,
"filename": "servefs-0.2.5.tar.gz",
"has_sig": false,
"md5_digest": "c1191ca384e7e52d7c142a1e49cf0c8e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 1108449,
"upload_time": "2025-07-28T04:59:32",
"upload_time_iso_8601": "2025-07-28T04:59:32.224727Z",
"url": "https://files.pythonhosted.org/packages/12/ed/592a3847e1c2648ed6b3b64cf96624dd49f475c15ccaf85754166c91c62c/servefs-0.2.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-28 04:59:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "codeskyblue",
"github_project": "servefs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "servefs"
}