• CameronDev@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    3 hours ago

    Some feedback:

    let remote_url = "https://gist.githubusercontent.com/ZeSystem-Inc/20ddc1ac41d73c6033cee3b4a5ab1a85/raw";
    

    You have effectively hardcoded the list of software you support, ideally you should be able to dynamically update the list, otherwise you have no way to revoke or update versions if required. And if its hardcoded, why bother network requesting for it, just build it into the binary. Would be a little larger binary, but even faster.

    No dependency resolution – eliminates fragility.

    Meaningless, there is no dependency resolution because thats done for you by the installers.

    Written in Rust – memory-safe, zero-cost, ultra-fast.

    The task you are doing is entirely IO bound, rusts performance is irrelevant.

        • ZeSystem@programming.devOP
          link
          fedilink
          arrow-up
          1
          ·
          2 hours ago

          I think you should use wid. I already use my own download tool. It’s better than winget, choco, and ninite.

          • CameronDev@programming.dev
            link
            fedilink
            arrow-up
            2
            ·
            1 hour ago

            Better is a wild claim.

            You’re right, gists do seem to update with the static url, however that isnt necessarily better, it now means your gist is effectively under your control, and you can replace the installers with malware packed ones. Operating a software repository/installer requires that people trust you, and that is basically impossible for a no-name dev with no history.

            You ideally should be doing checksum checks as well.

                • ZeSystem@programming.devOP
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  39 minutes ago

                  It’s open source. Anyone can audit it. You can create your own sources.list, but if you distribute it, you must open the code. Also, “wid info <package_name>” shows the exact URL it downloads from. Example: wid info llvm shows the official GitHub release link.

        • ZeSystem@programming.devOP
          link
          fedilink
          arrow-up
          1
          ·
          2 hours ago

          No, when I edit the gist, the URL doesn’t change. There are 32 packages right now. I’ve just added Epic Games. I use GitHub Gist.

    • ZeSystem@programming.devOP
      link
      fedilink
      arrow-up
      1
      ·
      3 hours ago

      Actually, I have a Gist for this that you can use. I update the Gist from time to time. In fact, the sources.list file can be customized specifically.

  • TehPers@beehaw.org
    link
    fedilink
    English
    arrow-up
    7
    ·
    20 hours ago

    I want to explain what this is to my kids. Can you describe it in a way that Dr. Seuss would?

      • gravitas_deficiency@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        3
        ·
        16 hours ago

        Come on, dude. You deleted the original post you made about this in /c/rust because you got so many people calling you out specifically for this, and you are recreating the post here in an attempt to whitewash and misdirect. Stop it.

        Seriously, that sort of shit should be a ban-able offense.

        • ZeSystem@programming.devOP
          link
          fedilink
          arrow-up
          1
          arrow-down
          1
          ·
          16 hours ago

          I didn’t delete it. The admin removed it due to bot/LLM accusations. I spoke with the admin and resolved it. I’m not a bot. Since the original post was gone, I created a new one. I’m not hiding anything.