Перейти к содержимому
BrightYC

Cyan BIOS

Рекомендуемые сообщения

Я не спорю, но пароль больше 4 символов не влезает. Если есть возможность включить комп, то на подбор пароля уйдет 20-30 минут, а с учетом артефактов сжатия, можно и за 5.

 

Намного проще и удобней было бы лочить по юзеру, подменить сигнал от игрока гораздо сложнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
59 минут назад, Doob сказал:

Намного проще и удобней было бы лочить по юзеру, подменить сигнал от игрока гораздо сложнее.

Я думал сделать так, но к сожалению у меня совсем не хватает места. Я не знаю что можно сделать, разве что назначить какого-то одного админа.

59 минут назад, Doob сказал:

Я не спорю, но пароль больше 4 символов не влезает.

Исправлю. (Вообще, там должно быть 12 символов).

59 минут назад, Doob сказал:

Если есть возможность включить комп, то на подбор пароля уйдет 20-30 минут, а с учетом артефактов сжатия, можно и за 5.

В принципе, код EEPROM'ы хранится в NBT, я совсем забыл об этом. Переделаю сегодня...

Изменено пользователем BrightYC

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обновил. Теперь, доступ осуществляется не по паролю, а по белому списку. Под белый список есть ровно 220 байт(Со стандартным конфигом), что равно около 18 ников со средней длиной.
Установка осуществляется всё так же.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Совсем забыл в видео показать.

Демонстрация подключения компонентов "на лету":

 

Скрытый текст

t4v59ty.gif

 

 

Изменено пользователем Alex
Установка спойлера

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Небольшое обновление: добавлен автоматический скейлинг. Работает "на лету".

cyan.gif

  • Нравится 6
  • Одобряю 1
  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

hzpIvCt.png

Добавлена поддержка нескольких загрузочных файлов (если на одном физическом диске, например, майнось и опенось)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 05.06.2020 в 23:35, BrightYC сказал:

Решил написать свой мультизагрузчик. Возможно, он похож на тот, что поставляется с комплектом MineOS, так что в целом является неплохой заменой стандартного биоса. 

 

Установка:

 

Для OpenOS, просто запустите эту команду:


wget -f https://raw.githubusercontent.com/BrightYC/Cyan/master/installer.lua /tmp/installer.lua && /tmp/installer.lua

Для MineOS же есть приложение в местном AppMarket, под названием Cyan BIOS. Там тоже довольно элементарно.

 

Исходники лежат тут: https://github.com/BrightYC/Cyan

 

Что он может?

  • Возможность загрузки/доступа к загрузчику по "белому" списку
  • Lua-интерпретатор
  • Возможность подключения компонентов "на лету"
  • Возможность отформатировать/переименовать файловую систему
  • Загрузка по интернету
     

Доступ по белому списку:

Ограничивает возможность управления биосом (на программном уровне), так же, если установить require user input, биос будет ждать нажатие от пользователя в белом списке.


Shell:


Позволяет выполнять некий код "на лету". Имплементированы следующие функции:

  • print(...)
  • proxy(componentName: string): component proxy or nil
  • sleep([timeout: number])

Демонстрация:
 

  Показать содержимое

WWiX2tQ.png

pnFC0cO.png

6QXw6LX.png

Yi7v2n2.png


P.S Огромное спасибо @Fingercomp за лекцию по экранированию символов.

единственное что не понятно это зачем столько кешировать в коде, при минификации это имеет смысл

при сжатии же это только уменьшет размер исходника но скорее всего даже увеличит размер файла после сжатия

при сжатии кешировать имеет слысл только те переменные которые будут использоваться уже после загрузки OS(так как система может удалить их из _ENV)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 06.06.2020 в 05:44, BrightYC сказал:

Я думал сделать так, но к сожалению у меня совсем не хватает места. Я не знаю что можно сделать, разве что назначить какого-то одного админа.

Исправлю. (Вообще, там должно быть 12 символов).

В принципе, код EEPROM'ы хранится в NBT, я совсем забыл об этом. Переделаю сегодня...

сейчас я работаю над своим новым биосом и там будет пароль который хоть и будет в eeprom data будет закеширован, так что пароль не такой уж и плахой вариант

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 05.06.2020 в 23:35, BrightYC сказал:

Решил написать свой мультизагрузчик. Возможно, он похож на тот, что поставляется с комплектом MineOS, так что в целом является неплохой заменой стандартного биоса. 

 

Установка:

 

Для OpenOS, просто запустите эту команду:


wget -f https://raw.githubusercontent.com/BrightYC/Cyan/master/installer.lua /tmp/installer.lua && /tmp/installer.lua

Для MineOS же есть приложение в местном AppMarket, под названием Cyan BIOS. Там тоже довольно элементарно.

 

Исходники лежат тут: https://github.com/BrightYC/Cyan

 

Что он может?

  • Возможность загрузки/доступа к загрузчику по "белому" списку
  • Lua-интерпретатор
  • Возможность подключения компонентов "на лету"
  • Возможность отформатировать/переименовать файловую систему
  • Загрузка по интернету
     

Доступ по белому списку:

