Decided I’d give a sneak peek at something I’m working on:

Since building my home server I’ve constantly been on the lookout for a decent frontend to manage my files, etc. I initially tried file browser, but it was always really buggy for me, and honestly I hated it.

Since my server is headless, a PiKVM and the like wouldn’t really work for me the way I wanted, so I decided to just build what I was looking for on my own.

And with that, I’d like to introduce: redox_os TBD

It’s an emulated OS built in react with a node+express backend. It’s made to be as fully customizable as you want. You can create new “apps” for it very easily. Anything you can make in react/JavaScript can be loaded as an “app” with just a simple config file.

It’s still very much a work in progress, but I figured it was complete enough for a little show and tell.

Current features:

  • a desktop with icons/etc
  • a file browser
  • text editor (complete with syntax highlighting)
  • a full featured terminal
  • a picture viewer
  • a music player
  • a video player (capable of live-transcoding to an html5 compatible format)
  • a file downloader (for downloading files to the server from the web)
  • full drag and drop capabilities (even drop files from outside your browser to upload)
  • downloading files from the server to local
  • full mobile/touch support

I’m also still very much deciding how to handle the release. It’s mostly functional already, but I’d really want it to be polished before a proper release.

Since I also have a full time job, that may take a while. Contributors would definitely help, but I’m also a little split on whether I should make if FOSS. I’m definitely leaning so, but idk.

Definitely open to any feedback, suggestions, criticism, etc.

Edit: Thanks to everyone for the feedback! Looks like I’ll definitely be going FOSS. Also I’ll be changing the name 😄

Not sure what to call it now though. Maybe reDOS? Lol

I still wanna tidy everything up a bit before making the code public. Maybe go back and start adding some comments/documentation as currently there is none. I’m really terrible about that.

Also definitely a bit shy to open up my code to public scrutiny haha. I’m sure there are plenty of mistakes and bad practices.

    • mhredox@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      13
      ·
      edit-2
      1 year ago

      Oh damn good call haha.

      I guess I never bothered to check. I’m not married to the name so it’s no big deal really. I was initially just building this for myself without any real plan to release anything so I chose my artist/producer handle and never thought twice about it.

  • SheeEttin@lemm.ee
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    What’s the advantage of this versus just running a graphical desktop and using VNC or something?

    • mhredox@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      1 year ago

      As ikidd mentioned, definitely speed and access. It’s just a react web-app. There’s no VM required, and it’s not streaming a video capture of a desktop. I’m actually amazed at how performant it is. It loads almost instantly and feels like a regular desktop, even on mobile.

      Even with all the windows open in the screenshot and streaming a transcoded video, it still uses less memory than a single open YouTube tab.

    • ikidd@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      Speed and access. Being able to just bring it up in a browser would useful.

      I use Kasm for this sort of thing, but it’s pretty slow at times.

  • ikidd@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    You’ve done a nice job in a short time. I’d give it a spin as a jump server sort of application I could use in a browser. I currently use KasmWeb for this sort of thing, because I like having a vanilla Linux experience in a browser, but it’s kinda heavy, though faster than something like VNC and easier to poke a hole in a firewall with basic auth for access.

    • mhredox@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      1 year ago

      Thanks!

      Another reason for the project was that I too wanted a desktop experience while also being being able to access remotely. I just didn’t want to open any “scary” ports on my server lol. I can throw this whole thing behind 2fa and it’s still completely isolated in a docker container, thus it has as much or as little privilege as I want.

      I actually can ssh into my main server through this, if desired, without opening any ssh ports publicly.