here i'm presenting my new custom os. List of features and planned features:
done:
- Custom shell with tab complete and stuff (to complete a command hit the tab-key. it will give you a preview while you type)
- Auto-Updater
- multi-user support
- Sandboxing of _G aka. kernel- and usermode
- Environment variables
- file access protection
- multitasking (so you can easily switch between prorams without xiting the current one and the other programs continue running in the background)
- unix pipes
- drivers
- device files
- daemons
- multi-language support
- moar awesome stuff
- file extension -> program assciation (so for example images are not executed when calling it)
Spoiler
A new KilOS setup just after setup
pastebin get sP9WXu8n install
install
then wait, till its done (~5 seconds for me)WARNING: if you have a startup file, rename it to .startup. before installing KilOS or it will get overwritten. the shell will run the .startup if present
included additional programs:
- update - download and install updates (this program has lots of params, run update –help to list them all)
- adduser <user> [<home dir>] - creates a new user
- changepass [<user>] - changes the pass of user. if no user specified, it changes your pass.
- browser - this program has tons of params too, again list them with browser –help
If you don't understand how KilOS works or how to use it check out this tutorial
changelog:
Spoiler
Pre-Alpha 2.3:Fixed: Shell now deletes tab-preview when hitting enter
Added: term.getBackgroundColor and term.getTextColor (and their british equivalents) to sandbox
Added: parameters to updater
Fixed: sandbox being extremely insecure (thanks to Nia <3, i'm a too big noob to even understand the new code fully lol)
Added: config api
Added: slightly modified version of Mouse File Explorer by BigSHinyToys
Changed: Added Copy, cut and paste to file explorer, also added param support
Fixed: a lot af small other bugs
Pre-Alpha 2.2.1:
Fixed: turtle API now works within the Sandbox
Fixed: os.setComputerLabel doing nothing
Pre-Alpha 2.2:
Added: Basic sandboxing
Fixed: username now displays properly on shell
Changed: os.setComputerLabel now requires you to be root
Added: Environment variables
Added: environment variable "startup" to specify autostart directorys and files
Fixed: if KiloShell errors or gets terminated the Computer will now shut down to prevent bypassing of the permission system instead of returning to CraftOS
Pre-Alpha 2.1.1:
Changed: changepass no longer asks for your current password if its empty
Pre-Alpha 2.1:
Change: Made shell a bit fancier
Pre-Alpha 2.0:
Added: multi-user support
Added: ~/.login gets executed on login (after .startup)
Pre-Alpha 1.3:
Fixed: some crash on initial Boot
Pre-Alpha 1.2:
Event: Intial public release
Additional Credits/Thanks
Thomass, because i use his really awesome stringutils api. (btw. its avaible as stringutils.<function> in KilOS for all programs)
max96at for saving me time while adding the startup env var handling
The users of #KilOS for being really fast with finding bugs
BigSHinyToys for making The Mouse File Explorer which we use (i also edited it a bit, dunno if he will provide my version)
Nia for helping me with fixing the sandbox
If you encounter any bugs please tell me immediately (either on irc, i'm Kilobyte there or by replying to this topic) you may also join #KilOS on esper.net (click to open webchat) or and this is maybe the best way: go to https://bitbucket.or...te/kilos/issues and report it there. you may do feature requests there too (mark it as suggestion). please don't post an issue there if you want me to add some program or api by someone else. in that case post a reply to this topic, ask me on irc or write me a PM. Also i will only add it if i 1. like it, 2. its useful to others 3. its stable and 4. it doesn't exploit any bugs. but if i think that its awesome and i think it is useful for others i might add it (and i'll credit the author ofc)
KilOS will check for updates and inform you if there are new ones when you start it. to install them simply run update
Also on out GIT repository (link is somewhere above) you can get the latest version. this is NOT guaranteed to be stable. So only use it if you know what you are doing and on your own risk. This is the paste to upgrade: http://pastebin.com/8SxTk8EB run it, then reboot and run "devupdate". thats it.