# ImageArmor **Repository Path**: yacuo/image-armor ## Basic Information - **Project Name**: ImageArmor - **Description**: 大规模图像批处理防识别系统 — 通过多维度图像扰动,有效干扰搜索引擎(Google / Baidu / Bing)与 AI 视觉识别系统的图像指纹识别与批量聚类。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-02 - **Last Updated**: 2026-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ImageArmor **大规模图像批处理防识别系统** — 通过多维度图像扰动,有效干扰搜索引擎(Google / Baidu / Bing)与 AI 视觉识别系统的图像指纹识别与批量聚类。 专为批量发图、SEO 站群、教程资源站等场景设计,确保批量图片不被搜索引擎聚类识别、降权或封杀。 --- ## 功能清单 + 搜索引擎防识别作用 | 防护项目 | 功能描述 | 对搜索引擎的干扰作用 | |:--|:--|:--| | **EXIF 元数据清除** | 清除拍摄设备、时间戳等隐私信息 | 阻止通过 EXIF 元信息溯源关联匹配 | | **图片尺寸扰动** | 可配置范围随机缩放,保持宽高比 | 打破尺寸特征聚类,防止以尺寸指纹归组 | | **全图亮度扰动** | 叠加极低透明度白色层,肉眼不可感知 | 干扰直方图统计特征,降低像素分布聚类成功率 | | **动态水印文字池** | 多条水印随机选取,每张不同 | 破坏水印内容归组分析 | | **水印透明度 / 角度扰动** | 每张图透明度和角度随机 | 干扰水印形态特征,防止水印几何聚合 | | **水印位置扰动** | 垂直位置可配置 | 打破水印空间一致性 | | **自动字号适配** | 字号=0 时根据图片宽度自动计算 | 避免统一字号成为聚类特征 | | **智能保存** | PNG 无损 / JPEG 可配质量,BGR 格式减小体积 | 避免统一压缩指纹导致批量聚类 | | **局部像素扰动** | 随机像素点 RGB ±1 微调 | 破坏感知哈希(pHash/aHash)一致性 | | **随机超轻滤镜** | 概率性应用轻微模糊或锐化 | 打散 SIFT/SURF/ORB 特征点 | | **极细噪声叠加** | 肉眼不可见的透明噪声层 | 干扰 CNN 卷积特征提取,抗深度学习聚类 | | **时间戳回退扰动** | 文件修改时间随机回退 0~N 分钟 | 打破批量文件统一时间特征 | | **多线程批量处理** | 可配置线程数,高效并行 | 大批量处理每张仍具唯一性 | | **目录结构同步** | 输出保持输入的相对路径结构 | 防止路径异常暴露处理逻辑 | | **临时文件自动清理** | 自动删除中间产物 | 保证输出目录干净 | --- ## 技术防护效果 | 检测维度 | 等级 | 说明 | |:--|:--|:--| | EXIF 隐私检测 | 安全 | 重新编码,无元信息残留 | | 感知哈希(pHash/aHash) | 安全 | 像素扰动 + 噪声叠加,打乱哈希指纹 | | 特征点聚类(SIFT/SURF/ORB) | 安全 | 滤镜 + 纹理扰动,打散特征点 | | 尺寸归组 | 安全 | 随机缩放破坏一致性 | | 像素分布直方图 | 安全 | 亮度扰动打乱分布 | | 水印归组 | 安全 | 内容 / 位置 / 透明度 / 角度全动态 | | 时间戳归组 | 安全 | 修改时间随机回退 | | AI 视觉模型(CNN) | 高度防护 | 多重扰动链路叠加,高度抗聚类 | --- ## Web 管理界面 ImageArmor 提供了开箱即用的现代化 Web 管理界面,基于 **React 19 + Ant Design 6** 构建,无需安装客户端,打开浏览器即可使用全部功能。 ### 界面预览 | 默认启动 | 上传图片 | |:--:|:--:| | ![默认启动](https://cdn.ddkk.com/images/ddkk/image-armor/1.png) | ![上传图片](https://cdn.ddkk.com/images/ddkk/image-armor/2.png) | | 宫格 / 列表双视图 | 全量参数配置 | |:--:|:--:| | ![双视图展示](https://cdn.ddkk.com/images/ddkk/image-armor/3.png) | ![参数配置](https://cdn.ddkk.com/images/ddkk/image-armor/4.png) | | 移动端响应式 | |:--:| | ![手机响应式](https://cdn.ddkk.com/images/ddkk/image-armor/5.png) | ### 核心功能特性 #### 智能文件管理 - **拖拽批量上传** — 支持文件夹整体拖入,自动保持原始目录结构,告别逐一选择的繁琐操作 - **双视图无缝切换** — 宫格缩略图模式快速浏览,列表模式查看详细信息,一键切换 - **面包屑目录导航** — 多级目录自由穿梭,双击文件夹深入,面包屑快速跳回 - **高清图片预览** — 双击任意图片即可打开原图预览,支持快捷键操作 #### 全参数可视化配置 - **四大参数分组** — 水印设置、图片处理、扰动设置、性能设置,分类清晰一目了然 - **折叠面板交互** — 按需展开关注的配置组,一键全部展开 / 折叠,高效操作 - **实时参数持久化** — 修改即自动保存至浏览器本地,刷新页面不丢失,下次打开自动恢复 - **一键恢复默认值** — 配置调乱了?一键重置为系统默认参数,安全确认后执行 - **参数同步服务端** — 支持将配置保存至服务器,多设备间共享相同参数方案 #### 批量处理引擎 - **一键启动处理** — 上传完成后一键触发,自动读取最新参数配置 - **实时进度追踪** — 处理进度百分比 + 已完成数量实时更新,全程可视化 - **状态标签反馈** — 处理中、已完成、无图片、处理失败等状态即时标签化展示 - **ZIP 打包下载** — 处理完成后一键打包下载,支持自定义压缩包名称 #### 响应式设计 - **桌面端** — 左右分栏布局,上传区与结果区并排展示,右侧常驻参数面板 - **移动端自适应** — 自动切换为纵向堆叠布局,参数面板收入侧滑抽屉,点击设置图标即可展开,触控操作友好 --- ## 技术栈 | 层 | 技术 | |:--|:--| | 后端 | Java 17 + Spring Boot 3 | | 前端 | React 19 + TypeScript + Ant Design 6 + Vite | | 图像处理 | Java AWT / ImageIO | | 构建 | Maven | --- ## 快速开始 ### 环境要求 - JDK 17+ - Node.js 18+ - Maven 3.8+ ### 启动 ```bash # 克隆项目 git clone https://gitee.com/souyunku/image-armor.git cd image-armor # 安装前端依赖(首次) cd frontend && npm install && cd .. # 一键启动(前端 + 后端) ./shell/restart.sh ``` 启动后访问: - 前端界面:http://localhost:5173 - 后端 API:http://localhost:8080 ### 脚本说明 ``` shell/ ├── start.sh # 启动前端 + 后端 ├── stop.sh # 停止前端 + 后端 └── restart.sh # 重启(日常使用推荐) ``` --- ## 项目结构 ``` image-armor/ ├── frontend/ # 前端 (React + Vite) │ └── src/ │ ├── components/ │ │ ├── Layout/ # 顶栏、参数面板 │ │ ├── Upload/ # 上传区域、拖拽上传 │ │ ├── FileExplorer/ # 文件浏览器、图片预览 │ │ └── Result/ # 处理结果展示 │ ├── hooks/ # 自定义 Hook │ ├── api/ # API 请求封装 │ └── types/ # TypeScript 类型定义 ├── src/main/ │ ├── java/com/ddkk/image/ │ │ ├── config/Config.java # 全局配置(映射 application.properties) │ │ ├── controller/ # REST API 控制器 │ │ ├── core/ # 图像处理核心 │ │ │ ├── ImageProcessor.java # 缩放 + 水印 │ │ │ ├── ImageFilter.java # 亮度扰动 │ │ │ ├── ImageFilterProcessor.java # 随机模糊/锐化 │ │ │ ├── ImageNoiseProcessor.java # 噪声叠加 │ │ │ ├── ImageSaver.java # 保存 + 像素扰动 + 时间戳 │ │ │ └── ExifCleaner.java # EXIF 清除 │ │ └── service/ │ │ └── ImageBatchService.java # 批量处理调度 │ └── resources/ │ └── application.properties # 默认配置 ├── shell/ │ ├── start.sh # 启动前端 + 后端 │ ├── stop.sh # 停止前端 + 后端 │ └── restart.sh # 重启(日常推荐) ├── pom.xml # Maven 配置 └── README.md ``` --- ## 配置说明 所有参数均可通过 Web 界面实时调整,也可编辑 `src/main/resources/application.properties`,详见文件内注释。 主要配置项:水印文字池、字体 / 字号 / 颜色 / 位置、透明度 / 旋转角度范围、缩放范围、JPEG 质量、EXIF 清除、亮度扰动、滤镜概率、像素扰动数、噪声参数、时间戳回退、线程数等。 --- ## 开发团队 本项目由 **[DDKK 技术团队](https://www.ddkk.com/)** 提供技术支持。 | 项目 | 信息 | |:--|:--| | 官网 | [https://www.ddkk.com](https://www.ddkk.com/) | | 邮箱 | admin@ddkk.com | | 微信 | itdevtools | 欢迎提交 Issue 和 PR,也欢迎加微信交流技术。 --- ## 许可证 MIT License