Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
Zen1th

Fuchas - An OS with focus on security

Recommended Posts

Fuchas

Fuchas in a Nutshell

Fuchas uses drivers instdead of component access and support UAC (with new OS separate permissions!) ! Programs don't need to maintain integration with different components, the OS now does it! The driver library will try automatically choosing the best driver, but it can be configured by user. Meaning programs adapt to components with no effort (e.g. Computronics cards)

Notice about security: Fuchas is currently alpha and "security" (if we can even call that security) isn't done at all, however the UAC is functional.

Fuchas also has a permission system. Feared of viruses or foreign access? Control permissions! Each account can have its own set of permissions! Allow one to have free access on a specific drive? You can do that!. This is useful for computers on big servers with competivity. Fuchas doesn’t hide files starting with ".", it uses attributes, filesystem’s one if supported on unmanaged drives, or with a .dir file at file’s parent directory on managed drives. Attributes are currently being revamped to support groups and better permissions.

Fuchas is also fast at startup, around 2x faster than OpenOS down like memory usage. And graphical features are optional, so you can use command-line on your T1 computer, and a graphical interface on T3, all on the same OS! And since the UI is compatible with 40x16 and doesn't uses a lot of memory, you can use both on a T1 computer!hey, i'm having a problem in some UAC system, i wouldn't be able to proof an administrator is an admin without some authority (which i can't have), how could i do it without a central authority ?hey, i'm having a problem in some UAC system, i wouldn't be able to proof an administrator is an admin without some authority (which i can't have), how could i do it without a central authority ?

Extra Features

A little list of feature is better than a thousand words:

  • Driver system
  • One network API to rule them all
  • Included CPIO and VELX writer and parser.
  • IPC
  • UAC with SHA3-512 passwords
  • Permission system
  • OCX (drawing and UI library), already compatible with GPU buffers!
  • Built-in documentation (not complete yet)
  • Extensions to Lua API, like string.startsWith, string.split or string.toByteArray
  • More compatibility with Lua specification's API (like availability of io.popen)
  • Stardust: Imagine Wine, but for OpenOS. This allows to run OpenOS programs on Fuchas, like ShEdit
  • Protected component system, unless a process has corresponding permissions,  it must use drivers
  • SJF (uses an average to predict next burst time) process scheduler

One feature also being planned is disk encryption (will also work on managed filesystems), since you can't make a really secure way to manage permissions when the root authority and the client is both the same computer, disks will be able to be encrypted for maximum security.

Interfaces

Albeit Fuchas feels (and is) DOS-y, there are aliases to not upset Unix-ers, so you can still use "ls", "ps", "rm", etc.

Fushell 0.2.0

Install It

OpenOS:

Just type the following:

pastebin run EbHYvEE8

MineOS:

Search for the application 'Fuchas Installer'. Install it, launch it, and press Install.

 

(Note that all comments about broken installation below are outdated, and installers has been fixed!)

Links: GitHub, Wiki, Progress to next version

Share this post


Link to post
Share on other sites

I finished the 2nd stage installer, i'll do the 1st stage (installing from OpenOS/MineOS) when i will have more time :)

Share this post


Link to post
Share on other sites

I didn't finished the installer. However i added a  VERY IMPORTANT FEATURE, before events were handled by programs and blocking. Now events are handled by the task manager. Meaning A process can pull event while another does something else. Which is very close to multi-tasking. However this feature is buggy and some events are skipped, this should be fixed by optimizing.

Alongside this i might make a GUI soon to show the benefits of multi-tasking V.S. single-tasking (used by MineOS and tactiOS). Which would allow programs to be active (doing something without blocking GUI) rather than passive (waiting for GUI event)!

Share this post


Link to post
Share on other sites

There is progress since last post, althought small progress. For example i added liblon (an unofficial Lua Object Notation :D, just made to be easier to parse). I also started the "Concert" graphical interface, but currently it's way too limited to be worth a new post (and presentation edit), alongside it i added the shin32 library wiki page (on GitHub).

The rest of features are just installation fixes

Share this post


Link to post
Share on other sites

I‘m not 100% sure, what causes the error, but it seems the installer doesn‘t handle the http request user data properly.

You could try running the following command:

wget https://raw.githubusercontent.com/zenith391/Fuchas/master/Installers/openos.lua installer

installer

Sadly I can‘t test this right now, but it might be worth trying.

Edit:

Ok, i figured out what is causing the error. The colon (:) in function call "data = con:read(math.huge)" in line 11 must be replaced with a period (.).

So what definitely works is running

pastebin get s2YZJ0T6 installer.lua

replacing ":" with "." in line 11, and then run the installer.

But I get an unrecoverable error on restarting the computer after successful installation...

Share this post


Link to post
Share on other sites

Thanks for reporting the installation bug and the error after installation. I will search what is causing this error to happen and i will fix it. However the error only seems to appear on OC computers but not on OC emulators :/, i guess i shouldn't rely that much on emulators for compatibility..

Share this post


Link to post
Share on other sites

I figured out the error, the main problem seems to be that, somehow, xpcall seems asynchronous only in OC machines and that so it will result in the computer finishing Fuchas/NT/boot.lua instdead of continuing Fuchas execution. Resulting in a computer halt. Second problem is that i forgot to add the "shell" library on first download. But the xpcall error is strange

Share this post


Link to post
Share on other sites

I mostly fixed installation bugs, however wait that i tell the 2nd part installer to be done before re-installing fuchas

Share this post


Link to post
Share on other sites

All bugs (i know of) related to installations are now FIXED!

You can now freely install Fuchas without any problems. However only dual-boot work FOR NOW. Due to the lack of "edit" command, you will have to go to OpenOS to code Fuchas programs using "edit" command. I'm planning a editor for Fuchas, i'll do it when i can!

Share this post


Link to post
Share on other sites

Ok it turns out that i was dumb on the condition that checked GPU and screen. I forgotten to add a ~= nil. Anyways gotta publish changes, re-install in 15 minutes and it should be all good (this time it will be good!)

 

Or you can manually edit init.lua, add "== nil" at line 19 after cp.list("screen")()

And also thanks for still wanting to use the OS after all those little installation bugs i really appreciate this :)

Share this post


Link to post
Share on other sites

Compatibility with OpenOS program is planned, but more core features are needed before i actually do it.

Share this post


Link to post
Share on other sites

very strange for it to be stuck. Is there disk activity (the sounds and/or blinking light on case) or did it crashed?

Share this post


Link to post
Share on other sites

Nevermind, everything (relating to installation) has been fixed. And here is a computer working with Fuchas :)

spacer.png

I'm glad now installing Fuchas is 100% easy (you have to press 3 keys during installation)

P.S.: To have a easier dualboot, i will continue working on my (currently secret) OEFI implementation. It will allow booting other OSes instdead of just Fuchas and OpenOS (but it will be on EEPROM side, not HDD, which makes it a bit more limited). Of course we will be able to select something like "I arleady have an OEFI", "I don't have an OEFI", "I don't want an OEFI" during installation. So that people not wanting on OEFI or too lazy to install an OEFI can select their option

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.