当前位置: 首页 > news >正文

自托管本地图像压缩器Mazanoke

在这里插入图片描述

简介

什么是 Mazanoke ?

Mazanoke 是一个简单的图像压缩器和转换器,完全在您的浏览器中运行。无需外部上传。Mazanoke 可作为 Web 应用程序离线工作。并由 Browser Image Compression 提供支持,能实现在 JPGPNGWebP 之间转换。

主要特点

  • 即时压缩与转换:支持调整图像质量、设置目标文件大小,以及限制最大尺寸。可以在 JPGPNGWebP 格式之间转换。
  • 隐私保护:所有图像处理在本地进行,不会上传到外部服务器,确保用户数据的安全性。
  • 可安装的网页应用:可以作为渐进式网页应用(PWA)使用,支持桌面、平板和移动设备。
  • 离线工作:无需网络连接即可使用。

Mazanoke 提供简便的用户体验,并关注隐私保护,适合需要本地处理图像的用户。

安装

在群晖上以 Docker 方式安装。

官方没有在 docker hub 上发布镜像,而是发布在 ghcr.io

SSH 客户端登录到群晖后,执行下面的命令拉取镜像

# 拉取镜像
docker pull ghcr.io/civilblur/mazanoke:latest

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name mazanoke \
   -p 3474:80 \
   ghcr.io/civilblur/mazanoke:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  mazanoke:
    image: ghcr.io/civilblur/mazanoke:latest
    container_name: mazanoke
    restart: unless-stopped
    ports:
      - "3474:80"

然后执行下面的命令

# 新建文件夹 mazanoke 和 子目录
mkdir -p /volume1/docker/mazanoke

# 进入 mazanoke 目录
cd /volume1/docker/mazanoke

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d 

运行

在浏览器中输入 http://群晖IP:3474 就能看到主界面

可以根据需要进行设置调整

  • Compression method : 压缩方法
    • Set image quality:设置图像质量,调整范围从 0%100%
    • Limit file size:设置图像的最大文件大小,也就是将图像压缩为目标文件大小。
  • Dimensions:尺寸设置
    • Keep original dimensions:保持原始尺寸,选择此项不会改变图像的原始尺寸。
    • Limit dimensions:限制尺寸,确保图像不会超过指定的最大尺寸。
  • Convert to:选择要将图像转换为的格式。
    • No change:不转换
    • JPG:转换为 jpg
    • PNG:转换为 png
    • WebP:转换为 webp

使用超级简单,只要将图片拖入就可以

参考文档

civilblur/mazanoke: A self-hosted local image compressor that runs in your browser.
地址:https://github.com/civilblur/mazanoke

MAZANOKE: A self-hosted local image compressor that runs in your browser : r/selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/1jl3rm7/mazanoke_a_selfhosted_local_image_compressor_that/

http://www.dtcms.com/a/113612.html

相关文章:

  • (三)链式工作流构建——打造智能对话的强大引擎
  • 5天速成ai agent智能体camel-ai之第1天:camel-ai安装和智能体交流消息讲解(附源码,零基础可学习运行)
  • linux专题3-----linux上链接远程mysql
  • 深入理解Python元组:从基础到高级应用
  • xss攻击
  • NDK开发:开发环境
  • 2025-04-05 吴恩达机器学习4——逻辑回归(1):基础入门
  • 华为高斯(GaussDB)数据库中 Range、List、Hash三种分区方式 的完整SQL示例及增删改查操作,并附上总结对比表格
  • Linux内核引导内存分配器原理
  • 金仓数据库KCM认证考试介绍【2025年4月更新】
  • PgVectore的使用
  • REASONING THOUGHT和REASONING分别是什么意思,有什么区别
  • C语言:字符串
  • Baklib企业CMS的核心要素是什么?
  • 贪心算法之最小生成树问题
  • Sentinel实战(五)、系统保护规则、限流后统一处理及sentinel持久化配置
  • 多GPU训练
  • C++_类和对象(上)
  • 【简单数论】(模运算,快速幂,乘法逆元,同余,exgcd,gcd,欧拉函数,质数,欧拉筛,埃式筛,调和级数枚举,约数,组合数)
  • 4.4日欧篮联,NBA全扫盘,雷霆 vs 火箭单关预测已出
  • 来聊聊C++中的vector
  • C++学习之线程
  • [Android安卓移动计算]:新建项目和配置环境步骤
  • 力扣DAY35 | 热100 | LRU缓存
  • 在windows环境下通过docker-compose脚本自动创建mysql和redis
  • SQL Server常见问题的分类解析(二)
  • 分治-归并排序-逆序对问题
  • 计算机视觉图像处理基础系列:滤波、边缘检测与形态学操作
  • 小迪安全110-tp框架,版本缺陷,不安全写法,路由访问,利用链
  • Android使用OpenGL和MediaCodec渲染视频