This release adds the ability to edit existing links, show and download QR codes for easy sharing, and various improvements in the frontend. Check out the release note for a list of all changes.

  • dan@upvote.au
    link
    fedilink
    English
    arrow-up
    19
    arrow-down
    2
    ·
    edit-2
    4 days ago

    Looks like a good project, but I genuinely don’t quite get why Rust projects feel the need to advertise “written in Rust” as a feature. Do you find that a lot of users care which programming language your app is written in? Does it help with finding contributors?

    I don’t know which programming language most of my self-hosted apps use, and I don’t mind since they all work well and do their job.

    • Riskable@programming.dev
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 day ago

      As an information security professional and someone who works on tiny, embedded systems, knowing that a project is written in Rust is a huge enticement. I wish more projects written in Rust advertised this fact!

      Benefits of Rust projects—from my perspective:

      • Don’t have to worry about the biggest, most common security flaws. Rust projects can still have security flaws (anything can) but it’s much less likely for certain categories of flaws.
      • Super easy to build stuff from scratch. Rust’s crates ecosystem is fantastic! Especially in the world of embedded where it’s a godsend compared to dealing with C/C++ libraries.
      • It’s probably super low overhead and really fast (because Rust stuff just tends to be like that due to the nature of the language and that special way the borrow checker bitches at you when you make poor programming choices haha).
      • It’s probably cross-platform or trivially made cross-platform.
    • BackgrndNoize@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      2 days ago

      People who are into systems languages would care and for newer languages the more people advertise their usage the more mainstream it becomes and then bigger more traditional companies would consider using it and that would help increase the size of that languages ecosystem and community so I’m okay with people adding written in Rust to their project descriptions

    • Lightfire228@pawb.social
      link
      fedilink
      English
      arrow-up
      32
      arrow-down
      2
      ·
      4 days ago

      Imo, it’s nice to see tools written in a memory safe systems language

      Especially if you use a lot of them. More utility, less attack surface

      • dan@upvote.au
        link
        fedilink
        English
        arrow-up
        5
        ·
        4 days ago

        This makes sense! You get the same advantage if the app uses Go or C# though, and both of those can compile to a single statically-linked executable too.

        • Riskable@programming.dev
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          1 day ago

          If it’s written in C# that’s a huge turn-off though because that means it’s likely to only run on Windows.

          I mean, in theory, it could run on Linux but that’s a very rare situation. Almost everything ever written in C# uses Windows-specific APIs and basically no one installs the C# runtime on Linux anymore. It’s both enormous and a pain in the ass to get working properly for any given C# project.

          • dan@upvote.au
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            1 day ago

            That’s a very old way of thinking of things. C# has been cross platform for a long time.

            Almost everything ever written in C# uses Windows-specific APIs

            Not really. Most C# apps use .NET (since the framework and standard library is quite feature-rich) rather than direct Win32 calls, and .NET is cross-platform. A lot of web services are written in C# and deployed to Linux servers.

            basically no one installs the C# runtime on Linux anymore

            You can compile a C# app to a single executable that doesn’t require the framework to be installed.

            Are you running Jellyfin, the *arr suite, slskd, or Technitium DNS? They’re all written in C#.

            • Riskable@programming.dev
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 day ago

              You’ve obviously never tried to get any given .NET project working in Linux. There’s .NET and then there’s .NET Core which is a mere subset of .NET.

              Only .NET Core runs on Linux and nobody uses it. The list of .NET stuff that will actually run on .NET Core (alone) is a barren wasteland.

              • dan@upvote.au
                link
                fedilink
                English
                arrow-up
                1
                ·
                edit-2
                23 hours ago

                I’m a C# developer and run .NET apps on Linux all the time. I usually work on CLI and server apps, but recently released my first Linux desktop app written in C#: https://flathub.org/apps/com.daniel15.wcc

                Even before .NET Core, I was using Mono to run C# apps on Linux. There used to be quite a few GNOME apps written in C#.

                There’s .NET and then there’s .NET Core which is a mere subset of .NET.

                Nope. The old .NET Framework has been deprecated for a long time. The latest version, 4.8.1, is not very different to 4.6 which was released 10 years ago.

                The modern versions are just called .NET, which is what .NET Core used to be, but with much more of the framework implemented in a cross-platform way. Something like 95% of the Windows-only .NET Framework has been reimplemented in a cross-platform way.

                The list of .NET stuff that will actually run on .NET Core (alone) is a barren wasteland.

                All modern .NET code is built on the cross-platform framework. Only legacy apps used the old Windows-only .NET Framework.

                If you get the free community version of Visual Studio and create a new C# project, it’ll be using the latest cross-platform framework. You can even cross-compile for Linux on a Windows system.

    • AlecSadler@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      14
      ·
      4 days ago

      I mean, for myself personally if it were written in NodeJS or Python or something I’d be less interested.

      And I don’t even care about Rust. It’s just that everything and their sister is written in NodeJS and Python. I say this as someone who founded a company that uses Python.

      Also the more I hear about actual Rust adoption the more willing I am to consider it for the next big thing.

      • dan@upvote.au
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 days ago

        if it were written in NodeJS or Python or something I’d be less interested.

        Does it matter if it’s running in Docker and the container is lightweight (say less than 50MB), though? I like apps being written in a language I know well so I can contribute if needed, but other than that, I mostly treat a Docker image as a black box.

        • AlecSadler@lemmy.blahaj.zone
          link
          fedilink
          English
          arrow-up
          7
          ·
          edit-2
          4 days ago

          That’d be awesome. Unfortunately most of my experience (and I realize that is my experience) has so many packages dependencies that 50MB is impossible.

          Don’t get me wrong, I am proficient in JS/TS so being able to work handily in NodeJS is great, less context switching, but I feel like so many companies I contract for just jam a square peg into a round hole because - and it just makes things painful.

          • dan@upvote.au
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            4 days ago

            Yeah it’s definitely not possible to reach 50MB with a Node.js Docker image, but <150MB should be doable with a distroless base image + compiling the app into one JS file (for example, using Parcel or esbuild).

            It’s possible to reach ~50-60MB Docker image with a C# app. Rust and Go definitely produce more compact binaries though.

    • SinTan1729@programming.devOP
      link
      fedilink
      English
      arrow-up
      13
      arrow-down
      1
      ·
      4 days ago

      It’s just a way to advertise, I think. I’ve found myself putting more trust in projects written in Rust or Go, than say, JavaScript.

      • Nato Boram@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        2 days ago

        It’s advertising the inherent safety that comes from Rust and Go having errors as values. They’re just fundamentally better languages.

  • Pennomi@lemmy.world
    link
    fedilink
    English
    arrow-up
    18
    ·
    4 days ago

    I love projects like this. Do one thing, super well, without adding a kajillion dependencies. I love the vanilla HTML / CSS approach.

    • SinTan1729@programming.devOP
      link
      fedilink
      English
      arrow-up
      10
      ·
      edit-2
      4 days ago

      Thank you for the kind words.

      Won’t lie, the main reason that I stuck to a vanilla frontend approach is because I didn’t know what else to do. I’ve never been a frontend dev, and never wish to be one. So I looked at an older project, and started by trying to replicate it. In hindsight, it was probably a good decision. The backend is more intentional though, and I do try to keep things simple and clean.

    • SinTan1729@programming.devOP
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      3 days ago

      শুনে ভালো লাগলো যে এটা কারো চোখে পড়েছে। নয়তো সবাইকে বোঝাতে হয় কি নাম, কেন নাম। আসলে বাঙালী প্রোগ্রামার খুব বেশি চিনি না।

      • xavier666@lemmy.umucat.day
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        3 days ago

        Amar toh ekbaare chokhe poreche 😁

        Bangali “hobby” programmer khub kom i ache. Beshir bhag IT company te ache, aar shudhu kaaj er jonnoi joto ta programming dorkar pore, kore.

        Fediverse e arek bangali dekhe khub i bhalo laagche 🤝🤝

  • SinTan1729@programming.devOP
    link
    fedilink
    English
    arrow-up
    10
    ·
    edit-2
    4 days ago

    I’m already aware of a few small UI oddities. There were quite a few changes in the frontend, so I kind of expect these. Please let me know if you see anything weird. You can comment here, or open a bug report. I expect to do a patch release by tomorrow.

  • glizzyguzzler@piefed.blahaj.zone
    link
    fedilink
    English
    arrow-up
    5
    ·
    4 days ago

    I am digging this, thanks for keeping it updated and improving it!

    I see that you say it’s feature complete / no user stuff; but it’d really mesh well if it took OIDC authentication. Don’t need it to make users or anything, just instead of the password popup the OIDC provider is asked for confirmation that whatever user registered with the OIDC is logged in. That’d let me leverage extra 2FA protection from the OIDC provider and juice on that one-login life.

    Now I have no experience making OIDC crap work nor how it even works behind the scenes, so I can’t help :( sorry; just wishful thinking.

    Also saw on your github - hope our newly shit-out gestapo don’t bother you!

    • flubba86@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      4 days ago

      This would require configuration with a whitelist of which OIDC IdPs to trust. Otherwise anybody could self-authorise a OIDC token (using their own IdP) and use that to log in.

      • SinTan1729@programming.devOP
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        4 days ago

        Hmm, so that might be out of scope here. But I can try to do some kind of 2FA, shouldn’t be much of an issue, really. It’s just that I never thought a link shortener needed 2FA protection since the links will be publicly shared anyway.

      • glizzyguzzler@piefed.blahaj.zone
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 days ago

        Yes that tracks with how OIDC setup works with my other services (you give the container the OIDC links and shared secrets so it knows how to talk to the OIDC and trust it).

  • bergetfew@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    4 days ago

    I’ve been using your application for my services for almost a month now, though I just have one redirect link at the moment. I just forgot about it after the setup, although you could consider it to be a sign of a good product?

    I wish if there could be additional analytics or logs for the links like a timeline, unique + existing visitors etc, however I completely understand if they cannot be implemented for the sake of keeping the app simple. Thanks for your service regardless!

    • SinTan1729@programming.devOP
      link
      fedilink
      English
      arrow-up
      4
      ·
      4 days ago

      I’m happy that you like it. Any kind of analytics or logging is decidedly against my stated policy for this project, so I won’t be adding it. But I understand that some might need it, and in that case, one should look at more comprehensive solutions like YOURLS.