GitDOS

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

GitDOS

Сообщение ctv » 28 июн 2026, 16:21

Привет, всем!

Хочу представить вашему вниманию свой проект, над которым я работал последнее время. Это GitDOS — веб-приложение, запускающее DOSBox (через js-dos) прямо в браузере с необычной «фишкой»: ваш диск C: — это репозиторий на GitHub.

Сайт проекта: https://sementsul.github.io/GitDOS/
Репозиторий: https://github.com/sementsul/GitDOS

Зачем это вообще нужно?

Git-репозиторий позволяет:

Хранить свой игровой/программный диск в облаке и иметь к нему доступ из любого браузера.
Вести полную историю изменений — как «машину времени» для любого файла. Можно откатиться к любому сохранению или восстановить случайно удалённый файл.
Использовать ветки для экспериментов. Например, создать ветку mods, ставить моды, играть, а если что-то пошло не так — просто вернуться к основной ветке, и ничего не потеряно.
Технические особенности

Работа с большими файлами: Через веб-интерфейс GitHub нельзя залить файл больше 25 МБ. GitDOS использует Git Data API и позволяет загружать файлы до 100 МБ (реальные игры с большими ресурсами).
Автосохранение: Раз в несколько секунд проверяет изменения на диске и отправляет их в репозиторий (если есть токен с правами repo).
Утилита GITDOS в командной строке: Недавно реализовал полноценный «мост» между DOS и веб-интерфейсом. Теперь прямо из командной строки можно:

GITDOS SAVE — сохраниться.
GITDOS COMMIT "сообщение" — сделать коммит со своим сообщением.
GITDOS PULL — подтянуть изменения из репозитория (например, с другого компьютера).
GITDOS BRANCH — управлять ветками.
GITDOS SET REPO owner/name — переключиться на другой репозиторий.
GITDOS AUTOSAVE ON|OFF — включить/отключить автосохранение.
И многое другое: просмотр истории, восстановление файлов, управление профилями.
Поле ввода команд: Между экраном DOS и логом есть поле. Можно вставить в него длинный путь или команду, и GitDOS «напечатает» её в DOS виртуальными клавишами. Это удобно, так как напрямую в терминал DOSBox вставить текст нельзя.
Выборочное монтирование: Для больших дисков можно исключить загрузку определённых папок — это ускоряет запуск.
.gitdos.json: Если в корне диска лежит этот файл, можно задать name (имя диска), run (что запускать после загрузки) и cycles (скорость процессора). Диск загружается сразу в программу без лишних действий.
PWA: Можно установить как приложение на телефон или компьютер (кэшируется для офлайн-доступа к интерфейсу, но для синхронизации с GitHub нужна сеть).
Мультидиск: Поддерживаются дополнительные репозитории как папки C:\DISKS\D и т.д. Каждый синхронизируется со своим репо.

Нюансы, о которых стоит знать

GitHub API имеет лимит ~5000 запросов в час с токеном. Проект старается экономить: публичные файлы читаются через raw.githubusercontent.com (лимит не тратится), а листинги кэшируются. Индикатор остатка запросов висит в шапке.
Для записи в репозиторий (и для приватных репо) нужен GitHub-токен с правом repo. Токен хранится только в вашем браузере.
Приватные репозитории читаются через API (тратит лимит), публичные — через raw (лимит не тратит).
Проект использует локальный js-dos v8 (MIT) и не тянет сторонние CDN, кроме как к API GitHub и счётчикам аналитики (Яндекс.Метрика и Google Analytics, их можно отключить в браузере).
Весь интерфейс есть на русском и английском, переключается в шапке.

Кому может быть полезно

Игрокам — удобно играть в классику (Doom, Duke3D, Quake, RPG, квесты Sierra) без возни с настройкой DOSBox, с облачными сохранениями.
Архивистам и коллекционерам — можно хранить целые библиотеки игр и ПО с полной историей.
Разработчикам — экспериментировать с легаси-кодом, показывать прототипы, изучать историю программирования.
Образовательным проектам — студенты могут запускать DOS прямо в браузере на любом устройстве, без установки софта.
Аватара пользователя
ctv
Мастер Даунгрейда
 
Сообщения: 385
Зарегистрирован: 20 июл 2018, 14:31
Откуда: Россия, Москва
Железо: Pentium3

Re: GitDOS

Сообщение .::. Typucm .::. » 28 июн 2026, 17:42

Самое узкое место - это лимиты используемого сервиса; который периодически бывает еще и не доступен. Только что работал, через минуту не доступен, через пара минут - все хорошо. Ограничения по запросам можно в момент слить при нецелевом использовании. Репозиторий это не файловая система, могут быть неожиданные нюансы (самые банальные: кодировки DOS и временные файлы).

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

Re: GitDOS

Сообщение IBMForever » 28 июн 2026, 18:48

А под какой компьютер dosbox настроен? 386 или ниже?
Аватара пользователя
IBMForever
Мастер Даунгрейда
 
