Skip to content

Commit 5cd06e9

Browse files
committed
更新 README.md
1 parent 75e02bb commit 5cd06e9

File tree

1 file changed

+155
-1
lines changed

1 file changed

+155
-1
lines changed

README.md

Lines changed: 155 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,155 @@
1-
# toalist
1+
# Toalist
2+
3+
Toalist 是一个基于 Go 语言开发的 Web 应用程序,用于管理和操作 Alist 文件系统。该项目使用 Gin 框架构建,提供了简单易用的 Web 界面来管理文件。
4+
5+
## 功能特性
6+
7+
- 支持文件上传(支持流式上传和表单上传两种模式)
8+
- 集成 Alist 文件系统
9+
- 安全的密码加密机制(支持 MD5 和 AES 加密)
10+
- 基于 JWT 的身份认证
11+
- 响应式 Web 界面
12+
- 配置文件支持(使用 INI 格式)
13+
14+
## 系统要求
15+
16+
- Go 1.24.0 或更高版本
17+
- 支持的操作系统:Windows、Linux、macOS
18+
19+
## 安装说明
20+
21+
1. 克隆项目
22+
```bash
23+
git clone https://github.com/lovebai/toalist.git
24+
cd toalist
25+
```
26+
27+
2. 安装依赖
28+
```bash
29+
go mod download
30+
```
31+
32+
3. 配置
33+
- 复制 `conf.ini` 文件并根据需要修改配置
34+
- 使用以下命令生成管理员密码:
35+
```bash
36+
go run main.go -md5 "你的密码"
37+
```
38+
- 使用以下命令加密 Alist 用户密码:
39+
```bash
40+
go run main.go -aes "需要加密的密码"
41+
```
42+
43+
4. 编译运行
44+
```bash
45+
go build
46+
./toalist
47+
```
48+
49+
## 项目结构
50+
51+
```
52+
toalist/
53+
├── conf/ # 配置相关代码
54+
├── controller/ # 控制器
55+
├── router/ # 路由定义
56+
├── utils/ # 工具函数
57+
├── views/ # 前端模板
58+
├── i/ # 静态资源
59+
├── conf.ini # 配置文件
60+
├── main.go # 主程序入口
61+
├── go.mod # Go 模块定义
62+
└── go.sum # 依赖版本锁定
63+
```
64+
65+
## 配置说明
66+
67+
配置文件 `conf.ini` 采用 INI 格式,包含以下主要配置项:
68+
69+
### 基础配置 [base]
70+
```ini
71+
[base]
72+
mode = release # 运行模式:release(生产)或 debug(调试)
73+
host = 0.0.0.0 # 服务器监听地址,0.0.0.0 表示监听所有网络接口
74+
port = 5245 # 服务器监听端口
75+
url = http://127.0.0.1:5245 # 服务器访问地址
76+
```
77+
78+
### Alist 配置 [alist]
79+
```ini
80+
[alist]
81+
alist_url = http://10.10.11.143:5244 # Alist 服务器地址
82+
alist_api_url = http://10.10.11.143:5244 # Alist API 地址
83+
alist_username = admin # Alist 用户名
84+
alist_password = [加密后的密码] # Alist 密码(使用 AES 加密)
85+
alist_path = /test # Alist 存储路径
86+
```
87+
88+
### 上传配置 [upload]
89+
```ini
90+
[upload]
91+
upload_method = form # 上传方式:form(表单上传)或 stream(流式上传)
92+
allow_types = jpg,jpeg,png,... # 允许上传的文件类型,用逗号分隔
93+
max_file_size = 50 # 最大文件大小(单位:MB)
94+
keep_original_name = false # 是否保持原始文件名
95+
local_upload_path = /i # 本地文件上传路径
96+
```
97+
98+
### 登录配置 [login]
99+
```ini
100+
[login]
101+
username = admin # 管理员用户名
102+
password = [MD5加密后的密码] # 管理员密码(使用 MD5 加密)
103+
admin_page = /manager # 管理页面路径
104+
```
105+
106+
### 配置说明
107+
108+
1. **密码加密**
109+
- 管理员密码使用 MD5 加密,可通过命令行生成:
110+
```bash
111+
go run main.go -md5 "你的密码"
112+
```
113+
- Alist 密码使用 AES 加密,可通过命令行生成:
114+
```bash
115+
go run main.go -aes "需要加密的密码"
116+
```
117+
118+
2. **上传方式**
119+
- `form`:使用传统的表单上传,适合小文件
120+
- `stream`:使用流式上传,适合大文件
121+
122+
3. **文件类型限制**
123+
- 默认支持的文件类型包括:jpg、jpeg、png、gif、pdf、doc、docx、xls、xlsx、ppt、pptx、txt、zip、rar、7z
124+
- 可以根据需要在 `allow_types` 中修改
125+
126+
4. **安全建议**
127+
- 生产环境中建议修改默认端口
128+
- 使用强密码并定期更换
129+
- 限制 `allow_types` 只包含必要的文件类型
130+
- 根据实际需求设置合适的 `max_file_size`
131+
132+
## 使用说明
133+
134+
1. 启动服务后,访问 `http://localhost:端口号` 进入 Web 界面
135+
2. 使用配置的管理员账号登录
136+
3. 通过 Web 界面上传和管理文件
137+
138+
## 开发说明
139+
140+
- 使用 `go mod` 管理依赖
141+
- 遵循 Go 标准项目布局
142+
- 使用 Gin 框架处理 HTTP 请求
143+
- 使用 JWT 进行身份认证
144+
145+
## 许可证
146+
147+
[MIT License](LICENSE)
148+
149+
## 贡献指南
150+
151+
欢迎提交 Issue 和 Pull Request 来帮助改进项目。
152+
153+
## 联系方式
154+
155+
如有问题或建议,请通过 GitHub Issues 提交。

0 commit comments

Comments
 (0)