找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2005

积分

0

好友

282

主题
发表于 2025-12-25 04:07:59 | 查看: 35| 回复: 0

图片

在博客写作、技术文档管理或日常内容分享中,一个稳定可靠的个人图床系统能极大提升效率。EasyImg 正是一个基于现代前端框架 Nuxt4 构建的一站式个人图床解决方案,它提供了从图片上传管理到内容安全审查的完整功能集。

功能特性

🖼️ 图片管理

  • 多种上传方式:支持点击、拖拽、粘贴上传,并可进行多图批量上传。
  • URL 上传:支持通过图片URL直接下载并存入本地图库。
  • 瀑布流展示:采用响应式瀑布流布局,完美适配不同屏幕尺寸。
  • 图片预览:点击即可大图预览,并显示详细的图片信息。
  • 批量操作:支持批量选择图片进行删除等管理操作。
  • 回收站:采用软删除机制,误删后可恢复,也支持清空回收站以释放存储空间。

🔐 权限控制

  • 公共/私有上传:支持访客匿名上传(公共)和用户登录后私有上传两种模式。
  • API Key 管理:可创建多个API Key,方便与PicGo等第三方工具或脚本集成调用。
  • IP 黑名单:支持手动添加或基于规则自动拉黑恶意IP地址。

🛡️ 内容安全

  • NSFW 检测:集成多种鉴黄服务(nsfwdet.com、elysiatools.com),也支持接入自建的 nsfw_detector 服务。
  • 自动处理:检测出的违规图片会被自动软删除,并可配置自动拉黑上传者IP。
  • 违规管理:后台提供违规图片列表查看功能,支持手动复核并取消违规标记。

📊 数据统计

  • 存储统计:实时展示当前活跃图片数量及存储空间占用情况。
  • 分类统计:清晰区分公共上传与私有上传的图片数量。
  • 内容安全统计:汇总展示总检测图片数、违规图片数及违规率。

🔔 通知推送

  • 多种通知方式:支持 Webhook、Telegram、Email及Server酱等多种渠道。
  • 事件通知:可订阅用户登录、图片上传、鉴黄检测结果等重要事件。
  • 自定义模板:Webhook通知支持完全自定义请求体模板,适配各类接口。

⚙️ 系统设置

  • 应用配置:自定义系统名称、Logo及全局背景图片。
  • 公告系统:支持以弹窗或顶部横幅的形式发布和管理系统公告。
  • 上传配置:灵活配置允许上传的图片格式、单文件大小限制,并可选开启WebP压缩以节省流量与存储。
  • 频率限制:可配置同一IP地址的请求频率限制,防止滥用。

🎨 界面特性

  • 深色模式:支持亮色/深色主题一键切换。
  • 响应式设计:界面经过精心设计,在桌面端和移动端均有良好体验。
  • 毛玻璃效果:可选择为背景图片启用毛玻璃模糊效果,提升视觉层次感。

图片
图片
图片
图片
图片
图片

快速开始

EasyImg 提供了多种部署方式,推荐使用 Docker 相关方案以获得最佳一致性体验。

1. Docker Compose 部署(推荐)

这是最简单快捷的部署方式,适合大多数场景。通过 Docker 容器化技术,可以轻松管理应用及其依赖。

# 1. 创建项目目录并进入
mkdir -p /root/easyimg && cd /root/easyimg

# 2. 下载 docker-compose.yml 配置文件
wget https://git.221022.xyz/https://raw.githubusercontent.com/chaos-zhu/easyimg/refs/heads/main/docker-compose.yml

# 3. 使用 docker compose 启动服务
docker compose up -d

2. Docker Run 部署

如果你偏好使用原生的 docker run 命令,可以通过以下指令快速启动:

docker run -d --name easyimg -p 3000:3000 -v ./db:/app/db -v ./uploads:/app/uploads ghcr.io/chaos-zhu/easyimg:latest

3. 手动部署

对于希望深度定制或了解其内部构成的开发者,可以选择手动部署。此方式需要预先安装 Node.js 环境。

# 安装项目依赖
pnpm install

# 启动开发服务器
pnpm dev

# 构建生产环境版本
pnpm build

# 运行生产服务
node .output/server/index.mjs

项目已在 GitHub 开源,你可以访问其仓库以获取最新代码、查阅详细文档或参与贡献。

开源项目地址https://github.com/chaos-zhu/easyimg




上一篇:Java中Error与Exception的区别详解:面试必备与实战处理指南
下一篇:CUDA多流与MPS性能优化实战:MPI/OpenMP混合并行代码移植策略
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-11 11:55 , Processed in 0.211372 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表