auroraOS was an OS in your browser. Completely written from scratch over two fifteen months before discontinuation, it featured a beautiful GUI, a fast window manager, package loading, application APIs, and more.
The demo filesystem is persistent and all files are visible to everyone. Please do not write any personal information to the filesystem.
FAQ
How does auroraOS work?
auroraOS is a combination of Node.js on the back-end and pure JavaScript on the front-end. Every single thing on the front-end is written in pure HTML, CSS, and JavaScript; no preprocessors or Webpack here!
auroraOS revolves around packages, somewhat like Linux. When a package is started, auroraOS fetches the script from the server and executes it while exposing many package APIs like package.resource, which allows a package to retrieve files in its directory, and package.createWindow, which creates a window under the designated window manager. Even the window manager is a package!
It’s a long story, but it basically started out as a side-project and a chance to improve my JavaScript.
How are passwords encrypted?
Passwords are encrypted using Bcrypt, a library that automatically salts and scales strength to keep up with modern technology.
When will a documentation be made?
Soon.
How do I update auroraOS versions?
For now, there is no auto-update system planned, unless I somehow integrate it with the Market. You must currently remix the demo and transfer your files, or pull from Github.
How do I login?
Username:demo
Password:demo
Why was auroraOS discontinued?
First and foremost: because I no longer agree with Glitch’s values. Private projects becoming a paid-only feature was the final straw, and the boosted plan isn’t exactly a good deal for what you get. Also, this happened.
auroraOS was discontinued because I didn’t have much time on my hands to manage it, and because it was based on aging code that, when written, didn’t meet any security or performance standards nor did it even remotely follow good JavaScript, HTML, and CSS practices.
File permissions were implemented absolutely horribly; for example, read-locked files could even be accessed through the readStatic path even if you didn’t have the proper permissions.
The filesystem itself was implemented poorly; every action constituted a new HTTPS request. While this isn’t necessarily bad, if auroraOS were rewritten today, I would’ve used socket.io or something similar.
Apps were not sandboxed. Not a big reason as this is something that’s hard to do in any web app, but if auroraOS were rewritten today, I would either put every app in an iframe, or use a custom GUI drawing system that auroraOS can 100% control, and run each app’s process in its own JavaScript VM (JS in JS)
I always used the newest web platform features as soon as they came out, whether they were supported on the majority of browsers or not. This is why auroraOS doesn’t run on iOS <14 or most versions of Safari.
Around auroraOS 5, I decided to absolutely replace the completely functional window manager with something a bit more modular and a whole lot broken. It’s a mess. I ended up somewhat reverting this change but it’s still not as good as it used to be.
With the default themes, I used blur everywhere. Smh
Settings app: since auroraOS 6 (?), became some weird half-broken app that was just…bad
Terminal app: all commands were part of the Terminal app itself. Not easily extensible, and the text rendering itself was implemented horribly. If auroraOS were rewritten, I would rewrite this to act like the Windows Console Window Host, which listens to a process’s stdout, forwards stdin, etc.
Files app: barely had any features.
Write app: what even was this? Didn’t even have filesystem functionality lol
auroraOS System:
When launching an app and then closing it, the app’s JS heap usage would not be cleaned due to my horrible attempt at JS processes in a highly-constrained platform (the web, am I right?)
Non-fs data storage: used quick.js. Probably the worst module you could use for the types of things that auroraOS stored out of the filesystem.
Aging code: at first, auroraOS started out as simply a concept with no backend code at all. This was a problem.
Bad code: I learned JS through auroraOS. As such, some code is bad.
CSS: used a lot of hacks, was just not maintainable; changing one thing would probably completely annihilate another.
I understand that some of these issues could be fixed with another feature update, but…it was simply too much. It was time for auroraOS to go.
The lag can be fixed by switching to a different theme, as Dark and Light use backdrop-filter to simulate background blur, and its currently very performance-intensive.
Sometime in the next two or three weeks.
Right now, there’s no auto-update, though you can remix the new version and transfer your files when it comes out.
It does not work if you type the url in chrome. To me, I assume that you are using window.close. I suggest just making the screen black or something like that and make it so that they can then restart or use the os once again.
Also, I found a file (.txt) that I find “not necessary”
Here’s some apps you should app(just iframe them I guess)
Really cool app with EPIC VISUALIZATION(shoot just found out visualization is a seperate plugin)
A minesweeper game
Also an app for glitch
If you guys can get a coder-server instance running (they use more disk space than glitch can provide) you can make vscode an application.
I remixed the project @hhr3, and I saw that you were using iframes for windows. (app windows, not the os) I am now going to make a browser app using iframes!
I already tried; back when I first started making auroraOS, a browser app was the first thing I set out to do.
iframes have restrictions on them that prevent certain domains, like Google, to be shown in the iframe (to prevent scamming).
I would still love to see what you make!
That’s true (I’ve learned it as well before your post) Apps like that have some kind of restriction. I realized this when I made a web proxy that uses IFrames (some websites work however though.)
There are several options to bypass the iframe restriction. If you have a browser that has extensions you can modify the header. There is also a solution that involves custom elements, however it is broken currently.
The custom element doesn’t work I think because the proxy servers are down. We can host a proxy server on the same machine as the os and have the iframe connect to that.
Just make an instance of cors-anywhere but remove the origin header restriction because it says
"
To prevent the use of the proxy for casual browsing, the API requires either the Origin
or the X-Requested-With header to be set. To avoid unnecessary preflight (OPTIONS) requests,
it’s recommended to not manually set these headers in your code.
"
And @code-alt some handy tips i used when i tried to make a browser:
Try to find an alternative to an iframe, when i tested this beside an object function- i saw the object loaded a lot faster.
No spaces or caps- try auorabrowser or auorabrowse or ‘internet’
Get an Internet browser PNG and convert to .webp, upload it as an asset then open the terminal and cd into your app source (_SERVER/packages/whateveryourappiscalled).
If you haven’t already- delete the existing icon and run:
wget -O icon.webp ASSETURL
Reopen your OS and you should see your app with an icon!
EDIT- I am going to try and recreate the lost windows version - windows longhorn
Webp is preferred but not required. You can use PNG, JPG, or even GIFs instead.
The OS doesn’t shouldn’t crash when app names have spaces or caps, it only crashes if your app’s folder name is different from the app name in your app/info.json.
For example, if your app/package’s name is Aurora Browser, then the folder must be named Aurora Browser, and name in your app’s info.json file must also be Aurora Browser.
Let me guess, you’re using an iPhone?
WebKit browsers (Safari) doesn’t support webp, which is the image format auroraOS uses, but support might come soon. I’m pretty sure that browsers on iOS must use WebKit, so unfortunately, there is no way around this on iPhones. Sorry about that.
2 features are not available, sorry! I received tons of feedback from users asking me to release it today however, so here you go.
I STRONGLY recommend that you do not remix until a proper password setting system is put in place. If you must, follow the directions in system/server.js.
Development has obviously been slow, but we’re still working on many things.
There’s a new developer preview available here.
Here’s a break-down of what has happened:
Available on the Developer channel:
Windstorm, a new theme (Industrial Light 2.0)
Window manager tweaks
Terminal 2.0
Package manager
And much, much more.
auroraOS is switching to a year-month version system, similar to Ubuntu’s. The current update is 20.06 (5.01), and the next update will be 20.07 (6.0).
This also means that feature updates will happen more or less monthly, with bug fixes in between.
The market has been discontinued temporarily. It has been replaced with the AuroraGet package manager, available in the terminal.
All themes are being refactored. Dark and Light have been re-done, with performance gains of up to 50%, and there is also a new theme called Windstorm. It is dedicated to modernness, beauty, and performance.
Settings 2.0 is coming soon; it will add the ability to change account passwords, create accounts, and delete accounts, something that everyone has been asking for.
auroraOS will be separated into a demo and a version that you remix soon. This will enable me to disable features to improve the demo experience.
Finally, the window manager has been tweaked. Windows now open in the center of the screen, and are sized automatically if a size is not provided manually. A bug with maximizing windows where the animation stuttered has also been fixed.
That about wraps it up, and I hope to see you when 20.07 is released.
I’m in the discord server and from what I’ve seen they have changed the name and done a bit of a makeover. I would recommend you go there if you want to help as @hhr3 has left Glitch.
You can configure everything on your computer then upload to the node_modules directory if you don’t have enough space. Fair warning, you have to delete and re-upload using the command line if it doesn’t work. The node_modules directory doesn’t count against the disk limit.
Hello soup, why is the auroraos main website not working? It gets stuck on the starting screen. Is my internet too slow? Or is auroraos down for ever? thank you
gitclone93
Can’t do that because of native binaries not being correct, I don’t see why to bother with uploading node_modules
I just got bored of writing and porting apps