文章目录

    • 前言
    • 1. 关于MAZANOKE
    • 2. Docker部署
    • 3. 简单使用MAZANOKE
    • 4. 安装cpolar内网穿透
    • 5. 配置公网地址
    • 6. 配置固定公网地址
    • 总结
        • 当工具开始理解用户的需求痛点时,MAZANOKE与cpolar这对搭档给出了“轻量化”的解决方案。它不追求浮夸的功能堆砌,却用扎实的技术让照片管理回归本质:既留住美好瞬间,又不被存储空间所困——或许这就是技术普惠的真谛。

前言

手机相册的红色警示、电脑硬盘的容量警告……高清摄影时代,存储压力成了现代人的新烦恼。一张RAW格式的照片动辄几十MB,旅行一次就能填满半个硬盘——但谁能忍心删掉那些记录生活高光时刻的珍贵影像?

MAZANOKE图像优化器给出了优雅解:它能智能压缩图片文件,同时保留人眼难以察觉的画质损失。无论是家庭相册、工作素材库还是创意设计稿,只需一键处理即可释放数倍存储空间——一张40MB的照片压缩后可能仅剩5MB,却依然清晰可辨。

而与 cpolar内网穿透 的组合应用,则让效率再上一个台阶:

将MAZANOKE部署在家庭NAS或服务器上,通过公网链接远程访问优化任务;
团队协作时批量处理图片并自动同步到云盘,省去反复下载上传的麻烦。
这种“本地压缩+远程穿透”的模式,既避免了将隐私照片托管给第三方平台的风险(数据始终在你控制中),又实现了跨设备无缝管理——或许这就是技术对存储焦虑的最佳反击。

image-20250512100618647

1. 关于MAZANOKE

MAZANOKE不是来自未来的魔法棒,但它确实可以让你的照片瞬间瘦身!它是一个简单易用的图像优化工具,可以在你的浏览器中运行,支持离线工作,并且最重要的是——所有的处理都在本地完成。这意味着你可以随心所欲地压缩、转换格式而不用担心隐私泄露。

MAZANOKE的特点:

  • 即时压缩与转换:无论是调整图片质量,设定目标文件大小,还是限制最大尺寸,都能轻松搞定。
  • 支持多种格式:JPG、PNG、WebP、HEIC、AVIF、GIF、SVG等都手到擒来。
  • 隐私保护:所有处理都在本地完成,你的照片从不离开你的设备。
  • 可安装的网页应用(PWA):适合桌面、平板和移动设备使用。

2. Docker部署

本例使用Ubuntu 22.04进行演示,使用Docker进行部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

输入这行命令,一键部署运行:

sudo docker run -d \--restart unless-stopped \--name mazanoke \-p 3474:80 \ghcr.io/civilblur/mazanoke:latest

image-20250512093042673

部署完毕以后打开浏览器,输入http://localhost:3474就能打开MAZANOKE的主页面了。

image-20250512093143604

3. 简单使用MAZANOKE

右上角可以设置黑白主题。

image-20250512094232933

下滑可以按照自己喜好来设置图形管理器。

image-20250512094243889

使用非常简单,只要将图片打开或者直接拖入即可

image-20250512094341230

可以看到压缩成很小,但是画质没什么变化,非常实用又小巧。

4. 安装cpolar内网穿透

不过我们目前只能在本地局域网内访问刚刚部署的MAZANOKE,如果想不在同一局域网内时,也能在外部网络环境使用手机、平板、电脑等设备远程访问与使用它,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现远程访问的需求。无需公网IP,也不用准备云服务器那么麻烦。

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

img

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

img

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

5. 配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:maza,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:3474
  • 域名类型:随机域名
  • 地区:选择China Top

点击创建:

image-20250512095357192

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在浏览器中访问即可。

6f3815da9ecf333b348c381e2ecb5a51

现在就已经成功实现用cpolar生成的公网地址异地远程访问本地部署的MAZANOKE啦!

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期使用MAZANOKE,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

6. 配置固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,我这里演示使用的是maza,大家可以自定义。填写备注信息,点击保留。

image-20250512094952139

保留成功后复制保留的二级子域名地址:

image-20250512095012276

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道maza,点击右侧的编辑

image-20250512095050725

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20250512095434831

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20250512095225257

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问本地部署的MAZANOKE页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20250512095530841

了解更多项目详情大家可以访问作者github主页进行查看:civilblur/mazanoke:在浏览器中运行的自托管本地图像优化器。

总结

通过这篇教程,你不仅学会了如何部署和使用MAZANOKE图像优化器,还掌握了利用cpolar实现远程访问的技巧。从此以后,无论身处何地,只要有网络的地方,就能轻松处理你的图片资料,享受高效便捷的工作流。

以上就是如何在本地Ubuntu系统使用Docker快速部署开源文件分享服务MAZANOKE,并安装cpolar内网穿透工具配置固定不变的二级子域名公网地址,实现随时随地远程访问的全过程。

当工具开始理解用户的需求痛点时,MAZANOKE与cpolar这对搭档给出了“轻量化”的解决方案。它不追求浮夸的功能堆砌,却用扎实的技术让照片管理回归本质:既留住美好瞬间,又不被存储空间所困——或许这就是技术普惠的真谛。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/98129.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/98129.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/98129.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正则表达式 - 元字符

正则表达式中的元字符是具有特殊含义的字符,它们不表示字面意义,而是用于控制匹配模式。基本元字符. (点号)匹配除换行符(\n)外的任意单个字符示例:a.b 匹配 "aab", "a1b", "a b" 等^ (脱字符)匹配字符串的开始…

suricata源码解读-事务日志

