Chebuya 415 Опубликовано: 5 июня, 2020 (изменено) Решил написать свой мультизагрузчик. Возможно, он похож на тот, что поставляется с комплектом 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]) Демонстрация: Скрытый текст P.S Огромное спасибо @Fingercomp за лекцию по экранированию символов. Изменено 27 апреля, 2021 пользователем BrightYC 14 1 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 5 июня, 2020 Стильный минимализм. Одобряю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Doob 2 749 Опубликовано: 6 июня, 2020 Я не спорю, но пароль больше 4 символов не влезает. Если есть возможность включить комп, то на подбор пароля уйдет 20-30 минут, а с учетом артефактов сжатия, можно и за 5. Намного проще и удобней было бы лочить по юзеру, подменить сигнал от игрока гораздо сложнее. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya Автор темы 415 Опубликовано: 6 июня, 2020 (изменено) 59 минут назад, Doob сказал: Намного проще и удобней было бы лочить по юзеру, подменить сигнал от игрока гораздо сложнее. Я думал сделать так, но к сожалению у меня совсем не хватает места. Я не знаю что можно сделать, разве что назначить какого-то одного админа. 59 минут назад, Doob сказал: Я не спорю, но пароль больше 4 символов не влезает. Исправлю. (Вообще, там должно быть 12 символов). 59 минут назад, Doob сказал: Если есть возможность включить комп, то на подбор пароля уйдет 20-30 минут, а с учетом артефактов сжатия, можно и за 5. В принципе, код EEPROM'ы хранится в NBT, я совсем забыл об этом. Переделаю сегодня... Изменено 6 июня, 2020 пользователем BrightYC 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya Автор темы 415 Опубликовано: 7 июня, 2020 Обновил. Теперь, доступ осуществляется не по паролю, а по белому списку. Под белый список есть ровно 220 байт(Со стандартным конфигом), что равно около 18 ников со средней длиной. Установка осуществляется всё так же. 4 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya Автор темы 415 Опубликовано: 8 июня, 2020 (изменено) Совсем забыл в видео показать. Демонстрация подключения компонентов "на лету": Скрытый текст Изменено 8 июня, 2020 пользователем Alex Установка спойлера 4 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya Автор темы 415 Опубликовано: 11 апреля, 2021 Небольшое обновление: добавлен автоматический скейлинг. Работает "на лету". 6 1 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya Автор темы 415 Опубликовано: 27 апреля, 2021 Добавлена поддержка нескольких загрузочных файлов (если на одном физическом диске, например, майнось и опенось) 7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
logic 51 Опубликовано: 11 марта, 2022 В 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]) Демонстрация: Показать содержимое P.S Огромное спасибо @Fingercomp за лекцию по экранированию символов. единственное что не понятно это зачем столько кешировать в коде, при минификации это имеет смысл при сжатии же это только уменьшет размер исходника но скорее всего даже увеличит размер файла после сжатия при сжатии кешировать имеет слысл только те переменные которые будут использоваться уже после загрузки OS(так как система может удалить их из _ENV) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
logic 51 Опубликовано: 13 июня, 2022 В 06.06.2020 в 05:44, BrightYC сказал: Я думал сделать так, но к сожалению у меня совсем не хватает места. Я не знаю что можно сделать, разве что назначить какого-то одного админа. Исправлю. (Вообще, там должно быть 12 символов). В принципе, код EEPROM'ы хранится в NBT, я совсем забыл об этом. Переделаю сегодня... сейчас я работаю над своим новым биосом и там будет пароль который хоть и будет в eeprom data будет закеширован, так что пароль не такой уж и плахой вариант Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
logic 51 Опубликовано: 22 июня, 2022 В 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]) Демонстрация: Показать содержимое P.S Огромное спасибо @Fingercomp за лекцию по экранированию символов. укажи в теме пожалуйста что на первых мониторах не работает а то я они комп так ухандохал, конечно на lua биос потом обратно поменял но все равно неприятненько Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya Автор темы 415 Опубликовано: 25 июня, 2022 В 22.06.2022 в 18:34, rootmaster сказал: укажи в теме пожалуйста что на первых мониторах не работает а то я они комп так ухандохал, конечно на lua биос потом обратно поменял но все равно неприятненько 1 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya Автор темы 415 Опубликовано: 25 июня, 2022 В 11.03.2022 в 12:57, rootmaster сказал: единственное что не понятно это зачем столько кешировать в коде потому что код писался специально чтоб лучше сжимался.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
logic 51 Опубликовано: 26 июня, 2022 (изменено) В 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]) Демонстрация: Показать содержимое 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), и проблема исчезнет Изменено 26 июня, 2022 пользователем rootmaster Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
logic 51 Опубликовано: 26 июня, 2022 В 25.06.2022 в 20:48, BrightYC сказал: потому что код писался специально чтоб лучше сжимался.... ну ладно... но у меня без кэшированный сжатия белее эффективное, хз наверное мы юзаем разные алгоритмы сжатия Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
logic 51 Опубликовано: 26 июня, 2022 В 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]) Демонстрация: Показать содержимое P.S Огромное спасибо @Fingercomp за лекцию по экранированию символов. вот еще один баг, ты не откатываешь изменения внесенные в палитру, на третях мониторах ты потеряешь пару оттенков серого что в целом нестрашно, и если бы ты не поддерживал мониторы второго уровня это не было бы так серьезно, но так как в коде у тебя есть упоминания планшетов, я могу с уверенностью сказать что биос создавался для использования в том числе и на мониторах второго уровня, а так последствия от такой смены палитры довольно серьезные, и многие gui программы могут сильно исказиться, так как в палитре просто не будет нужных цветов Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
logic 51 Опубликовано: 26 июня, 2022 (изменено) В 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]) Демонстрация: Показать содержимое P.S Огромное спасибо @Fingercomp за лекцию по экранированию символов. вот еще бажочек, текст немного сдвинут вверх и влево, что сильно бросается в глаза на t2 тире Изменено 26 июня, 2022 пользователем rootmaster Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya Автор темы 415 Опубликовано: 27 июня, 2022 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
logic 51 Опубликовано: 27 июня, 2022 2 часа назад, BrightYC сказал: где он сдвинут, заскринь пожалуйста... откатываются... https://github.com/BrightYC/Cyan/blob/master/cyan.lua#L168-L169 я не использую метод get boot address вообще, это от оси зависит использовать это или нет, в майноси это вообще не используется у меня не хватит места чтоб исключить вообще все случаи связанные с загрузкой оси — мои юзкейсы это покрывало. Если хочешь — сделай PR, я смержу. 1) вот тут видно что сдвинуто 2) откатываться до палитры t3, на t2 там другие цвета и палитра уже не правильная 3) ты вызываешь этот метод в установщике для openOS: 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chebuya Автор темы 415 Опубликовано: 27 июня, 2022 56 минут назад, rootmaster сказал: 1) вот тут видно что сдвинуто 2) откатываться до палитры t3, на t2 там другие цвета и палитра уже не правильная 3) ты вызываешь этот метод в установщике для openOS: 1 Так ето прикол центрирования, экран же маленький 80x25 2 а, да, видимо реалььно тако еесть 3 ну установщик следует правилам опеноси ¯\_(ツ)_/¯ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах