lent9004

joined 2 years ago
[–] lent9004@lemmy.world 1 points 2 weeks ago (1 children)

Thanks a bunch from sharing your result! Based on the fact that ICO works, and I didn't see any real issues in the logs, it could be the "Post-processing..." part where something goes wrong (I didn't add any more detailed logs for that part unfortunately).

Will get back once I've setup a basic Windows development environment and made some tests!

[–] lent9004@lemmy.world 1 points 2 weeks ago (3 children)

Based off the things you mentioned, especially the "little quirk", there something in the pipeline that fails. The file name extension is intended to show regardless of which output format that is selected.

Are you perhaps using a privacy-focused browser like Librewolf (opposed to vanilla Firefox)? Or do you have any extension that might be used for anti-fingerprinting? MAZANOKE need to be able to access the browser's canvas feature in order to convert images, and some browsers are blocking this feature to prevent fingerprinting.

Also, have you tested MAZANOKE on a different browser to see if it works there?

If the issue still persist, would you mind sending me a screenshot of the browser console log, in order for me to see where it fails. This will hopefully provide some hints.

Additionally, while I don't have a Windows environment readily available, I've tested MAZANOKE on Ubuntu and macOS using both firefox and chromium, but I wasn't able to reproduce it. Will test on Windows when I find the chance to.

[–] lent9004@lemmy.world 1 points 2 weeks ago (5 children)

If I understand it correctly, the heic image does get read and compressed. However, it's the last part when clicking the download button that it instead displays the image as a jpeg (on a new tab)?

[–] lent9004@lemmy.world 1 points 3 weeks ago

That's still very interesting to hear, maybe I'll look into it for my next (simpler) project just to try it out.

[–] lent9004@lemmy.world 1 points 3 weeks ago

I think @jogai_san@lemmy.world put out some great points. On top of this, you can still install MAZANOKE as a PWA, so you "essentially" get a native application experience.

[–] lent9004@lemmy.world 1 points 3 weeks ago (2 children)

Thanks for your kind words, I tried putting some effort into making the interface a bit more fun and interactive, so thanks for noticing!

In regards to Rust, I've been interested in learning more about it, but I've not had time yet, so it's been in a "soon (tm)" limbo. As I'm comfortable with JavaScript/JS frameworks, sticking with JS was a quick way to get started without much friction.

[–] lent9004@lemmy.world 2 points 3 weeks ago* (last edited 3 weeks ago)

To preface a bit. I occasionally run my images through Sharp over CLI, and I am also a daily user of the Caesium desktop app. However, I haven't explored the details of how Caesium is implemented.

The biggest difference is that MAZANOKE targets a different user group, essentilly those who would use online tools over installing applications, which is something you see more of these days. I wanted my family and friends to have a safe drop-in replacement for those shady websites. For those who want to use a "native app", installing MAZANOKE as a PWA is also a great option.

In terms of core functionality, they are very similar and support the same output image formats. But at the end of the day, MAZANOKE is privacy-focused too, and have plans to add a simple image editor for obfuscation, cropping, and related features. You can also access MAZANOKE anywhere, whether it is self-hosted or on the official instance.

Fundamentally, MAZANOKE relies heavily on the device, and the browser's Canvas API. This means that the speed and quality could slightly differ depending on which device/browser you use. I believe Caesium's performance would be more consistent.