Ограничивает возможность управления биосом (на программном уровне), так же, если установить require user input, биос будет ждать нажатие от пользователя в белом списке.


Shell:


Позволяет выполнять некий код "на лету". Имплементированы следующие функции:

  • print(...)
  • proxy(componentName: string): component proxy or nil
  • sleep([timeout: number])

Демонстрация:
 

  Показать содержимое

WWiX2tQ.png

pnFC0cO.png

6QXw6LX.png

Yi7v2n2.png


P.S Огромное спасибо @Fingercomp за лекцию по экранированию символов.

укажи в теме пожалуйста что на первых мониторах не работает а то я они комп так ухандохал, конечно на lua биос потом обратно поменял но все равно неприятненько

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 22.06.2022 в 18:34, rootmaster сказал:

укажи в теме пожалуйста что на первых мониторах не работает а то я они комп так ухандохал, конечно на lua биос потом обратно поменял но все равно неприятненько

NSCAwRv.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 11.03.2022 в 12:57, rootmaster сказал:

единственное что не понятно это зачем столько кешировать в коде

потому что код писался специально чтоб лучше сжимался....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 05.06.2020 в 23:35, BrightYC сказал:

Решил написать свой мультизагрузчик. Возможно, он похож на тот, что поставляется с комплектом MineOS, так что в целом является неплохой заменой стандартного биоса. 

 

Установка:

 

Для OpenOS, просто запустите эту команду:


wget -f https://raw.githubusercontent.com/BrightYC/Cyan/master/installer.lua /tmp/installer.lua && /tmp/installer.lua

Для MineOS же есть приложение в местном AppMarket, под названием Cyan BIOS. Там тоже довольно элементарно.

 

Исходники лежат тут: https://github.com/BrightYC/Cyan

 

Что он может?

  • Возможность загрузки/доступа к загрузчику по "белому" списку
  • Lua-интерпретатор
  • Возможность подключения компонентов "на лету"
  • Возможность отформатировать/переименовать файловую систему
  • Загрузка по интернету
     

Доступ по белому списку:

Ограничивает возможность управления биосом (на программном уровне), так же, если установить require user input, биос будет ждать нажатие от пользователя в белом списке.


Shell:


Позволяет выполнять некий код "на лету". Имплементированы следующие функции:

  • print(...)
  • proxy(componentName: string): component proxy or nil
  • sleep([timeout: number])

Демонстрация:
 

  Показать содержимое

WWiX2tQ.png

pnFC0cO.png

6QXw6LX.png

Yi7v2n2.png


P.S Огромное спасибо @Fingercomp за лекцию по экранированию символов.

небольшой бажок в установщике для openOS, если загрузиться с lua bios сменить чип и попытаться поставить этот биос вылетит ошибка(хотя чип и прошьётся, не не примениться read only, не напишет seccess, и не предложит reboot), так как ты использовал метод computer.getBootAddress который нежелательно использовать после загрузки компьютера(мое субъективное мнения), это ошибка актуальная для смены lua bios/micro bios/и самого Cyan Bios а так же для всех биосов где computer.getBootAddress просто алиас к eeprom.getData, однако например при загрузке через smart efi и последующий смены чипа с попыткой прошивки Cyan Bios ошибки не последует так как так computer.getBootAddress там реализован иначе, сделай такой код: local bootaddress = fs.get("/").address if computer.getBootAddress then local ok, result = pcall(computer.getBootAddress) if result then bootaddress = result end end eeprom.setData(bootaddress), и проблема исчезнет

Изменено пользователем rootmaster

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 25.06.2022 в 20:48, BrightYC сказал:

потому что код писался специально чтоб лучше сжимался....

ну ладно... но у меня без кэшированный сжатия белее эффективное, хз наверное мы юзаем разные алгоритмы сжатия

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 25.06.2022 в 20:48, BrightYC сказал:

потому что код писался специально чтоб лучше сжимался....

 

В 05.06.2020 в 23:35, BrightYC сказал:

Решил написать свой мультизагрузчик. Возможно, он похож на тот, что поставляется с комплектом MineOS, так что в целом является неплохой заменой стандартного биоса. 

 

Установка:

 

Для OpenOS, просто запустите эту команду:


wget -f https://raw.githubusercontent.com/BrightYC/Cyan/master/installer.lua /tmp/installer.lua && /tmp/installer.lua

Для MineOS же есть приложение в местном AppMarket, под названием Cyan BIOS. Там тоже довольно элементарно.

 

Исходники лежат тут: https://github.com/BrightYC/Cyan

 

Что он может?

  • Возможность загрузки/доступа к загрузчику по "белому" списку
  • Lua-интерпретатор
  • Возможность подключения компонентов "на лету"
  • Возможность отформатировать/переименовать файловую систему
  • Загрузка по интернету
     

Доступ по белому списку:

Ограничивает возможность управления биосом (на программном уровне), так же, если установить require user input, биос будет ждать нажатие от пользователя в белом списке.


Shell:


Позволяет выполнять некий код "на лету". Имплементированы следующие функции:

  • print(...)
  • proxy(componentName: string): component proxy or nil
  • sleep([timeout: number])

