# CloudPicHost **Repository Path**: ops30/cloud-pic-host ## Basic Information - **Project Name**: CloudPicHost - **Description**: 基于多家对象存储服务的 Golang 开源图片托管程序 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 3 - **Created**: 2020-08-13 - **Last Updated**: 2024-08-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CloudPicHost CloudPicHost是一个基于多家对象存储服务的 Golang 开源图片托管程序,使用 Gin 框架构建。项目支持集成多种对象存储服务,包括 Minio、阿里云 OSS、腾讯云 COS、又拍云和七牛云。用户可以通过后台管理配置多个存储源,以及进行图片鉴黄等操作。 ## 主要功能 - **图片上传**:支持图片拖拽、截图软件直接粘贴(Ctrl+V)上传。 - **多存储平台支持**:可对接 Minio、阿里云、又拍云、七牛云、腾讯云等对象存储平台。 - **安全与管理**: - 记录上传者 IP - 链接生成二维码 - 提供 URL 列表、缩略图查看和原图访问 - 配置图片鉴黄 - 游客和用户的上传管理 - **站点设置**:包括上传规则配置和其他站点相关设置。 ## 运行环境 - Go 1.14+ - MySQL 5.5+ 或 SQLite3 ## 安装与配置 ### 1. 下载项目 ```bash git clone https://github.com/cilidm/mybed.git ``` ### 2. 配置数据库 创建一个字符集为 `utf8` 的数据库,排序规则选择 `utf8_general_ci`。修改 `conf` 文件夹下的 `app.ini` 文件: - **MySQL**: 配置 `[database]` 下的 `DBUser`、`DBPwd`、`DBHost`、`DBTableName` - **SQLite3**: 将 `DBType` 改为 `sqlite3`,并设置 `DBPath` 为数据文件保存地址 ### 3. 启动项目 在项目根目录执行以下命令下载依赖并启动服务器: ```bash go mod tidy go run main.go ``` 初始用户名和密码均为 `admin`。启动后,访问 [http://localhost:8000](http://localhost:8000)(端口号可在配置文件中修改)。 ## 配置文件说明 ```ini [runMode] RunMode = debug # 运行模式:debug 或 release [server] HTTPPort = 8000 # 服务运行端口 ReadTimeout = 60 # 读超时时间(秒) WriteTimeout = 60 # 写超时时间(秒) [app] PageSize = 9 # 分页默认每页数据条数 JwtSecret = 23347$040412 # JWT 加密密钥 UploadTmpDir = "static/upload" # 上传临时文件夹路径 [database] DBType = mysql # 数据库类型 DBUser = root # 数据库用户名 DBPwd = 123456 # 数据库密码 DBHost = 127.0.0.1:3306 # 数据库地址及端口 DBTableName = mytbed # 数据库表名 DBPath = mybed.db # SQLite3 数据文件路径 [redis] RedisAddr = 127.0.0.1:6379 # Redis 地址 RedisPWD = # Redis 密码 RedisDB = # Redis 数据库 ``` ## 声明 本程序部分功能尚未完善,开放图床功能时请注意配置图像审核功能。默认使用百度图像审核,请在设置中填写相应的 Key 和 Secret。 ## 反馈与交流 如遇到问题,请提交 issue。