This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
Admicos's profile picture

AdmiOS 2.1.1

Started by Admicos, 19 December 2015 - 06:59 PM
Admicos #1
Posted 19 December 2015 - 07:59 PM
AdmiOS 2.1.1

AdmiOS 2.1.1 is a another rewrite of AdmiOS (RW)

Features:
  • Filesystem Protection (unlockable, use sudo)
  • Packman package manager (not mine)
  • not-color compatible (no desktop, but the rest should work fine.)
  • (SHA256 + salt) secured multiuser login
  • ash, a shell (mostly) written from scratch that tries to be more useful than the default shell.
  • and possibly more
AdmiOS Shell features:
  • variables (set <var> <thing>) (get <var> <thing>) (only variables that will affect something are "prompt" and "rootprompt", which sets the shell prompt for the user, and for the "root user" (happens when you disable fs protection, using "sudo" or similar)
  • running multiple commands with &amp;&amp;
  • some built-in commands (see them by typing "builtins")
  • run commands at the startup by having a .ashrc in your home directory.
  • .lua extension for files are optional
  • and autocomplete
Screenshots:





Installation
[indent=1]Run the following: pastebin run dq9tC0ZQ[/indent]

Most comments (up until page 2) are referring to the old AdmiOS (RW). If anyone wants it, i think i can still put it up (but the installer is broken due to how 2.0.0 is set up.
Edited on 27 September 2016 - 05:44 PM
Creator #2
Posted 19 December 2015 - 08:28 PM
Did you make it using the NDF Jay tutorial? It looks like you did.
Admicos #3
Posted 19 December 2015 - 08:30 PM
Did you make it using the NDF Jay tutorial? It looks like you did.
Only the desktop part was from the tutorial. Rest of it was hand made
Creator #4
Posted 19 December 2015 - 08:32 PM
Ok, I hope you do realize CC forums don't appreciate NDF Jay OS-es.
Admicos #5
Posted 19 December 2015 - 08:34 PM
Ok, I hope you do realize CC forums don't appreciate NDF Jay OS-es.
I know, the original AdmiOS was nearly exact to the old tutorial (i still changed a couple things here and there). But this is much different.
Creator #6
Posted 19 December 2015 - 08:35 PM
Have you implemented multitasking?
Admicos #7
Posted 19 December 2015 - 08:37 PM
Have you implemented multitasking?
No. But i think i can. The only thing blocking me is how should i handle switching tasks.
Creator #8
Posted 19 December 2015 - 08:39 PM
Look at this.
Quartz101 #9
Posted 19 December 2015 - 09:24 PM
SHA1? Switch to SHA2 please. I think GravityScore made a SHA256 api.
Admicos #10
Posted 20 December 2015 - 11:20 AM
SHA1? Switch to SHA2 please. I think GravityScore made a SHA256 api.
I'm gonna switch right after the new authenication system that doesn't break when the salt has spaces
Admicos #11
Posted 20 December 2015 - 11:32 AM
New update!
- Now using Sha256 instead of Sha1
- New authenication system (WILL BREAK OLD USER FILES)
TheOddByte #12
Posted 20 December 2015 - 12:01 PM
Suggestion: Add auto-updating
Admicos #13
Posted 20 December 2015 - 01:45 PM
Suggestion: Add auto-updating
Thanks. I will try to do it
Admicos #14
Posted 20 December 2015 - 02:54 PM
New update!
- Auto-Updating
Admicos #15
Posted 21 December 2015 - 04:15 PM
New update!
- Recovery option which includes:
- Reinstall / Update AdmiOS
- Remove AdmiOS
Edited on 24 December 2015 - 09:54 PM
Admicos #16
Posted 24 December 2015 - 10:56 PM
New update!
- Slightly modified the recovery
- Slightly modified the bootup
- Added variables such as:
_ADMIOS (Is always true. Useful for detecting if the computer has AdmiOS)
_ADMIOS_DM (DM is for DisplayManager. Becomes "shell" when logging in to shell. Will get set at the end of init, in zz_runDM.mc)
_ADMIOS_VERSION (Returns the version ex. 120)
- Added aconf.mc a libCFG modifier
- Updated libCFG
- Added Orange screen of death (appears when something errors)
- Added libLOG. A logging library
- Added experimental buttons to libGUI
- Added WIP settings (will not get downloaded. You have to get it manually from GitHub)
- And much more stuff i forgot
Edited on 24 December 2015 - 10:03 PM
Admicos #17
Posted 25 December 2015 - 07:59 PM
New Update!
- Added settings
- Added new wallpaper (wrench) Changeable in settings
- Added _ADMIOS_USER variable to find the current user. Becomes "loginUser" when logging in. Changes in libUser. No need to change in your custom DM's
- Made "aconf" optional (binary will not be removed. But you should remove it and install using admi-get install aconf which will have update feature in the future.)
- And some stuff i probably don't remember.

Oh, and if there is enough demand, i may move the buttons in settings to an API (perhaps a part of libGUI?)
Admicos #18
Posted 25 December 2015 - 08:25 PM
I updated the installer. It should have a better UI for user creation.
Pyuu #19
Posted 27 December 2015 - 06:19 AM
Since it seems you're giving this some effort let me point out a few things. (Just a small disclaimer, as I'm inactive the majority of the time on the forums, I have no clue as to the originality of this project and it's relationship with NDF-OS)
  1. I like how colorful the desktop background is.
  2. Clicking in the Settings menu will cause an uneasy screen flicker (from redrawing unnecessary frames)
  3. Including files from other people and using them to give your OS functionality is a bit underhanded, I don't see any programs besides the desktop that gives your OS functionality, and even then the originality is questionable.
  4. I honestly don't understand why you keep referencing _G in your code, _G is a table that is accessed upon creating any global variable, so it's redundant to name variables _G.<varname> as you'll do the same with <varname> unless the OS Environment is switched for some reason.
  5. For security reasons I'm obligated to point this out: Your OS is modifiable by being logged in, meaning, if someone accesses your computer while away they can have the liberty of tampering with the login code.
  6. Finally an OS that supports the Right CTRL key! Or I'm just so wasted that I was not hitting that key for the past 10 hours and failing each time to open the CTRL menu in Edit.
  7. Probs on actually using SHA256 hashing and salting for your password system, only circumvention is tampering with the login code.
  8. I don't understand why you have startup shell.run("osboot.mc") then do nothing afterwards.
Admicos #20
Posted 27 December 2015 - 10:29 AM
Thanks for the detailed feedback.

2. Will look into that
3. I want this OS to be as customizable as possible. That's why even the programs menu in destop is dynamic
4. I just want to be sure they can get outside of the original code.
5. I know that there isn't much security. But I plan to do some stuff about it.
6. Wait, doesn't every OS support it?
8. I used an external file to start the OS so you can use a different startup for a OS selector or something.
Creator #21
Posted 27 December 2015 - 10:39 AM
Use alt, or something similar. For example, I use alt + number to switch to a specific process.
Admicos #22
Posted 09 August 2016 - 05:17 PM
I don't know if this counts as necroing (it's a year old thread, so probably) but i was rewriting it again (why not another rewrite? :D/>) and i just put a beta up.

To get it, you have to install packman, and there you can get the admicos/admios-beta package.

Currently i made a multiuser system, and a basic desktop however they are probably pretty buggy. Also i am planning to split admios to multiple packages (easier to update) but that's for later.

Any ideas?

Oh and the GitHub link: https://github.com/A.&#46;&#46;/tree/3.0.0-dev

Currently implemented:
  • Multiuser login
  • Basic desktop
  • File lock (unlockable)
Edited on 17 August 2016 - 03:20 PM
Admicos #23
Posted 17 August 2016 - 05:18 PM
AdmiOS now supports regular computers! Get it from the post above.
Admicos #24
Posted 18 August 2016 - 06:53 PM
I finally fixed the authenication in the older CC versions. Maybe a stable release soon?

(it also broke older accounts, so yeah)
Edited on 18 August 2016 - 04:55 PM
Admicos #25
Posted 22 August 2016 - 11:05 AM
AdmiOS is now out of beta! You can download it using the packman package "admicos/admios" (you may need to install it twice, as it uses some hackery to get multiple files.)

For the desktop, install the additional package: "admicos/admios-desktop"


Installer soon!
Edited on 22 August 2016 - 09:05 AM
houseofkraft #26
Posted 22 August 2016 - 02:27 PM
I tried this OS and it is actually very nice! Not that much features but it is a good start for a GUI! I'm sure if you keep on working on it, it would one of the best OS's on the CC Fourms
Admicos #27
Posted 24 August 2016 - 06:57 PM

The shell i showed above is now available as admicos/admios-ash and should get installed by default.
Edited on 24 August 2016 - 06:10 PM
Piorjade #28
Posted 24 August 2016 - 07:52 PM
Huh looks like that your desktop UI is an extra package…. Does that mean that we would be able to do our own UIs? ;)/>
Admicos #29
Posted 24 August 2016 - 07:58 PM
Huh looks like that your desktop UI is an extra package…. Does that mean that we would be able to do our own UIs? ;)/>
Yes. just edit /etc/config.tbl and you're good to go.