(I didn't know where to put this, but my favorite feature is being able to paste to compress an image right away using MAZANOKE.)

Edit: typo

[–] lent9004@lemmy.world 1 points 3 weeks ago

For this project, I think I'll keep it to just images, but if I tackle a project with videos, it would be separate from MAZANOKE.

[–] lent9004@lemmy.world 1 points 3 weeks ago

The unofficial unraid template was graciouslly provided by ctrlaltd1337ed, but I appreciate the sentiment.

About the name, It is an amalgamation of two words, I'll leave the rest to your imagination!

[–] lent9004@lemmy.world 6 points 3 weeks ago

Correct! This all works in the browser offline. As outlined in the install instructions, you can simply download the project files and just launch index.html. The docker setup is if you want to be able to access the service on local network or share it publicly.

[–] lent9004@lemmy.world 7 points 3 weeks ago (5 children)

Yes, it's all JavaScript and essentially relies on the Canvas API to compress the images, so the performance is heavily dependent of your device and browser. I haven't delved into WASM yet, but it would indeed open up doors for improvements, such a more file format support and more intelligent optimization. At the moment, working with canvas keeps things a lot more straightforward, however.

There is no funding I can provide at all (I've received 2 donations so far, which I'm very grateful for!). I just do this on my spare time, which I have a lot less of these days. I initially created MAZANOKE as a drop-in replacement for family and friends, specifically to those who tend to use questionable or ad-bloated online tools.

 

MAZANOKE is a simple image optimizer that runs in your browser, works offline, and keeps your images private without ever leaving your device.

Created for everyday people and designed to be easily shared with family and friends, it serves as an alternative to questionable "free" online tools.

See how you can easily self-host it here:
https://github.com/civilblur/mazanoke

---

Highlights from v1.1.5 (view full release note)

The focus of this release has been to improve the core foundation and file format support, but I'm planning to expand with more features further down the road in order to improve the usefulness of MAZANOKE (while still keeping the UX simple).

  • Support basic authentication for Docker setups.
  • TIFF file format support.
    • Convert from TIFFJPG, PNG, WebP, ICO
  • ICO file format support.
    • Convert from and to an ICO image.

---

I also feel incredibly honored that MAZANOKE was recently featured on several of my favorite communities:

It's been incredible to see the growth of the user base, with over 54,000 docker pulls for the previous release alone, and now reaching over 1400 stars! I never anticipated this at all and I'm truly grateful for the support!

I'd like to thank everyone who helped spread the word, whether through starring, word of mouth, community engagement, blog posts, or by packaging it for things like Unraid and NixOS, and everything in between!

[–] lent9004@lemmy.world 2 points 2 months ago (1 children)

As a Lemmy user myself, I totally get the sentiment. GitHub isn’t ideal, and I had also considered Codeberg in the past (not for this project, but way back for others). Unfortunately, the simple reason is that the community is already on there, which makes getting contributions and engagement much easier. Managing and tracking issues across two platforms would be quite (mentally) taxing, which is on top of the effort already going into developing the app.

 

MAZANOKE is a simple image optimizer that runs in your browser, works offline, and keeps your images private without ever leaving your device.

Created for everyday people and designed to be easily shared with family and friends, it serves as an alternative to questionable "free" online tools.

See how you can easily self-host it here:
https://github.com/civilblur/mazanoke


Highlights from v1.1.0 (view full release note)

I'm delighted to present some much-requested features in this release, including support for HEIC file conversion!

  • Added support to convert HEIC, AVIFJPG, PNG, WebP.
  • Paste image/files from clipboard to start optimization.
  • When setting a file size limit, you can switch between units MB and KB.
  • Remember last-used settings, stored locally in the browser.

The support from the community has been incredibly encouraging, and with over 4500 docker pulls, the project is now humbly making its way toward a 500 stars milestone.

The project also received its first donation, which I'm incredibly grateful for!

 

Thank you for the support that I've received during the launch of MAZANOKE—a self-hosted local image optimizer that runs in your browser! It can run offline and is installable as a web app too.

This week, I've been addressing the feature that has been a bottleneck for the usability of an image optimizer, namely: batch upload and download.

Project page: https://github.com/civilblur/mazanoke

Highlights v1.0.1 (view release note)

  • Upload multiple files simultaneously
    • Images are processed one at a time to prevent excessive browser resource usage.
  • Download all optimized images as a zip file.
    • Files over 1GB are split into multiple zip files.
    • Large downloads may take time, depending on hardware and browser.
  • Option to clear optimized images from the "Images" section.
  • Convert GIF and SVG to PNG.
    • GIF-to-GIF optimization is not supported.
    • SVG optimization is not planned.
 

cross-posted from: https://lemmy.world/post/27452084

MAZANOKE is a simple image compressor and converter that runs entirely in your browser. No external uploads, works offline as a web app, and is powered by the "Browser Image Compression" library.

Github project page: https://github.com/civilblur/mazanoke

Features

  • 🚀 Compress & Convert Images Instantly In Your Browser
    • Adjust image quality (0-100%).
    • Set a target file size.
    • Set max dimensions, to not exceed a certain width/height.
    • Convert between JPG, PNG, and WebP.
  • 🌍 Installable Web App
    • Use as a Progressive Web App (PWA).
    • Dark and light mode.
    • Fully responsive for desktop, tablet, and mobile.
  • 🔒 Privacy-Focused
    • Works offline.
    • All image processing happens locally.
    • No data is uploaded to external servers. Your files stay on your device.

Use case

This app is designed to compress smaller batches of images, aimed at casual users who need to compress and convert a few images at a time.

I created it primarily for friends and family who are less tech-savvy, to help them compress and convert images in a simple, safe, and private way.

Since the compression is handled in the browser, it won't cause any additional load on your server.

Additional notes

  • I wanted it to be low-dependency, so it's built using pure HTML/CSS/JS.
  • If you're wondering about the excessive amount of animations used, it's simply because I wanted to have fun working on this project. These types of animations are usually impractical for general purpose websites and are impractical to maintain.
 

MAZANOKE is a simple image compressor and converter that runs entirely in your browser. No external uploads, works offline as a web app, and is powered by the "Browser Image Compression" library.

Github project page: https://github.com/civilblur/mazanoke

Features

  • 🚀 Compress & Convert Images Instantly In Your Browser
    • Adjust image quality (0-100%).
    • Set a target file size.
    • Set max dimensions, to not exceed a certain width/height.
    • Convert between JPG, PNG, and WebP.
  • 🌍 Installable Web App
    • Use as a Progressive Web App (PWA).
    • Dark and light mode.
    • Fully responsive for desktop, tablet, and mobile.
  • 🔒 Privacy-Focused
    • Works offline.
    • All image processing happens locally.
    • No data is uploaded to external servers. Your files stay on your device.

Use case

This app is designed to compress smaller batches of images, aimed at casual users who need to compress and convert a few images at a time.

I created it primarily for friends and family who are less tech-savvy, to help them compress and convert images in a simple, safe, and private way.

Since the compression is handled in the browser, it won't cause any additional load on your server.

Additional notes

  • I wanted it to be low-dependency, so it's built using pure HTML/CSS/JS.
  • If you're wondering about the excessive amount of animations used, it's simply because I wanted to have fun working on this project. These types of animations are usually impractical for general purpose websites and are impractical to maintain.
 

cross-posted from: https://lemmy.world/post/25939893

"Youlag" is a theme and extension for the feed aggregator FreshRSS. It delivers a video-focused browsing experience for your YouTube RSS feeds, all within FreshRSS, with a sleek theme and extra features.

Supports video feeds from YouTube, Invidious, and Piped.

Why?

The general idea is to subscribe to YouTube channels via RSS, allowing you to follow your favorite creators without an account. With Youlag installed, you can browse and watch videos in a familiar, YouTube-like interface.

More features are planned, including video queuing (with some limitations).

Git repository for more details:

https://github.com/civilblur/youlag


Features:

  • Optimized for Video Viewing
    • Browse your YouTube, Invidious, Piped RSS subscriptions with ease.
    • Clean, familiar video platform layout.
    • Fullscreen viewing for videos and feed items.
    • Quickly exit videos with Esc key.
    • Shortcuts for external viewing: "Invidious", "YouTube", or "YouTube embed view" (for less distraction).
    • Dark mode.
  • 🖥️ Desktop & Mobile
    • Reponsive design.
    • Redesigned menus for better one-handed navigation.
    • Improved readability and legibility across devices.

Since v3.0.0, and currently v3.0.2, Youlag has been refactored from a CSS theme to work more like an extension. This has improved stability and allowed me to add more features.

It's still not yet a native FreshRSS extension, but my plan is to convert it to one.

 

"Youlag" is a theme and extension for the feed aggregator FreshRSS. It delivers a video-focused browsing experience for your YouTube RSS feeds, all within FreshRSS, with a sleek theme and extra features.

Supports video feeds from YouTube, Invidious, and Piped.

Why?

The general idea is to subscribe to YouTube channels via RSS, allowing you to follow your favorite creators without an account. With Youlag installed, you can browse and watch videos in a familiar, YouTube-like interface.

More features are planned, including video queuing (with some limitations).

Git repository for more details:

https://github.com/civilblur/youlag


Features:

  • Optimized for Video Viewing
    • Browse your YouTube, Invidious, Piped RSS subscriptions with ease.
    • Clean, familiar video platform layout.
    • Fullscreen viewing for videos and feed items.
    • Quickly exit videos with Esc key.
    • Shortcuts for external viewing: "Invidious", "YouTube", or "YouTube embed view" (for less distraction).
    • Dark mode.
  • 🖥️ Desktop & Mobile
    • Reponsive design.
    • Redesigned menus for better one-handed navigation.
    • Improved readability and legibility across devices.

Since v3.0.0, and currently v3.0.2, Youlag has been refactored from a CSS theme to work more like an extension. This has improved stability and allowed me to add more features.

It's still not yet a native FreshRSS extension, but my plan is to convert it to one.

Edit 2025-02-23:

Please use the latest release, which is v3.0.4 as of writing.

 

"Youlag Theme for FreshRSS" provides a video-focused browsing experience for your RSS subscriptions. It tries to provide a similar experience to YouTube, primarily through its layout using CSS, but also a little bit of Javascript.

Git repo for more details: https://github.com/civilblur/youlag

In case you're not aware, "FreshRSS is a self-hosted RSS feed aggregator".


The idea is that you subscribe to content creators through YouTube's RSS feed https://www.youtube.com/feeds/videos.xml?channel_id=%7Bid_goes_here%7D, then browse, watch, save to playlist ("label"), right within FreshRSS.

There's also third-party extension for FreshRSS that provides the ability to use Invidious, but as we all know, the public instances are unfortunately struggling quite a bit as of writing.

view more: next ›