Программы и операционные системы / Software and operating systems

Все упомянутые на этой странице программы написаны автором сайта. Программы доступны для свободного скачивания в виде исходных текстов, они могут компилироваться и использоваться без ограничений.

Все примеры вводимых с терминала команд даны для семейства операционных систем Linux Fedora/RedHat. Для семейства Debian/Ubuntu нужно использовать соответствующие команды, например, apt-get вместо dnf. Предполагается, что пользователь может выполнять команды от имени администратора, используя sudo.

All software mentioned above is written by the author of the site. The software is free, everybody may download sources of the software, build and run it.

All examples of terminal-typed commands given are for Linux Fedora/RedHat family of operating systems. For Debian/Ubuntu family of OSes use corresponding commands, for example, apt-get instead of yum. It assumes that the user can run commands as system administrator using sudo.

LDuS

LDuS - 64-разрядная операционная система для архитектуры x86-64. За исключением загрузчика, написана на С и собирается стандартными средствами пакета gcc. Система состоит из модулей, расположенных в виртуальной памяти по фиксированным адресам, ядро рассматривается как один из модулей. Поддерживаются диски SATA, сетевые карты rtl8168, nvidiaeth и pcnet32, реализован сетевой стек, имеется веб-сервер. Подробнее о LDuS: v0.3: видео, презентация, тезисы; v0.2: статья, блог; v0.1: статья, видео, блог; v0.01, v0.0001, план.

Для того, чтобы собрать загрузочный образ системы, нужно выполнить команды:

LDuS is 64-bit operating system for x86-64 architecture. Excluding boot loader, the system is written on C and may be compiled using standard gcc toolchain. The system consists of modules. Each module has fixed virtual address. The kernel is also a module. Supported hardware: SATA drives, ethernet cards rtl8168, nvidiaeth, pcnet32. TCP/IP stack realized, there are www server. There are several notes on LDuS written in Russian (see on the left).

To build LDuS boot image from sources execute the following commands:

$ sudo dnf -y install git gcc
$ git clone https://dcherukhin.info/programs/.git
$ cd programs/ldus/source
$ make
$ ls -l ../ldus.img # boot image

XDAG

XDAG (Dagger) - первая децентрализованная криптовалюта, основанная на ориентированном графе (DAG), а не на блокчейне, и поддерживающая майнинг. Клиент полной ноды и кошелёк написаны с нуля. Подробнее можно прочитать в ветке на форуме биткоинтолк и на других ресурсах по ссылкам оттуда.

Для того, чтобы собрать кошелёк командной строки для Linux, нужно выполнить команды:

XDAG (Dagger) is the first mineable decentralized crypto currency, based on Directed Acycled Graph (DAG) instead of blockchain. Full node client and wallet are written from the zero startpoint. For further information see the thread on bitcointalk forum and other resources by following the links.

To build command line Linux wallet execute the following commands:

$ sudo dnf -y install git gcc openssl-devel
$ git clone https://dcherukhin.info/programs/.git
$ cd programs/xdag/cheatcoin
$ make

dusfs

Dusfs - это драйвер файловой системы DFS для Linux, сделанный в виде модуля ядра. Поддерживаются версии ядра 3.13 - 4.1. Файловая система DFS поддерживает тома любого современного размера, жёсткие и мягкие ссылки, права доступа в формате Unix, специальные файлы (fifo, sockets). Кроме того, файловая система DFS имеет встроенное сплошное шифрование тома, основаннное на собственном алгоритме. Том в зашифрованном виде внешне неотличим от массива случайных данных. К драйверу прилагаются утилиты командной строки для создания и монтирования тома. Автор использует файловую систему DFS для хранения данных на своих компьютерах.

Для скачивания и сборки модуля нужно выполнить команды:

Dusfs is a DFS filesystem driver for Linux compiled as kernel module. It supports kernels of versions 3.13 - 4.1. The DFS filesystem supports volume of any modern size, hard and soft links, Unix-style access rights and special files (fifo, sockets). Also, the DFS filesystem supports solid encryption of the volume based on author's encryption algorithm. An encrypted volume looks like array of random data. There are utilities for creation and mounting of DFS volumes. The author uses DFS file system for data storage on his own PCs

To download and build the module type the following commands:

$ sudo dnf -y install git gcc kernel-devel kernel-headers kernel-modules-extra
$ git clone https://dcherukhin.info/programs/.git
$ cd programs/dus/programs/dfstools/source/dusfs
$ make

Для создания нового тома в разделе, к примеру, /dev/hda5, нужно выполнить следующую команду и затем после приглашения ввести пароль и нажать Enter. Если просто нажать Enter, то том не будет зашифрован. При создании нового тома изменяется только первый килобайт раздела, остальные данные остаются без изменений. Том будет расти по мере добавления файлов и каталогов.

To create new DFS volume, for example, in the /dev/hda5 partiion, type the following command and then type a password on prompt and press Enter or simply press Enter if you do not want to encrypt the volume. New filesystem uses only first kilobyte of the partition. All other space remains unchanged. The volume grows up then you add files and directories.

$ sudo mkdusfs /dev/hda5
Password: [введите пароль / type password]

Следующие команды показывают, как можно поключить модуль, смонтировать том /dev/hda5 в каталог /mnt/example, и затем размонтировать его. При монтировании нужно ввести такой же пароль, как и при создании тома. Пароли от томов можно хранить в ключевом файле, см. программу qte.

The following commands show how one can turn module on, mount the volume /dev/hda5 on the catalogue /mnt/example, and then unmount it. Then mounting, type the same password as then you create the volume. Passwords may be stored in the key file, see the qte program.

$ sudo insmod dusfs.ko
$ sudo dusfsmount /dev/hda5 /mnt/example
Password: [введите пароль / type password]
$ sudo umount /mnt/example

qte

Qte - программа для просмотра и редактирования защищённых баз данных формата *.te. Программа qte написана на Qt и имеет графический интерфейс. Файл pwd.te можно использовать в качестве ключевого файла при работе с томами файловой системы DFS (см. dusfs). Для этого нужно запустить программу qte, в открывшиеся 4 поля записать пароли от томов, на каждой строчке может быть несколько записей, разделённых пробелами; запись имеет формат имя_хоста:раздел:пароль , где имя хоста пишется без домена, например: myfedora:/dev/hda5:mypasswd . Далее в программе qte нужно ввести мастер-пароль к ключевому файлу и сохранить файл под именем pwd.te. После этого при работе с программами mkdusfs и dusfsmount вместо пароля от тома можно вводить мастер-пароль от ключевого файла. Каталог, в котором находится ключевой файл, должен быть доступен в PATH.

Для того, чтобы загрузить и собрать программу qte, нужно выполнить следующие команды. Подробнее о формате *.te и других программах для работы с ним можно прочитать на странице.

Qte is a viewer and editor for encrypted data bases of the format *.te. Qte written in Qt, it has graphics interface. One can use the pwd.te file as a key file for encrypted DFS file system volumes (see dusfs). To do this, run qte, enter keys to opened 4 fields, one field can contain many records separated by spaces, each record has the format: hostname:partition:password where hostname is without domain, for example myfedora:/dev/hda5:mypasswd . Next, in the qte program enter master-password and save the key file under name pwd.te. when you run programs mkdusfs and dusfsmount, you can use master-password instead of a volume password. The catalogue consisting the key file pwd.te must be in available in PATH.

To download and build the qte program type the following commands. For further information related *.te format, see the TE page (in Russian).

$ sudo dnf -y install git gcc qt4
$ git clone https://dcherukhin.info/programs/.git
$ cd programs/dus/programs/te/source/qt/qte
$ qmake-qt4
$ make

blog

Blog - cgi-программа для веб-сервера, написанная на C, позволяющая вести несколько связанных между собой блогов (мини-социальная сеть). Блог состоит из сообщений, каждое сообщение может быть адресовано своей группе пользователей. Допускаются как открытые блоги, так и защищённые паролем. К каждому сообщению может быть присоединено неограниченное число файловых вложений. Сообщение вместе со всеми вложениями хранится в виде зашифрованного архива файловой системы DFS. Автор использует эту программу на своём сервере для ведения блога.

