CMS-DOS - система управления файлами на сервере, через браузер.

Всё, что касается программирования на старых языках или для старых систем

CMS-DOS - система управления файлами на сервере, через браузер.

Сообщение ctv » 05 июл 2026, 12:12

CMS-DOS — браузерная DOS-консоль с управлением реальными файлами на сервере
Автор: Семенцул Максим (MaGz GoLd) · © 2026 · Лицензия GPLv2

Что это?
CMS-DOS — это веб-приложение, которое эмулирует DOS-консоль в браузере с помощью js-dos (порт DOSBox в WebAssembly).

Главная фишка: диск C: — это не виртуальный образ, а реальная серверная папка (backend/workspace). Все изменения, создание и удаление файлов автоматически синхронизируются с сервером без необходимости нажимать кнопки сохранения (автосохранение каждые ~2.5 секунды).
dosfm.zip
(6.42 Мб) Скачиваний: 25

Возможности
Аутентификация — вход по логину/паролю (по умолчанию admin/admin, принудительная смена при первом входе)

Реальный диск C: — работа с файлами на сервере через DOS-команды

Автосохранение — изменения синхронизируются с сервером автоматически

Загрузка файлов из любого каталога — команда uploads загружает файл с компьютера в текущую папку DOS

Смена пароля — команда passwd прямо из консоли

Полноэкранный режим — кнопка для удобной работы
 (25).png
(25).png (114 Кб) Просмотров: 427

Установка и запуск
Требования: Python 3.10+
Код: Выделить всё
bash
cd backend
python3 -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 5173
Откройте в браузере: http://localhost:5173 → войдите как admin/admin → задайте новый пароль.


Как это устроено
Компонент Описание
Backend FastAPI — аутентификация + API для работы с папкой (/api/tree, /api/download, /api/sync, /api/upload)
Frontend Статика: index.html, app.js, локальный vendor/ (js-dos работает офлайн)
Хранение паролей Хеширование pbkdf2 + соль в backend/data/auth.json (создаётся при первом запуске)
Безопасность
Пароль: минимум 8 символов, хеш pbkdf2-sha256 с 600 000 итераций и солью

Rate-limit: 5 неудачных попыток за 5 минут на IP → ошибка 429

Сессия живёт 12 часов

Для продакшена: CMSDOS_COOKIE_SECURE=1 — cookie только по HTTPS


Тестирование
bash
cd backend && source .venv/bin/activate && python -m pytest -q
Лицензия
Проект распространяется под GNU GPL v2. Полный список компонентов и их лицензий — в файле NOTICE.

Важные замечания
Имена файлов в DOS — формат 8.3 (длинные автоматически укорачиваются)


Рабочую папку можно изменить через переменную DOSFM_WORKSPACE


Репозиторий: https://github.com/sementsul/CMS-DOS
Аватара пользователя
ctv
Мастер Даунгрейда
 
Сообщения: 385
Зарегистрирован: 20 июл 2018, 14:31
Откуда: Россия, Москва
Железо: Pentium3

Re: CMS-DOS - система управления файлами на сервере, через браузер.

Сообщение ctv » 05 июл 2026, 12:14

Доп: Можно установить игры и программы, и использовать сервер как удаленный компьютер с DOS.
Аватара пользователя
ctv
Мастер Даунгрейда
 
Сообщения: 385
Зарегистрирован: 20 июл 2018, 14:31
Откуда: Россия, Москва
Железо: Pentium3

Re: CMS-DOS - система управления файлами на сервере, через браузер.

Сообщение .::. Typucm .::. » 05 июл 2026, 15:06

«Не стесняйтесь думать. Неэффективно пытаться помочь людям, которые не желают помогать себе сами. Нормально чего-то не знать, прикидываться идиотом — нет.» (Слава С.ПО.)
Аватара пользователя
.::. Typucm .::.
 
Сообщения: 891
Зарегистрирован: 28 янв 2022, 22:43

Re: CMS-DOS - система управления файлами на сервере, через браузер.

Сообщение ctv » 05 июл 2026, 19:47

.::. Typucm .::. писал(а):ctv, теперь ты знаешь
https://www.computerra.ru/350354/hakery ... botchikov/

А к чему это? Я вообще не использую малоизвестные библиотеки с подозрительных репозиториев.
Аватара пользователя
ctv
Мастер Даунгрейда
 
Сообщения: 385
Зарегистрирован: 20 июл 2018, 14:31
Откуда: Россия, Москва
Железо: Pentium3


Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7