专注于技术分享
   工具共享。

【Hellohao图床】2020/05/03更新,完美且强大的用户图像托管程序。

Hellohao图床 – 完美且强大的用户图像托管程序

9c1e90629034951_副本.png

这是一个基于多家对象存储源的Spring Boot开源图床项目。系统使用 Spring Boot 搭建, 针对用户更方便的管理自己的图片管理拓展功能, 目前已经支持对接本地网易阿里又拍七牛腾讯FTP,U-File对象存储.

前言

本源码是有java语言基于springboot开发的图床站,并且毫无保留的把它开源了出来。

主要功能支持:

  • 多主题支持:炫酷壁纸、简约蓝白
  • 支持 图片拖拽、截图软件直接(Ctrl+V)和图片URL地址上传。
  • 对接本地、网易、阿里、又拍、七牛、腾讯、FTP等各大对象存储平台。
  • 图片定期暂存(到期自动删除)
  • 支持画廊分享模式(用户可把自己当前上传的图片以图片集的形式批量分享给好友)
  • 重复图片检测
  • 支持上传者IP记录,并可配置IP黑名单操作
  • 支持链接生成二维码。
  • 支持开启/关闭API接口。
  • 设置用户可用容量
  • 扩容码生成(用户可使用扩容码进行容量扩充)
  • 分发群组(配置用户群组,不同群组分发图片到不同对象存储)
  • 首页背景动态/静态,以及简约模式设置
  • URL列表、缩略图。查看原图等功能。
  • 图片鉴黄配置(开启后,每天固定时间进行非法图片监测)
  • 游客、用户的上传管理
  • 邮箱注册激活。
  • 站点样式设置和上传规则配置等。
  • 等等~~

地址向导

Github开源:https://github.com/Hello-hao/Tbed

在线文档: http://doc.wwery.com/

主站地址: http://tc.hellohao.cn/

体验地址: http://129.28.173.126:8088/(用户名/密码均为admin)

更新日志

2020-05-03

  • 增加某些互联网注入防护过滤,提高安全系数。
  • 修复【站点配置】页面修改表单的字符长度,尽可能增加了保存长度。
  • 优化文件类型判断逻辑。
  • 优化了多个页面逻辑细节问题。

开发者交流群

群名称: Hellohao图床开发者交流群

群 号: 864800972

系统预览

Hellohao/dec2d0616104505.png

图床后台管理.png
图床后台管理2.png
图床后台管理3.png
图床后台管理4.png

运行环境

  • JDK 1.8
  • MySQL 5.5+

详细部署教程

部署教程分为:1.一键部署;2.手动部署。任选一种部署即可(手动能力强的推荐:手动部署)

前言

部署依赖于java环境:


yum install java-1.8*

一,自动部署

创建数据库:

创建mysql数据库picturebed,并导入picturebed.sql文件建表。

执行如下命令,按步骤操作即可。


yum install -y wget && wget -O hellohao.sh http://www.hellohao.cn/gg/hellohao.sh && bash hellohao.sh

image.png

该方法简单粗暴,包括java环境,不需要去下载jar包,不需要自己去写命令运行。也不需要screen或者nohub之类的后台命令,让用户傻瓜式操作。

注意事项:

  • 安装:等项目完全部署成功后且确认图床可以访问,在控制台按Ctrl+C后退出即可。(若内有java环境,先在选择界面安装java环境,然后重新执行以上命名安装图床)
  • 如果之前存在脚本安装过的图床:请先根据提示按3停止然后再按2卸载,才可以重新安装。
  • 如果重启了服务器,则需要重新部署。没有开机自启。

二,手动部署

先下载编译包:https://github.com/Hello-hao/Tbed/releases,做准备并进行如下操作。

全平台支持:Linux/Windows/unix(这里以linux宝塔环境举例子):

导入数据库

创建数据库picturebed, 字符集选择 utf8
导入picturebed.sql