Also, the shell i showed above is now available as admicos/admios-ash and should get installed by default.
Edited on 24 August 2016 - 06:10 PM
Admicos #30
Posted 25 August 2016 - 05:38 AM
I made a "very basic" multitasking thing using multishell (yes, i am too lazy to implement my own). i'm just waiting for a proper multi-file downloading support to packman and i'll add it (or maybe another choice)

AdmiOS is now updated to 2.1.0, however, because of the reason i mentioned above, you need to wipe and re-install AdmiOS.

If you don't care about modularity, you can now install the admicos/admios-full package (after wiping, of course) which will be constanty updated and should not hae any problems. This will be added to the installer soon.
Edited on 25 August 2016 - 04:04 AM
Admicos #31
Posted 25 August 2016 - 05:11 PM
ash (AdmiOS Shell) now automatically adds a .lua extension to your command if a file with that name exists!
Admicos #32
Posted 04 September 2016 - 12:17 PM
AdmiOS is updated to 2.1.1:
  • Put /etc/config.tbl booleans to /system/params
  • Fix config getting overrided each update
  • Added more "parameters"
  • Removed "shell splash"
As seen from the changelog, AdmiOS now uses "parameters" instead of booleans in the config file.
The full list of parameters can be seen (and activated) at /system/params)

