惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Schneier on Security
Schneier on Security
N
Netflix TechBlog - Medium
IT之家
IT之家
MongoDB | Blog
MongoDB | Blog
博客园_首页
S
SegmentFault 最新的问题
H
Help Net Security
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
T
The Blog of Author Tim Ferriss
量子位
GbyAI
GbyAI
M
MIT News - Artificial intelligence
Recorded Future
Recorded Future
P
Privacy & Cybersecurity Law Blog
B
Blog
月光博客
月光博客
博客园 - 聂微东
Vercel News
Vercel News
罗磊的独立博客
腾讯CDC
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
A
Arctic Wolf
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Stack Overflow Blog
Stack Overflow Blog
T
Threat Research - Cisco Blogs
Blog — PlanetScale
Blog — PlanetScale
L
Lohrmann on Cybersecurity
I
Intezer
小众软件
小众软件
T
The Exploit Database - CXSecurity.com
Jina AI
Jina AI
C
Check Point Blog
AWS News Blog
AWS News Blog
C
Cisco Blogs
Martin Fowler
Martin Fowler
The Last Watchdog
The Last Watchdog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
宝玉的分享
宝玉的分享
S
Security Affairs
大猫的无限游戏
大猫的无限游戏
N
News and Events Feed by Topic
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
H
Hacker News: Front Page
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
F
Full Disclosure
P
Proofpoint News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Security Blog
Microsoft Security Blog

Halo - 强大易用的开源建站工具 | 应用市场

ShaneYu EverUs Ethereal 主题漫游 软件分发管理 Moonlit Playground 山月记 Shortcode AI智能套件 文档 Cosolar 演示站防护 业余无线电 GardMap 通联网格地图 元数据字段管家 评论组件 Next 统一身份认证 Morpho Moesora 全能右键 保险箱插件 Earthquake Aurora InkNest Quiet 项目集 AI回评 AI Foundation Kaze 域名主题路由 代码增强(高亮+折叠+长图折叠) 氢·简 文章组件 Floating Particles Huohuo Weather Glass Vahlok AstraHub 星链 全局私密 业余无线电 QSL卡片管理系统 Bark 推送 微信读书(WeRead)信息展示 自定义社交分享卡片 Halorum 文章加密 KMath 轻言 Navidrome 播放器 家庭私厨 页面转换器 Sky Blog 3(macOS) 在线显示 邀请码注册 安全跳转助手 日程日历 Cartly 商城主题
初春图床
2026-07-09 · via Halo - 强大易用的开源建站工具 | 应用市场

初春图床 Halo 插件

初春图床(oneimg)集成到 Halo 2.x,支持附件上传与一键同步。

本插件使用 DeepSeek v4 Pro 辅助开发。

关于初春图床

初春图床 是一个基于 Go + Vue 3 的现代化图床管理系统,支持本地/S3/WebDAV/FTP 等多种存储后端,上传图片自动转 WebP,提供 POW 安全验证、剪贴板粘贴上传、数据仪表板等功能,可通过 Docker Compose 一键部署。

功能

  • 附件上传 — Halo 中上传的图片自动存储到初春图床
  • 附件删除 — Halo 中删除附件不联动图床,仅删除 Halo 侧记录
  • 一键同步 — 将初春图床中已有图片批量导入 Halo 附件库,实时显示日志,自动跳过已存在图片

2026-07-08_17-51-24

TODO

  • 一键同步清理 — 同步时增加反向清理:对 Halo 中属于初春图床策略的附件,若对应图片在图床中已不存在,则自动删除 Halo 侧的附件记录。当前同步逻辑仅处理「图床有 → 写入 Halo」,不清理已失效的附件。

前置条件

  • 已部署初春图床服务
  • 在初春图床后台「系统设置 → API Token」生成并启用 Token
  • Halo >= 2.25.0

安装

应用市场安装

待发布后从 Halo 应用市场安装。

手动安装

  1. Releases 下载最新 JAR
  2. Halo 后台「插件管理 → 上传插件」安装

配置

1. 存储策略

Halo 后台「附件 → 存储策略 → 新增」选择「初春图床」:

配置项 说明 必填
API 地址 初春图床部署地址,务必使用 HTTPS
API Token 后台生成的 Token
存储桶 ID 目标存储桶,默认 1
标签 ID 上传时自动添加的标签(可选) -

2. 同步已有图片

插件设置「同步」标签页中点击「开始同步」,将初春图床中所有图片批量导入 Halo 附件库。已存在的图片自动跳过,日志实时滚动显示。

开发

环境

  • JDK 21
  • Gradle 8.x
  • pnpm

构建

# 前端(如修改了 ui/ 目录)
cd ui && pnpm install && pnpm build
cp dist/main.js dist/style.css ../src/main/resources/console/

# 后端
./gradlew build

# 产物位于 build/libs/plugin-oneimg-X.X.X.jar

目录结构

├── ui/                          # Vue 3 前端(同步标签页)
│   ├── src/
│   │   ├── index.ts             # 插件入口,注册扩展点
│   │   └── SyncView.vue         # 同步 UI 组件
│   └── vite.config.ts           # IIFE 构建配置
├── src/main/java/io/github/alonenannan/oneimg/
│   ├── OneImgPlugin.java        # 插件生命周期
│   ├── OneImgAttachmentHandler.java  # 上传/删除附件
│   └── OneImgSyncEndpoint.java  # 同步 REST API
└── src/main/resources/
    ├── plugin.yaml              # 插件元数据
    ├── console/                 # 前端构建产物
    └── extensions/
        ├── policy-template.yaml # 存储策略表单
        └── settings.yaml        # 插件设置

技术架构

  • 基于 Halo Plugin Framework,实现 AttachmentHandler 扩展点
  • 上传使用 Spring WebClient 调用初春图床 API(响应式非阻塞)
  • 同步使用 java.net.http.HttpClient,异步执行 + 前端轮询实时日志
  • 前端 Vue 3 + Vite,通过 plugin:self:tabs:create 扩展点注册标签页

许可证

GPL-3.0