在应用商店搜索tomcat选择tomcat8版本下载安装(这里说明一下,其实我们并不需要tomcat,只是因为宝塔下载tomcat8自带java环境,而这个java环境正是我们需要的)

配置文件

打开 application.properties 修改 MySQL服务器端口 等连接信息改成你服务器的信息.(端口号改不改都行,前提是保证其他程序没有被占用)

#数据库账号picturebed
spring.datasource.username=root
#数据库密码
spring.datasource.password=root
#数据库链接地址
spring.datasource.url=jdbc:mysql://localhost:3306/picturebed?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
#端口
server.port=8088
#鉴黄周期表达式 下方表达式为每天七点半执行
#不懂请勿乱修改。具体可以参考官方文档http://doc.wwery.com
Expression=0 30 04 * * ?

#下边的配置项不需要修改。
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.mapper-locations=classpath:mapper/*.xml
logging.level.cn.hellohao.dao=debug
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.thymeleaf.cache=false
multipart.maxFileSize=10240KB
multipart.maxRequestSize=10240KB
spring.thymeleaf.mode = LEGACYHTML5
spring.http.multipart.location=/data/upload_tmp

部署

jdk1.8和mysql数据库、还有配置文件,我们都改好了。接下来开始部署吧。
在系统目录/home下新建一个javaweb目录
Tbed.jarapplication.properties放到服务器你刚才新建的目录下:/home/javaweb,注意这两个文件必须要在同一目录下不能分开。

启动项目

在完成了上述步骤后,然后xshell链接你的服务器,进入你刚才的目录,然后执行一下命令.
进入你的目录:


[root@VM_0_15_centos ~]# cd /home/javaweb

部署jar编译包:

[root@VM_0_15_centos javaweb]# java -jar Tbed.jar

ok!等项目跑起来即可,如图:

这里注意:记得把项目所需要的端口(8088)放行,否则访问不了!!

启动后访问地址为:http://服务器IP:8088 , 8088就是你配置server.port=8088的端口.
这样,你的站点就启动了。注意:启动后命令行是不能关闭的,否则你的站点就会不能访问。可以用nohup或者screen之类的命令后台运行。

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

视频教程

全套部署视频:https://www.bilibili.com/video/av79137056/

捐赠者名单

谢谢你们对我的支持,我会把项目做得更好。如果你是学生,请不要捐赠。

列表按照先后顺序显示,不区分金额大小。

昵称 来自 金额 备注
cici9911 hostloc论坛 100¥ ftp
5947 8@qq . com 匿名 66¥
* 雪梅 hostloc论坛 66¥ loc
爵珞 交流群 50¥ 感谢分享!
系纟充消息 交流群 8.88¥ 多谢dalao,已赞助水钱
土豆 交流群 9.99¥ 支持下你哈
忘归 交流群 18.80¥ 暂无
AC 交流群 15¥ AC from hostloc
有言在仙 交流群 8.80¥ 小小心意,赞助一下

开源版本不排除GUB的存在,如果你遇到BUG下方留言,更新还再继续。
Hellohao博客: http://www.hellohao.cn/

赞(6) 打赏
转载请注明文章地址:Hellohao » 【Hellohao图床】2020/05/03更新,完美且强大的用户图像托管程序。
分享到: 更多 (0)

评论 58

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #22

    最大的问题,文件目录 统一写死为:File.separator + “HellohaoData” + File.separator 这在有些windows或者mac都会产生不一样的问题

    miapecloud8个月前 (03-18)回复
    • windows会在项目盘符的根目录创建,mac的话,我没有环境,猜测应该也是这样吧。

      hellohao8个月前 (03-18)回复
      • 我改了下 改成可配置的了 Mac上会说找不到这个目录 不会创建 有权限问题 根下不能创建

        miapecloud8个月前 (03-19)回复
        • 好的

          hellohao8个月前 (03-19)回复
  2. #21

    配置存储 每一项都要写http 怎么写

    liujia9个月前 (02-14)回复

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