Your programs can check these parameters using the _ADMIOS.params["myparam"] boolean/nil.

If you don't use the "full package" in the installer, you might need to wipe your system for the update to properly work.

(I think i am going to remove the split-packages. I feel like they are too much work to update.)
Admicos #33
Posted 08 September 2016 - 08:03 PM
I am currently trying to develop a UI API and a New "Desktop" to go with it.

I am planning to add a wallpaper setting and icons, but currently this is just bare bones. (Inspired by Android)

Also, i am planning to split some of AdmiOS (ash, the new ui, the upcoming other stuff, etc…) to another repos and "connect" them by making a "organization". I feel like this would be a better way of splitting packages, as the current hacky system is hacky and i don't think i am going to wait for a packman update to include multi file support.
Edited on 08 September 2016 - 06:04 PM
Admicos #34
Posted 09 September 2016 - 07:19 AM
I am going to remove the "split packages" and use another method of splitting them, meaning the update proccess will not require you to wipe your computer. This also means if you used the split packages, your installation will get broken.

This will also allow me to split less, so i won't crowd my repository that much.

EDIT: Split packages have been removed and if you were using them, WIPE AND REINSTALL!
Edited on 09 September 2016 - 05:31 AM
Admicos #35
Posted 09 September 2016 - 08:45 AM
I made a new desktop UI. What do you guys think?