Skip to content

WizardOfHaas/DreckigOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jun 20, 2015
5aa0ef1 · Jun 20, 2015

History

92 Commits
Jan 11, 2013
Jun 16, 2013
Jan 11, 2013
Jan 22, 2013
Jan 11, 2013
Feb 28, 2013
Jan 11, 2013
Apr 16, 2013
Jun 20, 2015
Feb 17, 2013
Feb 17, 2013
Jan 11, 2013
Feb 17, 2013
Feb 25, 2013
Feb 18, 2013
Mar 25, 2013
Jan 11, 2013
Feb 4, 2013
Feb 17, 2013
Jan 11, 2013
Feb 17, 2013
Feb 17, 2013

Repository files navigation

Dreckig OS development has halted. It has been reincarnated as d264b in glorious 64 bit! If anyone wants to take the reigns and go down the road Dreckig OS was on let me know and I'll set you up.

     ________________________
=====|Dreckig OS User Manual|==
 ====|Alpha v0.007          |===
  ===|January 2013          |====
   ==|Dr. Sean Haas         |=====
     ------------------------



---What is Dreckig OS?---

Simply put, Dreckig OS is an ultra secure operating system based around the experimental megalithic kernel architecture.
In this archetecture, everything is inside the kernel, including user programs. This makes it run quickly and securely.


---The command line---

The command line in Dreckig OS is a mixture of native commands, lang commands and brainfuck(yes, really). Any time you are
able to give input you can hit the esc key to be dropped down to the command line.

Native commands:
       These are initiated with a one word command, and if any other data is needed the user is prompted.
Unprivleged: For everyone
       help  - terse help message
       re - reboot
       info - show some system info
       clear - clear screen
       log - super secure locking mechanism
       bf - the brainfuck vm
       hist - show command history
       lo -log out (quit also works)
       dte - the Dreckig Text Editor
       crypt - stenographic file system manager
       
Priveleged: For group 0
       dump - show contents at a given memory adress (dec)
       regs - show register contents
       ps - list proccesses
       kill - kill a proccess
       user - user control system
       hash - low level access to hashfs
       chr - chroot, change root directory

lang commands:
     These are run in the lang interpreter, usually more than one word long. I developed lang as a way to write simple scripts
     in Dreckig OS. One of it's biggest quirks is in it's variables, both of them. lang only has two variables, "var" and "bak"
Here is a quick list of more useful functions:
          some text > -- displays "some text"
	  prompt < -- get input from user qith prompt "prompt", stores in var
	  file name > -- display file "name"
	  run file -- runs lang file "file"
	  # cmd -- runs "cmd" as a native command
	  asr cmd -- run cmd as root

Brainfuck!:
	This is the fun part(or at least it was fun to write!). Either enter a piece of brainfuck code straight at the command
	line, or use the bf virtual machine to run an entire file of code. 
	The subtleties of this language will not be covered here.


---The file system---

    HashFS, the main file system used by Dreckig OS is based off of a simple hashing function. The idea being that the only 
data you need to access a file is it's name. When you want to access a file you provide it's name, the hash function is then 
applied to it, and the resulting hash points to where it is located on the disk. All files are up to 512 bytes in length. 
Since there are no file tables, you can't list the files on a disk. 
      This leads to the next file system, CryptFS, a cryptographical file
system. A CryptFS disk is first initialized to random data before it is used, then all data written to it is encrypted, making
it indistinguishable from the garbage on the disk. It uses the same scheme to order files as HashFS.


---Users---

	When Dreckig OS is booted up you will first be prompted for a username and password. The default priveleged acount is
root, it's password is root! Users are managed through the "user" command(only accessable while logged in as a user in group 0)
The user command has a few subcommands:
    list - list all user accounts
    add - make new user with specified name/password/group
    kill - remove user with specified name
    init - write a new initial user file to disk

    How useres are handled is in the file named "user" on the currently inserted disk. This file has an entry for every user 
with the user's name, a hash of their password, and their user group. User group 0 is the most priveleged, the user group is 
stored as a char. The init subcommand just writes a "user" file to disk with an entry for root.
       Now, how are user differant user's files kept seperate? Well, that is kinda a hack. As long as you are not in user group
0 then your user group id is prefixed to the name of every file you access. So if someone in group 1 tried to access the 
"user" file they would get "1user" instead. 
       When you log in the script "run" is run. It is written in lang, and is in plaintext. When you add a new user you should
write a quick run script for them so that is doesn't hit random junk and hang/crash. The usual group based access rescticions
apply, such that group 1 runs "1run".
       You can also access files in a specific user group by appending a username to the file name, such as:
       	   sean:run
       If sean is in user group 1 then this is the same as '1test'.


---Encryption---

	The crypt command handles CryptFS, the stenographic file system for Dreckig OS. Basically it is just used to format a
disk and turn encryption on and off. Subcommands:
     init - format a disk for CryptFS(Just full it with garbage)
     on - turn on encryption
     off - turn off encryption
     stat - show CryptFS status

     When you first log in encryption is turned off, so you need to turn it on if you want to use it. Also, don't run init on 
a boot disk, insert a new disk first, it reflects on your good judgement. If you have to run it on a boot disk then go ahead, 
it will just wipe *all* data on the disk, I mean **all**, every single sector. You can, however, turn encryption on for any 
disk, even the dook disk.


---Editing text---

	The text editor in Dreckig OS is DTE, the Dreckig Text Editor. It is almost useable! To make a file just type "dte" at 
the command line, it will then prompt for a file name. If the file is empty ti will drop out to a proptless mode and let you
type. When you are done just type "quit" on a line alone, it will then write the file to disk. 
      If the file has data in it(Which is always the case if the disk is formated for CryptFS.) then that data will be 
displayed. Then, you will be prompted for a line number. If you enter the line number(First one is 0!), then that line will be
displayed and you will be prompted for the data to replace it. When done with that line you will be given the line prompt
again. You can also enter commands here:
       q - quit without saving
       w - write file and quit
       t - display file

About

An operating system based on a megalithic kernel, designed for speed and security.

Resources

Stars

7 stars

Watchers

3 watching

Forks

Releases

No releases published

Packages

No packages published