Сообщения: 217
Зарегистрирован: 24 авг 2022, 00:23
Железо: IBM PC 286 AT

Re: GitDOS

Сообщение Superbip20 » 28 июн 2026, 19:06

ctv, задумка твоего проекта интересная, но использовать репозиторий как C: очень плохая идея... (см. мой скриншот) :(
1230.PNG
Меню дисков
1230.PNG (124.51 Кб) Просмотров: 1137

Но лучше подключить к локальному, чем через GitHub.
Фанатка Puyo Puyo (с 2024 г.), Mr. Driller (с 2025 г.), ретро и художница.

Мой пол: Женский
Аватара пользователя
Superbip20
Мастер Даунгрейда
 
Сообщения: 601
Зарегистрирован: 31 окт 2025, 13:57
Откуда: Возле Барнаула, Алтайский край
Железо: Мой новый Lenovo под Windows 10, виртуальные машины 86box и VirtualBox, моя Nintendo Switch

Re: GitDOS

Сообщение ppp » 28 июн 2026, 19:15

IBMForever писал(а):А под какой компьютер dosbox настроен? 386 или ниже?

Ниже он разве умеет?
ppp
Матерый даунгрейдер
 
Сообщения: 89
Зарегистрирован: 27 июл 2023, 18:41

Re: GitDOS

Сообщение ctv » 29 июн 2026, 23:55

.::. Typucm .::. писал(а):Самое узкое место - это лимиты используемого сервиса; который периодически бывает еще и не доступен. Только что работал, через минуту не доступен, через пара минут - все хорошо. Ограничения по запросам можно в момент слить при нецелевом использовании. Репозиторий это не файловая система, могут быть неожиданные нюансы (самые банальные: кодировки DOS и временные файлы).

Ну и ИИ-шное воззвание "Кому может быть полезно" я бы из конца текста удалил, от греха подальше.


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

Re: GitDOS

Сообщение ctv » 29 июн 2026, 23:58

IBMForever писал(а):А под какой компьютер dosbox настроен? 386 или ниже?

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

Re: GitDOS

Сообщение ctv » 30 июн 2026, 00:03

Superbip20 писал(а):ctv, задумка твоего проекта интересная, но использовать репозиторий как C: очень плохая идея... (см. мой скриншот) :(
1230.PNG

Но лучше подключить к локальному, чем через GitHub.


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

Re: GitDOS

Сообщение IBMForever » 30 июн 2026, 06:50

ctv писал(а): Для локальных файлов есть обычный dosbox, а тут начиналось развитие с того, что я хотел сделать свой инструмент для работы с репозиториями, а потом как-то на глаза попал dosboxjs. Делал изначально для обслуживания своих репозиториев, а дальше пошло, что уже не остановить.

Чисто для игр, по моему будет маловостребованно. Под микроконтроллеры не планируете что то сделать, что бы программисты могли пользоваться.
Аватара пользователя
IBMForever
Мастер Даунгрейда
 
Сообщения: 217
Зарегистрирован: 24 авг 2022, 00:23
Железо: IBM PC 286 AT

Re: GitDOS

Сообщение Superbip20 » 30 июн 2026, 10:51

ctv писал(а):К локальному из браузера, это как?

1231.PNG
1231.PNG (7.73 Кб) Просмотров: 888

Я это имею в виду, через выбор файлов.
Фанатка Puyo Puyo (с 2024 г.), Mr. Driller (с 2025 г.), ретро и художница.

Мой пол: Женский
Аватара пользователя
Superbip20
Мастер Даунгрейда
 
Сообщения: 601
Зарегистрирован: 31 окт 2025, 13:57
Откуда: Возле Барнаула, Алтайский край
Железо: Мой новый Lenovo под Windows 10, виртуальные машины 86box и VirtualBox, моя Nintendo Switch

Re: GitDOS

Сообщение ctv » 01 июл 2026, 00:16

Superbip20 писал(а):
ctv писал(а):К локальному из браузера, это как?

1231.PNG

Я это имею в виду, через выбор файлов.

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

Re: GitDOS

Сообщение Superbip20 » 05 июл 2026, 13:33

ctv писал(а):тем более для таких вещей есть стандартный досбокс, а я в первую очередь делаю инструмент для работы с репозиториями, по типу git, но на dos основе.

Через этот сервер: viewtopic.php?f=21&t=3298&start=0, можно решить эту проблему. :D
Фанатка Puyo Puyo (с 2024 г.), Mr. Driller (с 2025 г.), ретро и художница.

Мой пол: Женский
Аватара пользователя
Superbip20
Мастер Даунгрейда
 
Сообщения: 601
Зарегистрирован: 31 окт 2025, 13:57
Откуда: Возле Барнаула, Алтайский край
Железо: Мой новый Lenovo под Windows 10, виртуальные машины 86box и VirtualBox, моя Nintendo Switch


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

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

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