-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
683 additions
and
0 deletions.
There are no files selected for viewing
Binary file not shown.
Empty file.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
var userDeviceArray = [ | ||
{ device: 'Android', platform: /Android/ }, | ||
{ device: 'iPhone', platform: /iPhone/ }, | ||
{ device: 'iPad', platform: /iPad/ }, | ||
{ device: 'Symbian', platform: /Symbian/ }, | ||
{ device: 'Windows Phone', platform: /Windows Phone/ }, | ||
{ device: 'Tablet OS', platform: /Tablet OS/ }, | ||
{ device: 'Linux', platform: /Linux/ }, | ||
{ device: 'Windows XP (or Server 2003) and older', platform: /Windows NT 5.1/ }, | ||
{ device: 'Windows Vista (or Server 2008)', platform: /Windows NT 6.0/ }, | ||
{ device: 'Windows 7 (or Server 2008 R2)', platform: /Windows NT 6.1/ }, | ||
{ device: 'Windows 8 (or Server 2012)', platform: /Windows NT 6.2/ }, | ||
{ device: 'Windows 8.1 (or Server 2012 R2)', platform: /Windows NT 6.3/ }, | ||
{ device: 'Windows 10/11 (or Server 2016/2019)', platform: /Windows NT 10.0/ }, | ||
{ device: 'Macintosh', platform: /Macintosh/ } | ||
]; | ||
|
||
var platform = navigator.userAgent; | ||
|
||
// Функция получения платформы ОС | ||
function getPlatform() { | ||
for (var i = 0; i < userDeviceArray.length; i++) { | ||
if (userDeviceArray[i].platform.test(platform)) { | ||
return userDeviceArray[i].device; | ||
} | ||
} | ||
return 'Unknown'; | ||
} | ||
|
||
// Функция имитации запуска ПК | ||
function simulatePCStartup() { | ||
var output = document.getElementById('output'); | ||
|
||
// Функция для добавления строки с задержкой | ||
function addOutputLine(line, delay) { | ||
setTimeout(function () { | ||
output.innerHTML += line + '\n'; | ||
}, delay * 1000); | ||
} | ||
|
||
// Добавление строк с задержкой | ||
addOutputLine('[ 0.00000000] Search shell command prompt', 0); | ||
addOutputLine('[ 1.00000000] Your OS: ' + getPlatform(), 1); | ||
addOutputLine('[ 2.00000000] Initialization shell prompt', 2); | ||
addOutputLine('[ 3.00000000] Startup May Console', 3); | ||
|
||
// Перенаправление на страницу shell/index.html с задержкой | ||
setTimeout(function () { | ||
window.location.href = 'shell/index.html'; | ||
}, 5000); | ||
} | ||
|
||
// Вызов функции имитации запуска ПК при загрузке страницы | ||
window.onload = function () { | ||
simulatePCStartup(); | ||
}; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
* { | ||
margin: 0; | ||
padding: 0; | ||
} | ||
|
||
html { | ||
background-color: #000; | ||
} | ||
|
||
body { | ||
-webkit-user-select: none; /* Запрет выделения текста для Chrome, Safari, Opera */ | ||
-moz-user-select: none; /* Запрет выделения текста для Firefox */ | ||
-ms-user-select: none; /* Запрет выделения текста для Internet Explorer и Microsoft Edge */ | ||
user-select: none; /* Запрет выделения текста для большинства браузеров */ | ||
} | ||
|
||
.console { | ||
border-color: darkgray 10px; | ||
background-color: rgb(0, 0, 0); | ||
padding: 10px; | ||
font-family: monospace; | ||
font-size: 20px; | ||
} | ||
|
||
|
||
|
||
#output { | ||
min-height: 10px; | ||
overflow-y: auto; | ||
white-space: pre-wrap; | ||
word-wrap: break-word; | ||
color: #fff; | ||
} | ||
|
||
input { | ||
color: #fff; | ||
width: 100%; | ||
border: none; | ||
background-color: transparent; | ||
outline: none; | ||
font-family: monospace; | ||
font-size: 20px; | ||
} | ||
|
||
::-webkit-scrollbar { | ||
transition: 0.2s; | ||
background: #000000c9; | ||
backdrop-filter: blur(5px); | ||
margin-right: 5px; | ||
width: 8px; | ||
overflow-y: auto; | ||
scrollbar-color: transparent; | ||
} | ||
|
||
::-webkit-scrollbar-button:hover { | ||
box-shadow: inset 0 0 3px #fafafa; background: snow; | ||
} | ||
|
||
::-webkit-scrollbar-thumb { | ||
background: rgb(255, 255, 255); | ||
|
||
} | ||
|
||
::-webkit-scrollbar-thumb:hover { | ||
background: rgb(255, 255, 255); | ||
animation-duration: 0.5s; | ||
} | ||
|
||
::-webkit-scrollbar-thumb:active { | ||
background: rgb(84, 84, 84); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,257 @@ | ||
document.addEventListener('DOMContentLoaded', function() { | ||
const input = document.getElementById('input'); | ||
const output = document.getElementById('output'); | ||
const consoleElement = document.querySelector('.console'); | ||
let canInputCommand = true; | ||
|
||
output.innerHTML += 'May Console 1.0\n'; | ||
output.innerHTML += 'Languange: RU\n'; | ||
output.innerHTML += 'Account: User\n'; | ||
output.innerHTML += '\n'; | ||
output.innerHTML += 'Введи слово hint, чтобы ознакомиться с командами.\n'; | ||
|
||
input.addEventListener('keydown', function(event) { | ||
if (event.key === 'Enter') { | ||
const command = input.value; | ||
input.value = ''; | ||
|
||
output.innerHTML += '> ' + command + '\n'; | ||
|
||
if (canInputCommand) { | ||
executeCommand(command); | ||
} else { | ||
output.innerHTML += 'Подождите, идет выполнение предыдущей команды...\n'; | ||
} | ||
|
||
// Прокрутка командной строки вниз после выполнения команды | ||
consoleElement.scrollTop = consoleElement.scrollHeight; | ||
} | ||
}); | ||
|
||
function executeCommand(command) { | ||
if (command === 'hello') { | ||
output.innerHTML += 'Привет!\n'; | ||
} else if (command === 'time') { | ||
const currentTime = new Date().toLocaleTimeString(); | ||
output.innerHTML += 'Текущее время: ' + currentTime + '\n'; | ||
} else if (command === 'checkversion') { | ||
checkScriptVersion(); | ||
} else if (command.startsWith('execute')) { | ||
executeSubcommand(command); | ||
} else if (command === 'clear') { | ||
clearConsole(); | ||
} else if (command === '--bio:maydilsiel') { | ||
showbio(); | ||
} else if (command === 'graphic_-install') { | ||
installationGraphics(); | ||
} else if (command === 'about-system') { | ||
output.innerHTML += '\n'; | ||
output.innerHTML += 'May Console 1.0\n'; | ||
output.innerHTML += '=========================================\n'; | ||
output.innerHTML += 'Последнее обновление: 27/06/2023 \n'; | ||
output.innerHTML += 'Основан на: JavaScript\n'; | ||
output.innerHTML += 'Работали над консолью Ramzayev German & Ivan Movchan\n'; | ||
output.innerHTML += 'Исходный код проекта: Открыт.\n'; | ||
output.innerHTML += '\n'; | ||
} else if (command === 'hint') { | ||
showHint(); | ||
} else if (command.startsWith('changecolor')) { | ||
const colors = command.substring(12).split(' '); | ||
const textColor = colors[1]; | ||
const backgroundColor = colors[0]; | ||
changeColor(textColor, backgroundColor); | ||
} else { | ||
if (canInputCommand) { | ||
output.innerHTML += '<b style="color: red;">E:</b> Неизвестная команда: ' + command + '\n'; | ||
} else { | ||
output.innerHTML += 'Подождите, идет выполнение предыдущей команды...\n'; | ||
} | ||
} | ||
|
||
// Прокрутка командной строки вниз после выполнения команды | ||
consoleElement.scrollTop = consoleElement.scrollHeight; | ||
} | ||
|
||
function executeSubcommand(command) { | ||
const subcommand = command.substring(8).trim(); | ||
|
||
if (subcommand === '--help') { | ||
output.innerHTML += 'Доступные подкоманды:\n'; | ||
output.innerHTML += '- execute --9 page=download_-version: Отображает информацию о доступных релизах.\n'; | ||
output.innerHTML += '- execute --9 page=download_-4389trh7f8dscvre0: Отображает информацию о конкретном релизе.\n'; | ||
output.innerHTML += '\n'; | ||
} else if (subcommand === '--9 page=download_-version') { | ||
clearConsole(); | ||
output.innerHTML += 'Выбор релиза\n'; | ||
output.innerHTML += '==================================================\n'; | ||
output.innerHTML += '\n'; | ||
output.innerHTML += 'MayConsole 1.0 [Release code 4389trh7f8dscvre0] [date: 27/06/2023]\n'; | ||
} else if (subcommand === '--9 page=download_-4389trh7f8dscvre0') { | ||
output.innerHTML += 'MayConsole 1.0 [Release code 4389trh7f8dscvre0] [date: 27/06/2023]\n'; | ||
output.innerHTML += '===============================================================================\n'; | ||
output.innerHTML += '\n'; | ||
output.innerHTML += 'Сведение execute --i page=download_-4389trh7f8dscvre0\n'; | ||
} else if (subcommand === '--i page=download_-4389trh7f8dscvre0') { | ||
clearConsole(); | ||
output.innerHTML += 'MayConsole 1.0 [Release code 4389trh7f8dscvre0] [date: 27/06/2023]\n'; | ||
output.innerHTML += '===============================================================================\n'; | ||
output.innerHTML += '\n'; | ||
output.innerHTML += 'Преимущества:\n'; | ||
output.innerHTML += '- Простота использования: Консоль предоставляет удобный интерфейс для взаимодействия с пользователем через командную строку.\n'; | ||
output.innerHTML += '- Гибкость: Вы можете добавлять свои собственные команды и логику обработки в функции `executeCommand` и `executeSubcommand`.\n'; | ||
output.innerHTML += '- Возможность отображать результаты выполнения команд и подкоманд в консоли.\n'; | ||
output.innerHTML += '- Интерактивность: Пользователь может вводить команды и получать ответы в режиме реального времени.\n'; | ||
output.innerHTML += '\n'; | ||
output.innerHTML += 'Недостатки:\n'; | ||
output.innerHTML += '- Отсутствие встроенных механизмов безопасности: Консоль не имеет механизмов защиты от злонамеренных команд или ввода данных, поэтому необходимо самостоятельно обеспечить безопасность и валидацию вводимых команд.\n'; | ||
output.innerHTML += '- Ограниченность функциональности: Консоль может выполнять только те команды, которые были предварительно определены в коде.\n'; | ||
output.innerHTML += '\n'; | ||
output.innerHTML += 'Инструкция по встраиванию:\n'; | ||
output.innerHTML += '1. Редактирование CSS:\n'; | ||
output.innerHTML += ' - Добавьте следующие стили для класса `.console`:\n'; | ||
output.innerHTML += ' ```css\n'; | ||
output.innerHTML += ' .console {\n'; | ||
output.innerHTML += ' height: 300px; /* Высота консоли */\n'; | ||
output.innerHTML += ' overflow-y: auto; /* Включение вертикальной прокрутки */\n'; | ||
output.innerHTML += ' font-family: monospace; /* Шрифт для текста в консоли */\n'; | ||
output.innerHTML += ' }\n'; | ||
output.innerHTML += ' ```\n'; | ||
output.innerHTML += ' - Добавьте следующие стили для класса `.console pre` (для отображения текста в консоли):\n'; | ||
output.innerHTML += ' ```css\n'; | ||
output.innerHTML += ' .console pre {\n'; | ||
output.innerHTML += ' margin: 0;\n'; | ||
output.innerHTML += ' white-space: pre-wrap; /* Обработка переносов строк */\n'; | ||
output.innerHTML += ' word-break: break-all; /* Разбиение слов по слогам */\n'; | ||
output.innerHTML += ' }\n'; | ||
output.innerHTML += ' ```\n'; | ||
output.innerHTML += '\n'; | ||
output.innerHTML += '2. Добавление HTML-кода:\n'; | ||
output.innerHTML += ' - Внутри `<body>` вашего HTML-файла добавьте следующий код:\n'; | ||
output.innerHTML += ' ```html\n'; | ||
output.innerHTML += ' <div class="console">\n'; | ||
output.innerHTML += ' <pre id="output"></pre>\n'; | ||
output.innerHTML += ' </div>\n'; | ||
output.innerHTML += ' <br>\n'; | ||
output.innerHTML += ' <input type="text" id="input" placeholder="Введите команду, для полной подсказки воспользуйтесь командой hint" autofocus>\n'; | ||
output.innerHTML += ' ```\n'; | ||
output.innerHTML += '\n'; | ||
output.innerHTML += '3. Добавление скрипта:\n'; | ||
output.innerHTML += ' - Добавьте скрипт в ваш HTML-файл внутри блока `<script></script>`:\n'; | ||
output.innerHTML += ' ```javascript\n'; | ||
output.innerHTML += ' <script>\n'; | ||
output.innerHTML += ' // Вставьте здесь код, который был предоставлен ранее\n'; | ||
output.innerHTML += ' </script>\n'; | ||
output.innerHTML += ' ```\n'; | ||
output.innerHTML += '\n'; | ||
output.innerHTML += 'После внедрения кода, вы сможете использовать любую команду для выполнения определенной логики в функции `executeSubcommand` в коде JavaScript. Вам необходимо добавить соответствующий блок кода в эту функцию, чтобы обрабатывать и выполнять эту команду соответствующим образом.\n'; | ||
output.innerHTML += 'Для установки данного релиза нужно ввести эту команду с участием execute с ключом [-o]\n'; | ||
|
||
} else if (subcommand === '-o page=download_-4389trh7f8dscvre0') { | ||
output.innerHTML += 'Установка релиза...........' | ||
window.location.href = '../asstes/release/4389trh7f8dscvre0.zip'; | ||
|
||
} else { | ||
output.innerHTML += '<b style="color: red;">E:</b> Неизвестная подкоманда: ' + subcommand + '\n'; | ||
} | ||
|
||
// Прокрутка командной строки вниз после выполнения подкоманды | ||
consoleElement.scrollTop = consoleElement.scrollHeight; | ||
} | ||
|
||
function clearConsole() { | ||
output.innerHTML = ''; // Очистка содержимого консоли | ||
|
||
// Прокрутка командной строки вниз после очистки | ||
consoleElement.scrollTop = consoleElement.scrollHeight; | ||
} | ||
|
||
function checkScriptVersion() { | ||
output.innerHTML += 'Проверка версии скрипта...\n'; | ||
canInputCommand = false; // Запрет ввода новых команд | ||
|
||
// Здесь можно добавить логику проверки версии скрипта, например, с помощью AJAX-запроса или других методов | ||
// Для примера, использован фиктивный запрос к файлу с информацией о версии | ||
|
||
setTimeout(function() { | ||
output.innerHTML += 'Версия скрипта: 1.0\n'; | ||
canInputCommand = true; // Разрешение ввода новых команд | ||
|
||
// Прокрутка командной строки вниз после проверки версии | ||
consoleElement.scrollTop = consoleElement.scrollHeight; | ||
}, 2000); | ||
} | ||
|
||
function showHint() { | ||
output.innerHTML += 'Доступные команды:\n'; | ||
output.innerHTML += '- hello: Выводит приветствие.\n'; | ||
output.innerHTML += '- time: Выводит текущее время.\n'; | ||
output.innerHTML += '- checkversion: Проверяет версию скрипта.\n'; | ||
output.innerHTML += '- execute --help: Выводит доступные подкоманды для execute.\n'; | ||
output.innerHTML += '- clear: Очищает консоль.\n'; | ||
output.innerHTML += '- about-system: Выводит информацию о системе.\n'; | ||
output.innerHTML += '- hint: Выводит список доступных команд.\n'; | ||
output.innerHTML += '- changecolor <background-color> <text-color>: Изменяет цвет фона и текста в консоли.\n'; | ||
output.innerHTML += '\n'; | ||
|
||
// Прокрутка командной строки вниз после вывода подсказки | ||
consoleElement.scrollTop = consoleElement.scrollHeight; | ||
} | ||
|
||
function changeColor(textColor, backgroundColor) { | ||
const consoleStyle = consoleElement.style; | ||
consoleStyle.color = textColor; | ||
consoleStyle.backgroundColor = backgroundColor; | ||
|
||
output.innerHTML += 'Цвет фона и текста изменен.\n'; | ||
|
||
// Прокрутка командной строки вниз после изменения цвета | ||
consoleElement.scrollTop = consoleElement.scrollHeight; | ||
} | ||
|
||
function installationGraphics() { | ||
window.location.href = 'mayinstaller.html'; | ||
output.innerHTML += 'Загрузка в графическую установку.................................\n'; | ||
|
||
// Прокрутка командной строки вниз после изменения цвета | ||
consoleElement.scrollTop = consoleElement.scrollHeight; | ||
} | ||
|
||
function playSoundCloudTrack(trackUrl) { | ||
// Подставьте ваш Client ID вместо YOUR_CLIENT_ID | ||
SC.initialize({ client_id: 'YOUR_CLIENT_ID' }); | ||
|
||
// Получение информации о треке с помощью API | ||
SC.resolve(trackUrl) | ||
.then(function (track) { | ||
var audio = document.getElementById('myAudio'); | ||
|
||
// Установка пути трека в аудио элемент | ||
audio.src = track.stream_url + '?client_id=YOUR_CLIENT_ID'; | ||
|
||
// Воспроизведение трека | ||
audio.play(); | ||
}) | ||
.catch(function (error) { | ||
console.error('Ошибка при загрузке трека:', error); | ||
}); | ||
} | ||
|
||
function showbio() { | ||
clearConsole(); | ||
output.innerHTML += 'БИОГРАФИЯ MAYDILSIEL\n'; | ||
output.innerHTML += '=====================================================\n'; | ||
output.innerHTML += 'Имя: Герман Рамзаев\n'; | ||
output.innerHTML += 'Возраст: 17 (скоро 18)\n'; | ||
output.innerHTML += 'Место жительства: Казахстан\n'; | ||
output.innerHTML += 'Родной язык: Русский\n'; | ||
output.innerHTML += 'Часовой пояс: UTC +06:00\n'; | ||
output.innerHTML += 'Учится на программиста\n'; | ||
output.innerHTML += 'Основной язык программирования: C#\n'; | ||
output.innerHTML += 'Дополнительный язык программирования: Python + JavaScript\n'; | ||
output.innerHTML += 'Изредка использует С++\n'; | ||
output.innerHTML += 'Самостоятельное изучение языка C# важная часть развития для него\n'; | ||
|
||
} | ||
|
||
|
||
}); |
Oops, something went wrong.