MCPcopy Index your code
hub / github.com/Hello-hao/Tbed

github.com/Hello-hao/Tbed @20240319

Chat with this repo
repository ↗ · DeepWiki ↗ · release 20240319 ↗ · + Follow
912 symbols 2,309 edges 144 files 81 documented · 9%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Hellohao图像托管 - 也许这会是最优秀的图像托管程序

Visual Studio Marketplace Rating (Stars) https://img.shields.io/badge/license-AGPL-blue.svg?style=flat-square https://img.shields.io/badge/language-java-orange.svg?style=flat-square

赞助商

:exclamation: 托管的所有开源代码可能存在作者修改/测试/调整等行为,均为实验性代码,故并不保证程序或功能的可用性,如果你想要部署程序,请下载我们提供的编译整合包进行安装部署。

引导

官网 | 文档 | 演示站 | 桌面客户端 | 微信小程序 | 前端源码

前言

Hellohao图像托管程序(图床)这是一个由JAVA语言编写SpringBoot框架开发的开源图像托管程序。具备多对象存储源对接,采用前后端分离式设计的一款专门托管图像的程序,支持多种格式的图像 多功能的图床系统。该程序支持除了web端之外,同时支持客户端(win/mac),移动端(小程序)等常用全平台支持。

程序主要使用领域:个人照片存储团队共享图像博客/商城等网站图片托管图像批量云分享等。具备优秀的多用户图像上传功能和完善的图像查询管理逻辑,同时支持对接多家对象存储。

存储源支持:

开源版:本地,阿里OSS,又拍USS,七牛KODO,腾讯COS,网易NOS,FTP,AWS S3协议(百度云BOS,青云Qingstor,Ucloud US3,Minio等兼容S3协议)

Core版:开源版的基础上增加Backblaze(B2) 并且可同个对象存储商家可开多个存储源(可添加至90+存储源)

更新日志 20240130

  • 修复存储源设置不能设置请求域名问题
  • 优化上传逻辑,减少性能消耗
  • 修复多个上传文件时的已知BUG
  • 优化页面部分提示

主要功能

  • [x] 全端支持,不限于(web端/桌面端Windows/Mac/移动端小程序)

  • [x] 前后端分离式架构设计,部署更方便

  • [x] 个人相册浏览,图像详细资料展示卡片

  • [x] 支持 图片拖拽、截图直接(Ctrl+V)

  • [x] 支持URL地址批量上传

  • [x] 一键复制嵌入式链接代码,也可以自定义嵌入式代码格式

  • [x] 对接邮箱服务,注册/找回密码等功能

  • [x] 违规图像实时多线程鉴别

  • [x] 图片定期暂存

  • [x] 图片名称记录/修改

  • [x] 支持常见多种图像格式如:webp,ico,svg等等

  • [x] 支持画廊批量分享模式

  • [x] 账户图像查重上传

  • [x] 配置IP黑名单操作

  • [x] 站点上传可控API接口

  • [x] 设置用户可用容量

  • [x] 账户扩容码批量生成

  • [x] 细致的上传分发配置,分发群组功能

  • [x] 游客、用户的上传管理

  • [x] 图像直链二维码生成

快速开始

Docker-compose部署:

  1. 创建docker-compose.yml文件

在服务器的任意目录创建的文件夹中创建docker-compose.yml文件,内容如下:

(修改下方前端域名后端域名数据库密码等注释的信息,特别要注意文件格式缩进不可以乱改)

```yml version: "3" services: tbed-free: # 具体版本号需要填写目前发行的最新版本 image: hellohao/tbed-free:2023xxxx networks: hellohao_network: ports: - "10088:10088" - "10089:10089" volumes: - /HellohaoData/:/HellohaoData/ environment: MYSQL_URL: jdbc:mysql://hellohaodb/tbed?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai # 数据库用户名(一般使用本镜像数据库无需修改,如果使用外部三方数据库自行修改自己的用户名) MYSQL_USERNAME: root # 自定设置一个MySQL的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致 MYSQL_PASS: tIaNGg@SHa&hIo56 # 前端域名(反代10089端口的域名) HELLOHAO_WEB_HOST: http://pic.example.com # 后端域名(反代10088端口的域名) HELLOHAO_SERVER_HOST: http://server.example.com hellohaodb: image: hellohao/mysql-free:1.0 networks: hellohao_network: command: - --default-authentication-plugin=mysql_native_password - --character-set-server=utf8mb4 - --collation-server=utf8mb4_general_ci - --explicit_defaults_for_timestamp=true ports: - "3307:3306" volumes: - /HellohaoData/mysql:/var/lib/mysql environment: # MySQL的密码 MYSQL_ROOT_PASSWORD: tIaNGg@SHa&hIo56 networks: hellohao_network:

```

  1. 启动 Hellohao 服务

