Skip to content
Feylins edited this page Oct 4, 2025 · 1 revision

🚀 INTERIUM OS — Главная страница Wiki

Добро пожаловать в вики Interium OS — централизованную документацию проекта. Эта страница — стартовая: здесь кратко изложены ключевые идеи проекта, есть быстрые ссылки на разделы и пошаговые инструкции для пользователей и разработчиков.


Оглавление

  • 🔎 Обзор проекта
  • ⚙️ Быстрый старт
  • 🧭 Полезные разделы Wiki (ссылки-руководства)
  • 🛠 Установка и зависимости
  • 🧩 Архитектура и ключевые модули
  • 🔌 Как расширять систему (Boot-плагины и кастомизация)
  • 🔒 Безопасность и шифрование
  • 🐞 Отладка и логирование
  • ❓ Часто задаваемые вопросы (FAQ)
  • 🤝 Вклад и правила взаимодействия

🔎 Обзор проекта Interium OS — экспериментальная, модульная и расширяемая консольная среда на Python. Это не полноценная ОС, а симулятор/оболочка для создания среды, демонстрации архитектурных подходов и хранения/управления простыми утилитами. Основные возможности:

  • Виртуальная файловая структура: home/, etc/, usr/apps/, tmp/, boot/
  • Управление пользователями и профилями
  • Службы (AdaptiveNetwork, Colorize и др.)
  • Установка приложений из GitHub Releases и QDUGUI
  • Локальный зашифрованный Vault для секретов (Fernet)
  • Boot-плагины: регистрация команд при старте
  • Windows-лаунчер с возможностью обновления ядра и логированием

⚙️ Быстрый старт (Runbook)

  1. Клонируйте репозиторий:
    git clone https://github.com/ShadowFlash900/INTERIUMOS.git
    cd INTERIUMOS
    
  2. Установите зависимости (опционально):
    python -m pip install -r requirements.txt
    
    или вручную: requests, cryptography, pandas, markdown, psutil.
  3. Запустите:
    • Windows: запустите launcher.bat (меню: Normal / Debug / Update / Restore / Elevate).
    • Linux/macOS: python interium.py
  4. Первый запуск предложит создать пользователя (admin по умолчанию). После логина вы попадёте в CLI.

🧭 Полезные разделы Wiki (предложения)

  • Commands — детальная справка по каждой команде и аргументам (рекомендуется страница-справочник).
  • Installation — подробная установка и настройка окружения.
  • Customization — как менять ядро, добавлять сервисы, конфигурировать Colors, менять boot/плагины.
  • Development — руководство для разработчиков, тесты, сборка, структура кода.
  • Security — практические рекомендации по хранению secret.key, подписи релизов, безопасной установке приложений.
  • Troubleshooting — типичные ошибки и их исправления.
  • Changelog / Releases — как и где фиксируются изменения ядра.

(Хотите — я автоматически создам эти страницы отдельно на основе содержимого README.)


🛠 Установка и зависимости (детальнее) Рекомендуемый Python: 3.8+ Основные зависимости:

  • requests — GitHub API и загрузки
  • cryptography — Fernet (шифрование)
  • pandas — CSV → XLSX
  • markdown — MD → HTML
  • psutil — показ температуры CPU

Совет: если не хотите всё ставить — установите только requests и cryptography; дополнительные возможности будут помечены как опциональные и дадут понятные ошибки/внимания при попытке использования.


🧩 Архитектура и ключевые модули (коротко)

  • interium_core.py — основной движок: класс InteriumOS, CLI-цикл, загрузка/сохранение конфигов, профили, логика команд.
  • interium_utils.py — утилиты (цвета, nano, fm, сервер, CPU temp).
  • interium_fs.py — пути и create_fs().
  • interium_crypto.py — secret.key и функции encrypt/decrypt.
  • interium_services.py — загрузка/сохранение services.json, helpers для AdaptiveNetwork.
  • interium_apps.py — инсталляция приложений (getfrom/getlist/getapp), zip/unzip, run.
  • interium_vault.py — manage_vault и bookmarks.
  • boot/ — папка для плагинов: скрипты с register_commands(...) подгружаются при старте.
  • launcher.bat — Windows-лаунчер: логирование, обновление ядра, backup/restore, elevate.

🔌 Как расширять систему — практическое руководство

  1. Boot-плагины (рекомендуемый путь)

    • Положите файл .py в boot/.
    • Реализуйте функцию:
      def register_commands(command_registry, os_system, command_args_info):
          # регистрируйте команды
          command_registry['mycmd'] = my_handler
          command_args_info['mycmd'] = "<args> — описание"
    • Обработчик signature: (command_line: str, os_system: InteriumOS).
    • Плагин загружается при старте автоматически.
  2. Конфигурация служб

    • Редактируйте etc/services.json или используйте CLI:
      • sudo systemctl enable <ServiceName> — включить автоподнятие.
      • sudo service <ServiceName> start/stop/status.
  3. Кастомизация UI (цвета)

    • В interium_utils.py класс Colors содержит ANSI-коды.
    • Используйте Colorize service для динамического отключения/включения цветов.
  4. Расширение менеджера приложений

    • В interium_apps.py добавьте обработчики для новых форматов (tar.gz), добавьте проверку цифровых подписей (sha256/GPG).
  5. Пакетизация

    • Перенесите код в пакет interium/, создайте pyproject.toml/setup.py, pip install -e . — удобно для тестов и импортов.

🔒 Безопасность и шифрование

  • secret.key хранится в etc/secret.key. Он позволяет дешифровать Vault и зашифрованные пароли пользователей. Храните ключ отдельно и не добавляйте в репозиторий.
  • Vault (home/.vault) хранит значения шифрованными через Fernet. Если ключ утрачен — данные не восстановить.
  • Рекомендация: использовать внешний секрет-менеджер (Vault/KMS) в production, проверять релизы/ассеты по подписи и хэшам.

🐞 Отладка и логирование

  • launcher.bat создаёт logs/interium_YYYYMMDD_HHMMSS.log для каждого запуска.
  • Для детальной отладки используйте Debug mode в лаунчере (включает -X dev и tracebacks).
  • Проверяйте AdaptiveNetwork при проблемах с сетью: sudo service AdaptiveNetwork start

❓ FAQ — Частые вопросы Q: Что такое sudo в Interium?
A: Это внутренняя метка, она помечает команду как привилегированную. Не повышает системные права процесса.

Q: Как включить сетевые операции?
A: sudo service AdaptiveNetwork start (или sudo systemctl enable AdaptiveNetwork).

Q: Как добавить команду без правки ядра?
A: Положите boot-плагин с register_commands в boot/.


🤝 Вклад и правила

  • Fork → branch → PR. Пишите понятные описания и тесты.
  • Для изменений, затрагивающих безопасность/шифрование: документируйте риски и миграционный план.
  • Предлагаю добавить страницы CONTRIBUTING, SECURITY и шаблон PR/Issue.

Если хотите, я прямо сейчас:

  • разобью Wiki на отдельные страницы (Commands, Installation, Customization, Security, Troubleshooting), и вставлю подготовленный контент в каждую,
  • или создам PR с готовым README/Wiki-страницами (потребуется доступ/разрешение).

Готов продолжить и автоматически создать структуру Wiki — скажите, какие конкретные разделы хотите разнести на отдельные страницы, и я сделаю это сейчас.###

Clone this wiki locally