Since we’ve released Nitrocid KS 0.1.0 Beta 1 back on the fifth-year anniversary of the initial Nitrocid KS release (Kernel Simulator back then), we’ve made massive improvements to this application and its dependents.
We’ve started the initial development of the upcoming beta version of Nitrocid KS back on August 10th, 2022, to bring with you a surprising amount of features.
During the entire 5 years of work, the codebase has evolved from being a 600-line program that simulates the most basic aspects of every command-line-based operating system (kernel, hardware parsing, logon, and shell) to a massive simulator that simulates how the kernel and the entire operating system based on it works.
This massive simulator is awaiting the 0.1.0 release, which will hopefully bring you a truckload of features and improvements to the point that it’s never been like before.
The first beta brought feature additions and general improvements, along with bug fixes that plagued all the API 2.x and 1.x releases, which is why we’ve started the Backport Fridays again.
Straight to the point
So, the wait is over.
Nitrocid 0.1.0 Beta 2 is released!
After 6 months of hard work, including the moment of when we took a three-month hiatus because of internal pressure, we’re so delighted to put Nitrocid KS 0.1.0 Beta 2 to the general availability stage!
Massive improvements to the kernel and its components were made, especially when it comes to the shell, the console, and the interactive TUI components. Alongside these improvements, we’ve added an amazing collection of screensavers that some of them make you relaxed and some of them make you feel energetic, like Bloom and ShipDuet.
Group System
The group system was re-imagined as actual user groups rather than the built-in three account flags mistakenly referred to as “groups.” Earlier, these account flags consisted of:
- Admin: When this flag is enabled, it implicitly grants all the permissions for ome user, which means that
Demand()
is always successful for that user. - Anonymous: When this flag is enabled, even though this account exists and can be used to change its settings using commands, this account doesn’t get listed on all the account listing commands.
- Disabled: When this flag is enabled, this account is deemed as disabled and can’t be used to log in to the shell.
Now, with the real group system coming to the simulated kernel, you can now create groups and add users to the groups so that they can be organized in a nice way. You can also add permissions to the groups so that every user who are in the group are automatically granted these permissions, even though they aren’t granted these permissions in the user configuration.
Network Connections
Every shell that connect to the network are automatically assigned a network connection so that if you exit the shell using the detach command, it won’t disconnect from your server. You can later use a command that launches these shells (RSS for example) to resume from where you left off.
This means that you won’t have to exit the shell to continue using normal kernel commands without having to disconnect from your server. You can even get mail notifications outside the mail shell connected to your mail address.
Expanded the HTTP Shell
We’ve expanded the HTTP shell by adding some useful commands. Now, you can execute the following commands to make your experience with the HTTP shell more satisfying:
- put: You can issue a PUT request with a path to your file to an HTTP endpoint so that you can upload your file to the HTTP server.
- Try it out with issuing a PUT request with a file to
/put
in thehttps://httpbin.org
server. Execute the below commands:http https://httpbin.org
put /put /path/to/file.bin
- Try it out with issuing a PUT request with a file to
- post: You can issue a POST request with your file to an HTTP endpoint.
- Try it out with issuing a POST request with a file to
/put
in thehttps://httpbin.org
server. Execute the below commands:http https://httpbin.org
post /post /path/to/file.bin
- Try it out with issuing a POST request with a file to
- poststring: You can issue a POST request with your requested string to an HTTP endpoint.
- Try it out with issuing a POST request with a file to
/put
in thehttps://httpbin.org
server. Execute the below commands:http https://httpbin.org
poststring /post "My String"
- Try it out with issuing a POST request with a file to
Additionally, the below commands can help manipulate with the HTTP header and user agent values so that you can simulate a browser making requests:
- lsheader: Lists all the HTTP headers
- addheader: Adds an HTTP header key and value to the header store
- rmheader: Removes an HTTP header key and value from the header store
- editheader: Edits an HTTP header key to the specified value
Please note that we’re not affiliated with httpbin.org
.
SQL Shell
You can now edit your database files to execute SQL commands on it, such as SELECT, ADD, and many more. This is all on Nitrocid without an external application installed on your computer to execute SQL commands.
SQL shell connects to every SQL database that are created by SQLite, MySQL, and their derivatives, such as MariaDB, MongoDB, PostgreSQL, and so on.
For a list of commands supported by MySQL, consult this link.
Updated Documentation
We’ve updated the documentation so that it covers Beta 2 features, as well as the updated configuration entries, to align with the changes made between the first beta and the second beta release.
To get started, press the button below to go to the documentation page:
Nitrocid and Terminaux
We’ve made efforts to migrate the four libraries that are linked to the console functionality but have different responsibilities to one library, Terminaux. To remind you about the four libraries that we’ve obsoleted, here’s a short list:
- ColorSeq: Color VT sequence generator
- VT.NET: VT sequence build and manipulation library
- ColorPrint: Color wheel library
- TermRead: A spiritual reboot of ReadLine.Reboot that allows you to flexibly read input from the terminal
While TermRead’s repo was used as a migration point to Terminaux, all source code prior to the migration are still available, whereas for the three remaining libraries, they’ve been moved to our Archives organization that is found at GitHub.
Get it!
So, what are you waiting for? Embrace the power of this release, unlock new possibilities, and elevate your digital presence to unprecedented heights. The time has come to join the ranks of the forward-thinking, the innovators, and the daring pioneers. Don’t miss out on this extraordinary opportunity to be part of something extraordinary.
Get the release right away and discover the limitless potential that awaits. The future is now, and it’s calling your name.
Enjoy!
Thoughts?