Чтобы установить cgi-программу blog на свой веб-сервер (на примере lighttpd), нужно выполнить команды, см. также инструкции.

Blog is a cgi-program for web server, written in C. The program allows to maintain several interconnected blogs (mini social network). Any blog consists of messages, any message may be addressed to its own group of users. Each blog may be open or protected by a password. Any message can contain unbounded number of file attachments. The message and all its attachments are stored together in the encrypted image of DFS file system. The author uses this program to maintain his own blog (in Russian).

To install the blog cgi-program into your web server, for example, lighttpd, type the following commands, see also instructions (in Russian).

$ sudo dnf -y install git gcc wget lighttpd
$ git clone https://dcherukhin.info/programs/.git
$ cd programs/dus/programs/dfstools/source/blog
$ make
$ make install
$ make blog
$ cd ../../../../../..
$ sudo cp -r * /var/www/lighttpd

dsearch

Dsearch - поисковая система, включает в себя постоянно работающий демон, накапливающий данные, и cgi-программу, обрабатывающую запросы, обе написаны на C. В настоящее время система обрабатывает только слова, состоящие из русских букв, английские слова транслитерируются в русские. Система используется на сервере автора для поиска по сайту и в интернете, см. dsearch.

Для того, чтобы установить систему на сервер (на примере lighttpd), а также запустить демон для поиска, выполните следующие команды.

Dsearch is a web search engine. It contains search daemon and cgi-program for process search queries. Both are written in C. In the present the system searches only Russian words, English words are transliterated into Russian. The system is used in the author's server for search on the site and for search in the web, see dsearch.

To download, build and run the system type the following commands. Assuming we have lighttpd server.

$ sudo dnf -y install git gcc lighttpd
$ mkdir cgi-bin
$ git clone https://dcherukhin.info/programs/.git
$ cd programs/dsearch
$ make
$ make install
$ cd ../..
$ mkdir archives
$ mkdir archives/dsearch
$ cd archives/dsearch
$ ln -s ../../programs/dsearch .
$ cd ../..
$ sudo cp -r * /var/www/lighttpd
$ cd /var/www/lighttpd/archives/dsearch
$ sudo nice ./dsearch -d dsearch.dat random:0:dcherukhin.info random:0

DuS

DuS - 32-х разрядная многопользовательская многозадачная защищённая операционная система для архитектуры x86, написанная с нуля. Система имеет микроядро размером 12K, написаное на ассемблере. Драйверы устройств имеют то же статус, что и обычные процессы. DuS поддерживает следующее оборудование: клавиатура, мышь: PS/2, COM, видеокарты VGA, VESA, дискеты, жесткие диски, CD (чтение) Основным принципом является остутствие фиксированного набора системных вызовов. Каждый процесс имеет свой собственный набор внешних вывовов, который определяется его предком. Таким образом, процесс запускается в своём окружении, что открывает широкие возможности для отладки и контроля за ним.

Для того, чтобы собрать минимальный загрузочный образ системы и записать его, к примеру, на флешку /dev/sdb, нужно выполнить следующие команды. За дальнейшей информацией о системе обратитесь к её домашней странице

DuS is a 32-bit multiuser multitask protected operating system for x86 architecture. The system has micro kernel of size 12K written on assembler. Drivers are common processes. The system supports the following hardware: keyboard, PS/2 and COM mouse, videocards VGA and VESA, diskettes, hard drives, CD (read-only). The main principle is: there is no fixed set of system calls. Each process has it's own set of external calls given to it by his parent. So there are great capabilities for debugging and inter-process protection.

To build minimal boot image of DuS and write it to flash drive, for example, /dev/sdb, run the following commands. For further information, see the DuS home page.

$ sudo dnf -y install git gcc
$ git clone https://dcherukhin.info/programs/.git
$ cd programs/lbdus
$ make
$ cd ../dus
$ make
$ sudo dd if=build/duslivemin.img of=/dev/sdb bs=512 count=2880

Страница создана T10.287, обновлена T13.921