shell docker-compose up -d

更多部署教程参考程序相关文档

更强大的功能可购买Core版程序

启动项目

访问你的前端域名即可

初始用户名:admin 初始邮箱:admin 初始密码:admin

系统预览

首页

控制台详情

相册

多存储源

站点设置

桌面客户端(win/mac)

获取地址:官网获取

开源版/Core版 都可以使用 桌面客户端软件

微信小程序

仅适用于对接Core付费版,开源版暂不可对接使用。 获取地址:官网获取

Hellohao图像托管

运行环境

  • JDK 1.8
  • MySQL5.7+
  • Redis

所用技术

前端主要技术

  • vue
  • iview
  • vuex
  • axios

后端主要技术

  • SpringBoot
  • MyBatis
  • MySQL
  • Maven
  • JWT认证
  • Shiro

声明

Hellohao图像托管已申请中国国家版权局计算机软件著作权登记,受法律法规保护。

登记号:2023SR1210640

本项目遵循GNU Affero General Public License v3.0开源协议,使用前请悉知。 如果你想商用或程序定制,请先与我们联系,分享你的利益。

反馈交流

如果你遇到BUG欢迎反馈

更多

如需程序定制或其他业务,请与我们取得联系 Hellohao图像托管官网

Extension points exported contracts — how you extend this code

IVerifyCodeGen (Interface)
验证码生成接口 [2 implementers]
src/main/java/cn/hellohao/utils/verifyCode/IVerifyCodeGen.java
UserGroupService (Interface)
@author Hellohao @version 1.0 @date 2019/8/20 14:12 [2 implementers]
src/main/java/cn/hellohao/service/UserGroupService.java
SysConfigService (Interface)
@author Hellohao @version 1.0 @date 2019/8/15 13:46 [2 implementers]
src/main/java/cn/hellohao/service/SysConfigService.java
CodeService (Interface)
@author Hellohao @version 1.0 @date 2019-08-11 14:20 [2 implementers]
src/main/java/cn/hellohao/service/CodeService.java
AlbumService (Interface)
@author Hellohao @version 1.0 @date 2019-12-18 22:15 [2 implementers]
src/main/java/cn/hellohao/service/AlbumService.java

Core symbols most depended-on inside this repo

setInfo
called by 162
src/main/java/cn/hellohao/pojo/Msg.java
setCode
called by 160
src/main/java/cn/hellohao/pojo/Msg.java
getId
called by 75
src/main/java/cn/hellohao/pojo/User.java
toString
called by 70
src/main/java/cn/hellohao/pojo/Msg.java
getStorageType
called by 65
src/main/java/cn/hellohao/pojo/Group.java
setData
called by 54
src/main/java/cn/hellohao/pojo/Msg.java
Normal
called by 35
src/main/java/cn/hellohao/utils/Print.java
setCode
called by 30
src/main/java/cn/hellohao/pojo/ReturnImage.java

Shape

Method 765
Class 114
Interface 32
Enum 1

Languages

Java100%

Modules by API surface

src/main/java/cn/hellohao/pojo/User.java28 symbols
src/main/java/cn/hellohao/pojo/UploadConfig.java26 symbols
src/main/java/cn/hellohao/service/impl/ImgServiceImpl.java24 symbols
src/main/java/cn/hellohao/service/ImgService.java23 symbols
src/main/java/cn/hellohao/dao/ImgMapper.java23 symbols
src/main/java/cn/hellohao/service/impl/UserServiceImpl.java20 symbols
src/main/java/cn/hellohao/service/UserService.java19 symbols
src/main/java/cn/hellohao/dao/UserMapper.java19 symbols
src/main/java/cn/hellohao/controller/IndexController.java19 symbols
src/main/java/cn/hellohao/pojo/Group.java16 symbols
src/main/java/cn/hellohao/pojo/EmailConfig.java16 symbols
src/main/java/cn/hellohao/pojo/AppClient.java16 symbols

Datastores touched

(mysql)Database · 1 repos
tbedDatabase · 1 repos

For agents

$ claude mcp add Tbed \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact