This is a story about a poor student who wants to build his own storage solution with cheap computers. It all starts with just a few php scripts serving my mp3 files from my server, and now it become one of the most complex and (maybe the) best designed web desktop system out there in the open source world.
2 years ago, I have written another post sharing the v1.0 release and the back story of the system. If you are interested in the evolution of this system starting from 2018, you can check out the following post.
I write my own web desktop OS for 3 years and this is what it looks like now
Toby Chui ・ Apr 4 '21
And this is how it looks like now.
Features
User Interface
- Web Desktop Interface
- Ubuntu remix Windows style startup menu and task bars
- Clean and easy to use File Manager (Support drag drop, upload etc)
- Simplistic System Setting Menu
- No-bull-shit module naming scheme
Networking
- Basic Realtime Network Statistic
- Static Web Server (with build in Web Editor!)
- mDNS discovery + SSDP broadcast
- UPnP Port Forwarding
- WiFi Management (Support wpa_supplicant for Rpi or nmcli for Armbian)
File / Disk Management
-
Mount Disk Utilities
- Local File Systems (ext4, NTFS, FAT etc)
- Remote File Systems (WebDAV, SMB, SFTP etc)
-
Build in Network File Sharing Servers
- FTP, WebDAV, SFTP
- Basic Auth based simple HTTP interface for legacy devices with outdated browser
-
Virtual File System + Sandbox Architecture
-
File Sharing (Similar to Google Drive)
-
Basic File Operations with Real-time Progress (Copy / Cut / Paste / New File or Folder etc)
Security
- oAuth
- LDAP
- IP White / Blacklist
- Exponential login timeout
Extensibility
- ECMA5 (JavaScript…
Why v2.0?
The ArozOS v1 is a nice, stable system that enable me to access my files anywhere with internet and a browser from any kind of devices. It perfectly fits my needs when I am a university student studying in a local university. However, as I have started my Master research in another country, now I need to worry about redundancy and remote management issues.
That is why I have rewritten ArozOS to support mounting and sandbox network file shares into virtual drives. As this is not a technical post, I will simply summarize the update as: I rewrote the base of the whole system so that I can have multiple servers around the world and access them through one single gateway nodes. Just like your PC with mounted network drives!
How ArozOS looks like after 5 years
After 5 years of development, it finally matches the definition of modern OS design in all sense.
We rewritten the UI for the File Manager, which I will describe in details in later sections.
As usually, the system comes with build in players for all kind of media files. From music, video and photo to professional formats like psd and raw (support via 3rd party plugins)
We continue to work on a simple web development tools that allows users with little to no web development experience to create and host their website on ArozOS with a few clicks.
For professional use cases, we also provided a new tools that provide Serverless API script powered by ECMA5 (JavaScript like stuffs). So you can host some basic API services with your ArozOS running on your home network. More details below.
File Manager
The largest update of ArozOS v2 is the File Manager. The File Manage now contain much better RWD interface for mobile and desktop devices with different screen sizes.
As requested by a lot of users, the File Manager have a new "Detail" viewing mode. This mode allow a simple overview of all file properties within the current folder.
A properties sidebar is added to provide detail views over the selected item. This is very helpful when you do not want the "Details" / "Grid" view in a folder containing tons of files while wanting to have a quick way to check the properties of the selected file.
I also toke a lot of time optimizing the minor places to make user experience much better than the old versions. Including a dynamic adjusted folder path viewer (instead of the old version where it is hard coded to show only 3 folder name at a time)
And it even support inline editing function!
We optimized the rename workflow for desktop users. Instead of a popup window asking for the new file name, now we got inline filename editing as well.
Operation popups are moved to the side. So as to optimize for mobile interfaces as well as making the css less painful to maintain due to the old vertical align center design.
Storage Pools
In ArozOS v2, we get a brand new design in the Storage Pool setting interface as well as the backend architecture. In v1.0, you can only mount local disk into ArozOS as "virtual drive", which is basically a mount point on ArozOS, to v2.0's file system abstraction driver design, where you can mount anything that resemble a file system. From local disk, ram disk, network file sharing protocols like SMB, WebDAV, SFTP and FTP, all of them can be mounted as a "disk" in the new ArozOS system.
You can easily add new disk into ArozOS via the (+) button. By mounting another ArozOS server into your gateway server, you can access all ArozOS storage pools within a single server, making it much easier to manage.
We also redesigned the File System Handler properties editor to make it more simplistic and automated. Now many settings are default hidden and only show if you pick something related to it. Making it much more user friendly.
File Servers
What happens if you want to share files from ArozOS to your devices? In v2.0, you can do it in a lot of ways. For starters, you can use the Share API to share a file from File Manager.
Share API
In the new Share API, we added new Share modes so you can share to a particular user group or people you want.
The share interface got a bit update as well.
Under each of the preview interface, if it is a web compatible file, you will see an automatically generated embed link, where you can use it in your website like wordpress.
In order to make the share looks pretty on social network platforms, I added open graph support to the share API, so when you share the link to others, like discord for example, the preview will show up as a background rendered summary image file.
Network File Servers
If you want to access the file on other computers without browser, you can use the build in file server functions.
The build in file server support WebDAV, SFTP and FTP, where if you have a corresponding client like WinSCP or MacOS build in "Connect to server" function, you can access your file remotely from any devices.
Legacy Browsers Support
Legacy support is always important for ArozOS because even it is 2023, there are still people using Windows 7 or even Windows XP. That is why having backward compatibility is important. In v2.0, I have added a "Directory Server" function in which you can use basic auth to login to your ArozOS and download files from them.
This interface provide the most basic css and html where it takes little to no resources to load. I guess it might even works on NDS's browser. Note that basic auth is generally considered not safe. After you are done with it, you should turn it off.
Web Development and Serverless
The last update is about web development and serverless. Many of the ArozOS client are design professionals who seeks for a webpage for showcasing their work. That is why in ArozOS, we included some basic web development tools to get people started with their self hosted webpage.
Personal webpage can be enabled in System Settings
A few of my friends who are using ArozOS have a bit of programming skills. With request from them and my interest to try out Serverless, we added the Serverless app, where you can insert a ECMA5 code and let it run when a GET or POST request is received.
He also insert another script into scheduler so the currency exchange rage will be updated every night just to make his Telegram currency conversion bot works. In my opinion this is just another cool hacky way to use ArozOS to make things works!
More?
In this update, we added a lot of minor changes to make the UX better from the v1 releases. From Network Statistic Graphs
If you want to experience this wonderful system yourself, the system can be easily set up using a Raspberry Pi, old PC or laptop with a few line of bash command.
Hope you like this project! We are continuing updating the modules of this system to better fit our use cases. If you are interested to try it out or even contribute to this project, feel frees to find the source code and give us a star 🌟 in the attached Github link below.
Features
User Interface
- Web Desktop Interface
- Ubuntu remix Windows style startup menu and task bars
- Clean and easy to use File Manager (Support drag drop, upload etc)
- Simplistic System Setting Menu
- No-bull-shit module naming scheme
Networking
- Basic Realtime Network Statistic
- Static Web Server (with build in Web Editor!)
- mDNS discovery + SSDP broadcast
- UPnP Port Forwarding
- WiFi Management (Support wpa_supplicant for Rpi or nmcli for Armbian)
File / Disk Management
-
Mount Disk Utilities
- Local File Systems (ext4, NTFS, FAT etc)
- Remote File Systems (WebDAV, SMB, SFTP etc)
-
Build in Network File Sharing Servers
- FTP, WebDAV, SFTP
- Basic Auth based simple HTTP interface for legacy devices with outdated browser
-
Virtual File System + Sandbox Architecture
-
File Sharing (Similar to Google Drive)
-
Basic File Operations with Real-time Progress (Copy / Cut / Paste / New File or Folder etc)
Security
- oAuth
- LDAP
- IP White / Blacklist
- Exponential login timeout
Extensibility
- ECMA5 (JavaScript…
Top comments (0)