注册事务日志线程模块 void TmModuleTxLoggerRegister (void) {tmm_modules[TMM_TXLOGGER].name "__tx_logger__";tmm_modules[TMM_TXLOGGER].ThreadInit OutputTxLogThreadInit;tmm_modules[TMM_TXLOGGER].Func OutputTxLog;tmm_modules[TMM_TXLOGGER].ThreadExi…

【CSS】层叠上下文和z-index

z-index 的作用范围受“层叠上下文(stacking context)”影响。🔹 1. z-index 的基本作用 控制元素在 同一个层叠上下文(stacking context) 内的堆叠顺序。值越大,显示层级越靠上。🔹 2. 什么是层…

自动化脚本的降本增效实践

一、自动化脚本的核心价值自动化脚本通过模拟人类操作完成重复性任务,其核心价值体现在三个维度:首先,在时间成本方面,标准化的数据处理流程可缩短90%以上的操作耗时;其次,在人力成本上,单个脚本…

【C语言】第七课 字符串与危险函数​​

C语言中的字符串处理既是基础,也是安全漏洞的重灾区。理解C风格字符串的底层原理及其危险函数的运作方式,对于编写安全代码和进行逆向工程分析至关重要。 🧩 C风格字符串的本质 C风格字符串本质上是以空字符\0(ASCII值为0&#xf…

Mac安装hadoop

1.在terminal中检查是否安装brew命令 brew --version 如果没有安装,在terminal中执行命令,安装brew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 安装完成后,再重新打…

多语言编码Agent解决方案(4)-Eclipse插件实现

Eclipse插件实现:支持多语言的编码Agent集成 本部分包含Eclipse插件的完整实现,包括多语言支持、命令注册、API调用和UI集成。插件使用Java开发,基于Eclipse Plugin Development Environment (PDE)。 1. Eclipse插件目录结构 eclipse-plugin/…

风险规则引擎-RPA 作为自动化依赖业务决策流程的强大工具

机器人流程自动化(RPA)听起来好像跟机器人统治世界似的,但其实不是那么回事。RPA 就是一套能在电脑上运行的程序,能快速、高效地自动完成日常重复的工作。RPA 让你能够设置一些软件“机器人”来执行特定的任务。RPA 的一个大好处就…

漏洞无效化学习

一、基础概念与原理1. 核心定义漏洞无效化(Vulnerability Mitigation):并非直接修补漏洞本身,而是通过技术手段降低漏洞被成功利用的概率。其目标是让攻击者即使发现漏洞也无法达成攻击目的。 关键思路:通过访问控制、…

「Vue 项目中实现智能时间选择:带业务规则的级联选择器」

#创作灵感公司业务需要,某个时间节点前可以选择到月,某个时间节点后只能选择季度vue2 Vant2javascriptimport { Cascader, Field, Form, Popup, Button } from vant; import vant/lib/index.css;export default {name: CascaderPage,components: {VanCa…

day1———Qt———应用程序界面设置

1&#xff0c;定义一个Mystring类代替string的功能#include <iostream> #include <string.h>using namespace std; class Mystring {friend ostream &operator<<(ostream &cout,const Mystring &s);friend istream &operator>>(istrea…

apache实现LAMP+apache(URL重定向)

1.apache实现LAMPLAMP是指一组通常一起使用来运行动态网站的自由软件名称首字母的缩写a.L是指Linux操作系统b,.A是指Apache&#xff0c;用来提供Web服务c.M指MySQL&#xff0c;用来提供数据库服务d.P指PHP&#xff0c;是动态网站的一种开发语言1.1php运行方式说明php是脚本语言…

SAConv可切换空洞卷积

SAConv可切换空洞卷积 带来的改进机制时可切换的空洞卷积 是一种创新型卷积网络 专门为增强物体检测和分割任务&#xff0c;中特征提取去设计 SAC核心时相同的输入儿子应用到不同空洞率去进行卷积&#xff0c;设计特别开关函数融合这些不同卷积的成果 该方法可让网络更灵活的适…

基于Matlab的雾霾天气和夜间车牌识别系统

在复杂天气和低光照环境下&#xff0c;车牌识别系统的准确率和稳定性显著下降&#xff0c;严重影响交通管理与智能监控的可靠性。本文针对雾霾天气和夜间环境下车牌图像特征模糊、对比度低、噪声干扰严重的问题&#xff0c;提出了一种融合图像增强与模板匹配的车牌识别方法。系…

华为云/本地化部署K8S-查看容器日志

华为云日志查看 目前工作的大部分情况下&#xff0c;通过华为云LTS云日志服务就可以满足日常需求。 不过上线时过来支援的开发老哥更习惯于从容器里查看日志&#xff0c;也一并记录下以备不时之需。 1.登录服务节点服务器 点击左侧三个横线&#xff0c;选择 应用服务-云容器引擎…

【MySQL 死锁:从 “业务卡顿“ 到 “根因定位“ 的实战指南】

MySQL 死锁&#xff1a;从 “业务卡顿” 到 “根因定位” 的实战指南 后端开发必看&#xff1a;MySQL死锁排查与预防全攻略线上系统突然报出Deadlock found when trying to get lock; try restarting transaction&#xff0c;用户操作卡顿甚至超时&#xff0c;排查时却对着一堆…

从虚拟化基石到云原生架构的降维打击:用dd/mkfs玩转namespace隔离,解锁Docker/K8S资源密码,看透物理机到云服务器的进化之路

本篇摘要 本文围绕虚拟化与容器化技术展开&#xff0c;涵盖架构演进、Docker/K8S优势与挑战、namespace隔离实操&#xff08;如主机名/PID隔离&#xff09;、磁盘操作&#xff08;dd/mkfs/df/mount&#xff09;等&#xff0c;对比虚拟机与容器差异&#xff0c;阐明技术原理与架…

自动化测试的概念

文章目录自动化测试能够取代人工测试吗&#xff1f;回归测试自动化分类自动化测试金字塔为啥单元测试的性价比这么高呢&#xff1f;那为啥UI自动化测试的性价比没有组件测试的高呢&#xff1f;web自动化测试举例引入自动化测试的准备工作自动化测试的简单示例自动化测试能够取代…

OSPF故障排查实战:如何通过一条命令精准定位网络掩码不匹配问题

掌握display ospf error命令的解读技巧&#xff0c;快速解决OSPF邻接关系建立失败难题。一、问题背景与场景引入 在网络运维工作中&#xff0c;OSPF&#xff08;开放最短路径优先&#xff09;协议作为主流的内部网关协议&#xff0c;其稳定运行至关重要。然而&#xff0c;在实际…

Redis----如何引入分布式锁

一、概述首先引入分布式锁指的是应用程序引入&#xff0c;不是Redis本身引入&#xff0c;Redis作为中间件可以作为分布式锁的一个典型实现方案&#xff0c;同时也有一些其他的实现方案。分布式锁指的是一个/组程序&#xff0c;使用Redis实现的话就是通过添加一个特殊的Key-Valu…