Демонстрация:
 

  Показать содержимое

WWiX2tQ.png

pnFC0cO.png

6QXw6LX.png

Yi7v2n2.png


P.S Огромное спасибо @Fingercomp за лекцию по экранированию символов.

вот еще один баг, ты не откатываешь изменения внесенные в палитру, на третях мониторах ты потеряешь пару оттенков серого что в целом нестрашно, и если бы ты не поддерживал мониторы второго уровня это не было бы так серьезно, но так как в коде у тебя есть упоминания планшетов, я могу с уверенностью сказать что биос создавался для использования в том числе и на мониторах второго уровня, а так последствия от такой смены палитры довольно серьезные, и многие gui программы могут сильно исказиться, так как в палитре просто не будет нужных цветов

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 05.06.2020 в 23:35, BrightYC сказал:

Решил написать свой мультизагрузчик. Возможно, он похож на тот, что поставляется с комплектом MineOS, так что в целом является неплохой заменой стандартного биоса. 

 

Установка:

 

Для OpenOS, просто запустите эту команду:


wget -f https://raw.githubusercontent.com/BrightYC/Cyan/master/installer.lua /tmp/installer.lua && /tmp/installer.lua

Для MineOS же есть приложение в местном AppMarket, под названием Cyan BIOS. Там тоже довольно элементарно.

 

Исходники лежат тут: https://github.com/BrightYC/Cyan

 

Что он может?

  • Возможность загрузки/доступа к загрузчику по "белому" списку
  • Lua-интерпретатор
  • Возможность подключения компонентов "на лету"
  • Возможность отформатировать/переименовать файловую систему
  • Загрузка по интернету
     

Доступ по белому списку:

Ограничивает возможность управления биосом (на программном уровне), так же, если установить require user input, биос будет ждать нажатие от пользователя в белом списке.


Shell:


Позволяет выполнять некий код "на лету". Имплементированы следующие функции:

  • print(...)
  • proxy(componentName: string): component proxy or nil
  • sleep([timeout: number])

Демонстрация:
 

  Показать содержимое

WWiX2tQ.png

pnFC0cO.png

6QXw6LX.png

Yi7v2n2.png


P.S Огромное спасибо @Fingercomp за лекцию по экранированию символов.

вот еще бажочек, текст немного сдвинут вверх и влево, что сильно бросается в глаза на t2 тире

Изменено пользователем rootmaster

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
20 часов назад, rootmaster сказал:

вот еще бажочек, текст немного сдвинут вверх и влево, что сильно бросается в глаза на t2 тире

где он сдвинут, заскринь пожалуйста...

20 часов назад, rootmaster сказал:

 

вот еще один баг, ты не откатываешь изменения внесенные в палитру

откатываются... https://github.com/BrightYC/Cyan/blob/master/cyan.lua#L168-L169

 

20 часов назад, rootmaster сказал:

небольшой бажок в установщике для openOS, если загрузиться с lua bios сменить чип и попытаться поставить этот биос вылетит ошибка(хотя чип и прошьётся, не не примениться read only, не напишет seccess, и не предложит reboot), так как ты использовал метод computer.getBootAddress который нежелательно использовать после загрузки компьютера(мое субъективное мнения), это ошибка актуальная для смены lua bios/micro bios/и самого Cyan Bios а так же для всех биосов где computer.getBootAddress просто алиас к eeprom.getData, однако например при загрузке через smart efi и последующий смены чипа с попыткой прошивки Cyan Bios ошибки не последует так как так computer.getBootAddress там реализован иначе, сделай такой код: local bootaddress = fs.get("/").address if computer.getBootAddress then local ok, result = pcall(computer.getBootAddress) if result then bootaddress = result end end eeprom.setData(bootaddress), и проблема исчезнет

я не использую метод get boot address вообще, это от оси зависит использовать это или нет, в майноси это вообще не используется
у меня не хватит места чтоб исключить вообще все случаи связанные с загрузкой оси — мои юзкейсы это покрывало. Если хочешь — сделай PR, я смержу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, BrightYC сказал:

где он сдвинут, заскринь пожалуйста...

откатываются... https://github.com/BrightYC/Cyan/blob/master/cyan.lua#L168-L169

 

я не использую метод get boot address вообще, это от оси зависит использовать это или нет, в майноси это вообще не используется
у меня не хватит места чтоб исключить вообще все случаи связанные с загрузкой оси — мои юзкейсы это покрывало. Если хочешь — сделай PR, я смержу.

FMjtFz7.png 

1) вот тут видно что сдвинуто

2) откатываться до палитры t3, на t2 там другие цвета и палитра уже не правильная

3) ты вызываешь этот метод в установщике для openOS:nKN3lfK.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
56 минут назад, rootmaster сказал:

1) вот тут видно что сдвинуто

2) откатываться до палитры t3, на t2 там другие цвета и палитра уже не правильная

3) ты вызываешь этот метод в установщике для openOS:

1 Так ето прикол центрирования, экран же маленький 80x25

2 а, да, видимо реалььно тако еесть

3 ну установщик следует правилам опеноси ¯\_(ツ)_/¯

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...