Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB

  1. Home
  2. Selfhosted
  3. MAZANOKE v1.1.5: Self-hosted local image optimizer in your browser — now supports TIFF, ICO, basic auth (featured on Tailscale, LINUX Unplugged, Selfh.st)

MAZANOKE v1.1.5: Self-hosted local image optimizer in your browser — now supports TIFF, ICO, basic auth (featured on Tailscale, LINUX Unplugged, Selfh.st)

Scheduled Pinned Locked Moved Selfhosted
selfhosted
31 Posts 10 Posters 1 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ulrich@feddit.orgU [email protected]

    Any plans to support PDFs or video conversion/compression?

    L This user is from outside of this forum
    L This user is from outside of this forum
    [email protected]
    wrote last edited by
    #11

    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.

    1 Reply Last reply
    0
    • L [email protected]

      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 TIFF → JPG, 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:

      • Tailscale (YouTube)
      • LINUX Unplugged (Ep. 615)
      • Self-Host Weekly (May 2, 2025)

      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!

      U This user is from outside of this forum
      U This user is from outside of this forum
      [email protected]
      wrote last edited by
      #12

      I use Caesium for image compression.

      Not shilling, since both seem to be free and open-source image compressors.

      How's MAZANOKE different?

      J L 2 Replies Last reply
      1
      • L [email protected]

        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 TIFF → JPG, 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:

        • Tailscale (YouTube)
        • LINUX Unplugged (Ep. 615)
        • Self-Host Weekly (May 2, 2025)

        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!

        A This user is from outside of this forum
        A This user is from outside of this forum
        [email protected]
        wrote last edited by
        #13

        For me this begs the question, why not just a desktop application?

        J V L 3 Replies Last reply
        2
        • A [email protected]

          For me this begs the question, why not just a desktop application?

          J This user is from outside of this forum
          J This user is from outside of this forum
          [email protected]
          wrote last edited by
          #14

          For me this begs the question, why does this question always come up in selfhosted communities? 😉

          For me I like self-hosted apps because I switch between desktop and laptop, and some tools are nice to have on a phone too. This way I pull it in-house, and can use it everywhere. Besides that, there are two other laptops in the house and if I am using those I have the same tools available as well. It its something I need to help the kids with, and they need to use it more often they too can use it regardless of device. Plus its one less thing to install when setting up a new device.

          A 1 Reply Last reply
          4
          • U [email protected]

            I use Caesium for image compression.

            Not shilling, since both seem to be free and open-source image compressors.

            How's MAZANOKE different?

            J This user is from outside of this forum
            J This user is from outside of this forum
            [email protected]
            wrote last edited by
            #15

            Its a hosted tool and everything runs in the browser. It would be interesting to compare results because it could be that c++ is better suited for these kinds of operations.

            1 Reply Last reply
            1
            • J [email protected]

              For me this begs the question, why does this question always come up in selfhosted communities? 😉

              For me I like self-hosted apps because I switch between desktop and laptop, and some tools are nice to have on a phone too. This way I pull it in-house, and can use it everywhere. Besides that, there are two other laptops in the house and if I am using those I have the same tools available as well. It its something I need to help the kids with, and they need to use it more often they too can use it regardless of device. Plus its one less thing to install when setting up a new device.

              A This user is from outside of this forum
              A This user is from outside of this forum
              [email protected]
              wrote last edited by
              #16

              I didn't realize this comes up a lot 😅. I'll restrain myself next time!

              1 Reply Last reply
              0
              • L [email protected]

                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 TIFF → JPG, 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:

                • Tailscale (YouTube)
                • LINUX Unplugged (Ep. 615)
                • Self-Host Weekly (May 2, 2025)

                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!

                B This user is from outside of this forum
                B This user is from outside of this forum
                [email protected]
                wrote last edited by
                #17

                If someone at some random website wants to look at my weirdly specific collection of pictures. Let them.

                1 Reply Last reply
                1
                • L [email protected]

                  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.

                  V This user is from outside of this forum
                  V This user is from outside of this forum
                  [email protected]
                  wrote last edited by
                  #18

                  If you do delve into improving the performance, I suggest using Rust and no_std crates for dealing with images, such as https://docs.rs/zune-jpeg/latest/zune_jpeg/.

                  It would probably take some time to get it working, but it would probably increase performance and support any format you can find a crate for. But it does not seem like it's worth it.

                  I'll add this to my list of "things I might to when I don't have a side project to waste my time on" 😄

                  L 1 Reply Last reply
                  0
                  • L [email protected]

                    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.

                    V This user is from outside of this forum
                    V This user is from outside of this forum
                    [email protected]
                    wrote last edited by
                    #19

                    I did also forget to say it does look very nice, with animations and proper polish!

                    1 Reply Last reply
                    0
                    • A [email protected]

                      For me this begs the question, why not just a desktop application?

                      V This user is from outside of this forum
                      V This user is from outside of this forum
                      [email protected]
                      wrote last edited by
                      #20

                      From what I read, it could easily be a tauri app, without a backend: just index.html in your system's webview.

                      1 Reply Last reply
                      0
                      • U [email protected]

                        I use Caesium for image compression.

                        Not shilling, since both seem to be free and open-source image compressors.

                        How's MAZANOKE different?

                        L This user is from outside of this forum
                        L This user is from outside of this forum
                        [email protected]
                        wrote last edited by [email protected]
                        #21

                        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

                        1 Reply Last reply
                        1
                        • V [email protected]

                          If you do delve into improving the performance, I suggest using Rust and no_std crates for dealing with images, such as https://docs.rs/zune-jpeg/latest/zune_jpeg/.

                          It would probably take some time to get it working, but it would probably increase performance and support any format you can find a crate for. But it does not seem like it's worth it.

                          I'll add this to my list of "things I might to when I don't have a side project to waste my time on" 😄

                          L This user is from outside of this forum
                          L This user is from outside of this forum
                          [email protected]
                          wrote last edited by
                          #22

                          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.

                          V 1 Reply Last reply
                          0
                          • A [email protected]

                            For me this begs the question, why not just a desktop application?

                            L This user is from outside of this forum
                            L This user is from outside of this forum
                            [email protected]
                            wrote last edited by
                            #23

                            I think @[email protected] 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.

                            1 Reply Last reply
                            0
                            • L [email protected]

                              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.

                              V This user is from outside of this forum
                              V This user is from outside of this forum
                              [email protected]
                              wrote last edited by
                              #24

                              Rust will take time - it has a few concept that I haven't seen in javascript/python/java/C++ family of languages. But it gives "zero-cost abstractions" i.e. a way to write high-level code without any performance penalty. And it has great tooling and WASM support, which is what you'd be after.

                              But as I said, it is all not worth it now, just for this application.

                              L 1 Reply Last reply
                              0
                              • V [email protected]

                                Rust will take time - it has a few concept that I haven't seen in javascript/python/java/C++ family of languages. But it gives "zero-cost abstractions" i.e. a way to write high-level code without any performance penalty. And it has great tooling and WASM support, which is what you'd be after.

                                But as I said, it is all not worth it now, just for this application.

                                L This user is from outside of this forum
                                L This user is from outside of this forum
                                [email protected]
                                wrote last edited by
                                #25

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

                                1 Reply Last reply
                                0
                                • L [email protected]

                                  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 TIFF → JPG, 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:

                                  • Tailscale (YouTube)
                                  • LINUX Unplugged (Ep. 615)
                                  • Self-Host Weekly (May 2, 2025)

                                  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!

                                  sharkattak@kbin.melroy.orgS This user is from outside of this forum
                                  sharkattak@kbin.melroy.orgS This user is from outside of this forum
                                  [email protected]
                                  wrote last edited by
                                  #26

                                  Gave it a try by unzipping and running from local index.html, and fed it a 4000*3000 HEIC photo (converting that kind of pics when someone sends them to me would be my main use case) but it has this weird bug that, no matter what format I select, it takes like a couple seconds to convert, it displays that an image of the selected format is ready, but when I click the button it presents a jpeg pic to download. Same happens on mazanoke.com
                                  Using Firefox 139 on win10 if that helps.

                                  L 1 Reply Last reply
                                  0
                                  • sharkattak@kbin.melroy.orgS [email protected]

                                    Gave it a try by unzipping and running from local index.html, and fed it a 4000*3000 HEIC photo (converting that kind of pics when someone sends them to me would be my main use case) but it has this weird bug that, no matter what format I select, it takes like a couple seconds to convert, it displays that an image of the selected format is ready, but when I click the button it presents a jpeg pic to download. Same happens on mazanoke.com
                                    Using Firefox 139 on win10 if that helps.

                                    L This user is from outside of this forum
                                    L This user is from outside of this forum
                                    [email protected]
                                    wrote last edited by
                                    #27

                                    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)?

                                    sharkattak@kbin.melroy.orgS 1 Reply Last reply
                                    0
                                    • L [email protected]

                                      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)?

                                      sharkattak@kbin.melroy.orgS This user is from outside of this forum
                                      sharkattak@kbin.melroy.orgS This user is from outside of this forum
                                      [email protected]
                                      wrote last edited by
                                      #28

                                      No, not in a new tab. I meant "display" as "it's shown in the processed images list". I upload the heic image, it gets read and compressed, and appears in the processed images list, as it should. But when I click the download button, I get the Firefox dialog to download a jpeg image, and if I proceed, I DO download a jpeg image. Regardless of the conversion format chosen.

                                      (Other little quirk, if "Convert to" is set to JPEG, PNG, webP or ICO, the converted image will be shown in the processed list with the corresponding extension, but if set to Default, it'll show as FILENAME. without extension)

                                      L 1 Reply Last reply
                                      0
                                      • sharkattak@kbin.melroy.orgS [email protected]

                                        No, not in a new tab. I meant "display" as "it's shown in the processed images list". I upload the heic image, it gets read and compressed, and appears in the processed images list, as it should. But when I click the download button, I get the Firefox dialog to download a jpeg image, and if I proceed, I DO download a jpeg image. Regardless of the conversion format chosen.

                                        (Other little quirk, if "Convert to" is set to JPEG, PNG, webP or ICO, the converted image will be shown in the processed list with the corresponding extension, but if set to Default, it'll show as FILENAME. without extension)

                                        L This user is from outside of this forum
                                        L This user is from outside of this forum
                                        [email protected]
                                        wrote last edited by
                                        #29

                                        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.

                                        sharkattak@kbin.melroy.orgS 1 Reply Last reply
                                        0
                                        • L [email protected]

                                          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.

                                          sharkattak@kbin.melroy.orgS This user is from outside of this forum
                                          sharkattak@kbin.melroy.orgS This user is from outside of this forum
                                          [email protected]
                                          wrote last edited by
                                          #30

                                          Okay, here's what I've found.
                                          First of all, I use vanilla Firefox on windows 10, only extensions installed are AdBlockPlus and Privacy Badger, but even with those turned off and Firefox's own Tracking Protection set to Standard instead of Strict doesn't change the result. However, what I had missed is that ICO is the only conversion that works: it'll take about a minute instead of the couple of seconds of the other cases, generate a file with huge size confronted with the original, but it will let you download an ICO file.
                                          Tried it on Edge, and every conversion works normally. The no-extension quirk for the Default option is still there, though.

                                          This is what the Firefox console shows, from page load to the end of the conversion:

                                          Input file:
                                          File` { name: "sample2.heic", lastModified: 1750180660057, webkitRelativePath: "", size: 351970, type: "" } compression.js:43:11
                                          File type is HEIC: image/heic utilities.js:7:13
                                          Input image file size: 0.336 MB compression.js:144:11
                                          Settings:
                                          Object { maxSizeMB: "0.336", initialQuality: 0.8, maxWidthOrHeight: undefined, useWebWorker: true, onProgress: options(p), preserveExif: false, fileType: "image/webp", libURL: "./browser-image-compression.js", alwaysKeepResolution: true, signal: AbortSignal } compression.js:161:11
                                          Preprocessing HEIC image... compression.js:186:11
                                          Optimizing "sample2.heic" (0%) compression.js:119:13
                                          Optimizing "sample2.heic" (5%) compression.js:119:13
                                          Optimizing "sample2.heic" (10%) compression.js:119:13
                                          Optimizing "sample2.heic" (15%) compression.js:119:13
                                          Optimizing "sample2.heic" (20%) compression.js:119:13
                                          Optimizing "sample2.heic" (25%) compression.js:119:13
                                          Optimizing "sample2.heic" (30%) compression.js:119:13
                                          Optimizing "sample2.heic" (99%) compression.js:119:13
                                          Post-processing... compression.js:223:11
                                          New image extension: webp utilities.js:144:11

                                          L 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          Powered by NodeBB Contributors
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups