Запустить линукс в браузере

Обновлено: 05.07.2024

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

В предыдущих сериях:

Что это за инструмент

Jor1k представляет собой эмулятор микропроцессора, построенного на базе микроархитектуры OpenRISC 1000. Это — 32 разрядный чип, который открытое сообщество разрабатывает под лицензией LGPL. Устройство использовали в НАСА для создания наноспутника TechEdSat.

Эмулятор написан на JavaScript и работает из браузера. Jor1k увидел свет в 2013 году и с тех пор поддерживается автором. Им выступил Себастьян Макке (Sebastian Macke). Ему помогали несколько коллег по цеху, среди которых значится Жерар Браад (Gerard Braad), ведущий инженер-программист из Red Hat. Авторы проекта говорят, что запустили его для демонстрации возможностей JavaScript.

Инструмент можно использовать как образовательную платформу в университетах. Он также подходит на роль бенчмарка для тестирования JS-движков и может стать альтернативным способом портировать старое ПО на современные системы. Есть мнение, что jor1k сможет выступить в роли узла для TAILS-системы, исключив необходимость выделять отдельную машину.

Что он умеет

Также в jor1k можно воспроизвести несколько видеороликов и поиграть в компьютерные игры. Среди них есть Monkey Island, Doom и Frontier Elite II. В частности, Monkey Island запускается с помощью утилиты ScummVM, разработанной специально для загрузки игр студии LucasArts.

Хотя стоит отметить, что производительность игр оставляет желать лучшего — курсор реагирует на движения мыши достаточно медленно, плюс присутствует задержка после клика.


Картинка выводится при помощи эмулируемого фреймбуфера с разрешением 640x400 и поддержкой сенсорного экрана LPC32xx. Данные система хранит на виртуальном ATA-диске в 64 килобайта и обрабатывает их 32 мегабайтами оперативной памяти. Ввод организован с помощью драйвера виртуальной клавиатуры. В jor1k встроен ethernet-контроллер, позволяющий выходить в интернет из сэмулированной в браузере среды. Один из резидентов Hacker News в тематическом треде отмечает, что в этом случае разработчики перенаправляют все запросы через собственный сервер.

Эмулятор поддерживает многопоточную работу с двумя, четырьмя, восемью и шестнадцатью ядрами. Каждая версия эмулятора загружается по отдельной ссылке — их можно найти в подразделе Demos официального репозитория. Отметим, что при увеличении числа ядер система начинает работать нестабильно — в будущем разработчики планируют решить эту проблему. При этом пользователи с Hacker News отмечают, что эмулятор функционирует быстрее в Firefox, чем в других браузерах. Такое поведение системы связано с более качественной оптимизацией под его JIT-компилятор.

Другие эмуляторы

В рамках проекта JSLinux также разработан эмулятор на JavaScript для 32-разрядного CPU (x86). Его автором выступил французский математик Фабрис Беллар (Fabrice Bellard), который написал библиотеку для декодирования аудио и видеофайлов libavcodec.

Эмулятор построен на основе динамического транслятора из проекта QEMU. Система также задействует типизированные JavaScript-массивы, увеличивающие производительность и уменьшающие потребление памяти при работе с данными фиксированного размера.



Фото — Ivy Barn — Unsplash

Над Linux-эмулятором на JavaScript трудились и инженеры из RISC-V Foundation. Их система называлась riscv-angel и позволяла запустить riscv-linux с набором утилит BusyBox.

Можно с уверенностью сказать, что если подобные решения продолжать совершенствоваться, они могут стать новым витком в развитии терминальных технологий и облачных решений. Особенно актуальными системы вроде jor1k будут для крупных компаний. Так, их сотрудники смогут получать доступ к удаленным рабочим столам с помощью обычного браузера.

Нужен срочный доступ к консоли bash или системе Linux? Не волнуйтесь, эти 10 веб-сайтов помогут вам запустить Linux в вашем браузере, согласно makeuseof.


Удивлен? Что ж, нет, потому что ключ кроется в вашем браузере. Вы можете получить доступ к Linux в вашем собственном интернет-браузере прямо из вашей существующей операционной системы.

Все еще не веришь? Почему бы не зайти на эти сайты и не проверить их?

1. JSLinux


JSLinux написан на JavaScript, что делает его одним из самых популярных и надежных онлайн-эмуляторов. Он поддерживает такие веб-браузеры, как Opera, Chrome, Firefox и Internet Explorer.

Вот список эмулируемых устройств, которые вы можете найти на веб-странице технических замечаний JSLinux:

2. Copy.sh


Не только Linux, пользователи также могут запускать следующие операционные системы с помощью Copy.sh:

Windows 98
KolibriOS
Windows 1.01
FreeDOS
OpenBSD
Solar OS

3. Webminal


Этот эмулятор помог студентам и пользователям из более чем 120 стран выучить 1,5 миллиона команд Linux. Фактически, Webminal также помогает вам практиковать сценарии bash, создавать таблицы MySQL и обращаться к ним, а также изучать такие языки, как Java, Rust, Ruby, Python, C и другие.

Пользователи могут смотреть скринкасты с помощью функции Webminal Play и практиковаться в кастинге, а не читать тонны документов. Онлайн-терминал Linux не требует установки и предлагает 100 МБ бесплатного хранилища. Как пользователь, вы можете обмениваться файлами с другими участниками, создавая группы в эмуляторе, что может быть весьма полезно для проверки или отладки проблем в скрипте.

4. Tutorialspoint


Практика команд Linux в браузере не может быть проще этого. Coding Ground от Tutorialpoint предлагает один из лучших вариантов для запуска терминала CentOS в онлайн-интерфейсе.

Время, чтобы добраться до терминала, минимально, всего около 10 секунд на начальный обратный отсчет. Эта платформа также является одним из лучших решений для отработки Node.js, PHO, NumPy, Lua, Oracle Database, Redis, Ruby и многих других онлайн-IDE, включая Linux.

5. JS/UIX Terminal


Терминал JS / UIX очень похож на операционную систему Unix, которая работает в веб-браузерах; для открытия терминала не требуются плагины. Чтобы попрактиковаться в командах на терминале, вы можете войти в систему как гость и просто приступить к работе.

Терминал полностью написан на JavaScript и включает в себя оболочку и виртуальную машину, а также управление процессами, виртуальную файловую систему, экран и отображение клавиатуры. Клавиатура этого терминала поддерживает набор символов US ASCII, который более понятен пользователям.

Если пользователь желает использовать экранную клавиатуру для ввода своих команд, он может получить к ней доступ, нажав кнопку «Показать клавиатуру», расположенную в левом нижнем углу терминала.

6. CB.VU


7. DistroTest


Если вы хотите протестировать свои команды Linux без установки ОС на свой компьютер, у Distrotest есть решение для вас. Этот веб-сайт позволяет пользователям запускать более 300 дистрибутивов Linux прямо из браузера.

Вы можете установить и удалить любое программное обеспечение в системе, назначенной вам. Удаление системных файлов и установленных программ также возможно, поскольку DistroTest предлагает пользователям полный контроль.

8. Linux Containers


С помощью контейнеров Linux вы можете запустить 30-минутный демонстрационный сервер, который будет действовать как оболочка для запуска терминала Linux. Canonical спонсирует сам этот проект, поэтому вы можете быть уверены, что получите настоящий веб-сайт для выполнения ваших команд Linux.

9. Codeanywhere


Как следует из названия, Codeanywhere как сервис предлагает кроссплатформенные облачные IDE для конечных пользователей. Чтобы запустить бесплатную виртуальную машину Linux, вам сначала нужно зарегистрироваться на веб-сайте, а затем подписаться на бесплатный план.

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

10. CoCalc


Обратитесь к CoCalc, если вы хотите получить доступ к совместному, но полностью синхронизированному терминалу Linux в реальном времени из вашего браузера. Вы можете легко поддерживать программное обеспечение, не беспокоясь об установке его сначала на CoCalc.

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

Впоследствии CoCalc предоставляет окно бокового чата, где вы можете обсуждать свои ошибки и команды с другими пользователями. Скопируйте и вставьте свои команды, коды и другие материалы между вашим онлайн-терминалом и локальным ПК, не неся лишних хлопот.

Запуск Linux в вашем веб-браузере

Теперь, когда у вас есть список из нескольких веб-сайтов, которые помогут вам запустить Linux, какой из них вы бы выбрали? Кто бы мог подумать, что запустить систему Linux в веб-браузерах будет так просто?

Тем не менее, настоятельно рекомендуется проверить систему на наличие других вредоносных программ или вирусов, прежде чем открывать какой-либо веб-сайт в браузере. Неисправный или зараженный вирусами браузер может испортить ваш беспроблемный опыт изучения системы Linux.

Смартфон есть практически у каждого современного человека, поэтому найти информацию не так сложно. Но что делать, если вам надо скачать файл на удалённом сервере с помощью терминал? Вы можете найти ссылку и скачать его с помощью утилиты wget. А что если она длинная и набрать её не так просто? Выход есть – консольный браузер.

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

Лучшие консольные браузеры для Linux

1. Lynx

DwAAAABJRU5ErkJggg==

Lynx – это один из первых веб-браузеров. Он появился в далёком 1992 году и, что удивительно, разрабатывается по сей день. Он не может похвастать удобством использования и поддержкой JavaScript, но всё же с его помощью можно получить базовую функциональность. Подсказки по управлению находятся в нижней части.

Команды для установки Lynx с помощью менеджера пакетов apt:

sudo apt install lynx

С помощью менеджера пакетов RPM:

sudo yum install lynx

2. Links (Links2)

J23ncuQ8pggAAAABJRU5ErkJggg==

Links – это, пожалуй, лучший консольный браузер. Lynx-подобный, именно так называют свой браузер разработчики. Но это утверждение верно лишь отчасти. На деле же их роднит только одно – текстовый режим. Одно время существовало две версии браузера, но установив Links2 вы получите всё тот же Links, версия программы одна и та же – 2.2x.

Управление сделано удобно. Запоминать комбинации клавиш не требуется, всё необходимое есть в панели инструментов (вызывается клавишей Esc). Курсор также работает, панель можно вызвать, кликнув по первой строке. Заявлена поддержка скриптов, но на деле это не сильно улучшает отображаемые страницы. Стоит отметить наличие графического режима (у Links2), который по сути представляет то же самое, но с возможностью отображения картинок. При скачивании файлов они сохраняются в той же директории, из которой был вызван браузер. Искать скачанные программы, скрипты и конфигурационные файлы не придётся.

Команды для установки Links для apt:

sudo apt install links

sudo yum install links

3. Elinks

8X9kfRBKg07UsAAAAASUVORK5CYII=

Elinks – это ответвление Links. Этот браузер лучше работает с цветом, что улучшает восприятие страницы. Однако, из-за ограниченной поддержки скриптов и таблиц стилей, результат может оказаться противоположным. Используйте команду Shift+5 для переключения режимов.

Управление осуществляется схожим образом, но в Elinks элементы расположены несколько иначе. Да и в целом организация меню более интуитивна. Последняя версия вышла в 2012 году. Но даже она во многом превосходит Links, который обновляется до сих пор.

Команды для установки Elinks в Ubuntu или Debian:

sudo apt install elinks

В CentOS, Fedora или RedHat:

sudo yum install elinks

4. w3m

gcX8RaNvIsQVgAAAABJRU5ErkJggg==

w3m, в отличие от предыдущих браузеров, вышел уже во время повсеместного использования интернета, в 2011 году. Если терминал поддерживает курсор, то можно получить доступ к элементам управления через контекстное меню (правая кнопка мыши). Если же возможности использовать мышь нет, обратитесь к подсказке (H), чтобы узнать горячие клавиши.

Скрипты поддерживаются частично, но опять же, текстовый браузер в принципе не способен иметь полноценную поддержку JavaScript. Нельзя не упомянуть то, что браузер доступен в виде плагина для Emacs.

Команды для установки w3m в apt:

sudo apt install w3m

sudo yum install w3m

5. Browsh

AlzrvPnnsp+QAAAAAElFTkSuQmCC

Браузер Browsh интересен в первую очередь тем, что способен наиболее полно отобразить страницу. Нет, это не самостоятельный браузер. Он базируется на Firefox, который работает в фоне. Иными словами, изображение рендерится полноценным браузером, а затем переводится в текст.

Выводы

Это все лучшие консольные браузеры для Linux. Самым удобным и функциональным из них бесспорно является Links и его ответвление Elinks. Он не только имеет самый простой интерфейс, но и способен хоть как-то, но отображать современные сайты. С его помощью вы без особых проблем скачаете файлы по прямым ссылкам. В противном случае можете скачать файлы на смартфон и запустить на нём сервер FTP, чтобы получить доступ к ним извне.

Браузер Browsh выглядит перспективно, но пока что находится на ранней стадии разработки и малопригоден для использования. Но сам факт того, что отображается практически все содержимое страницы впечатляет. А приходится ли вам использовать консольный браузер? Как отображает страницы ваш терминал? Делитесь своим мнением в комментариях.


Но мы также хотели, чтобы SUSE Studio имела как можно более низкий порог вхождения. Если вы приходилось устанавливать какую-либо новую программу для использования Studio, или, если бы было необходимо иметь SUSE установленной на компьютере, думаем, что гораздо меньше людей решили бы попробовать Studio.

Таким образом, это объясняет, почему мы сделали SUSE Studio веб-сервисом, который можно использовать с любого компьютера, даже если у вас нет SUSE. И даже если у вас вообще нет Linux. (Не смотря на то, что для использования SUSE Studio желательно иметь некоторый опыт).

Введение в Testdrive

Java vs Flash и VNC

Первая версия Testdrive использовала Java-апплет, но с ним было много проблем. Апплет, реализованный посредством моста с Javascript, а также поведение центра окна сильно различалось в различных версиях Java, которые работали у наших пользователей. Иногда пользователи не могли вообще печатать в Java. Иногда они видели только серый прямоугольник. По этим причинам мы решили перейти на Flash, который работал намного лучше.

Мы также поигрались с протоколом VNC, чтобы проверить, возможно ли у него улучшить производительность. Существуют некоторые расширения VNC для сжатия траффика фреймбуфера с помощью группового кодирования и сжатия JPEG, но мы подумали, что можно было бы сделать еще лучше.

Мы добавили сжатие клеток PNG, посчитав, что это будет выглядеть лучше, чем JPEG. Использование PNG также позволило нам вернуться к разнообразию серых оттенков или к монохромному отображению на медленных соединениях. Мы также добавили к клиенту и серверу кэш клеток дабы избежать их избыточной передачи. И я работал на патчем для автоматического обнаружения скроллинга консоли, в следствие чего, мы смогли использовать CopyRec, чтобы избежать полной перерисовки экрана.

Мы тестировали это в течение нескольких месяцев, но в конечном итоге, эти расширения не возымели того действия, на которое мы рассчитывали. И, с учетом того, что они не стандартизированы, было тяжело поддерживать их и они требовали множества хаков. В конце концов, мы выкинули все это и сейчас используем более стандартные расширения VNC (ZRLE и Tight).

Измененные файлы

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

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

(Если вы не видите скринкаста, кликните здесь).

Как работают измененные файлы

Есть несколько возможностей выяснить это.

Нам требовалось решение, которому бы не требованлось взаимодействие с самим приложением. Отдельный модуль ядра или любой другой хак, добавленный в приложение, ограничил бы диапазон пользователей, который могли бы работать с SUSE Studio. Мы хотели, чтобы наши пользователи могли выбрать любое ядро, к примеру.

Нам также было необходимо сделать возможным динамическое создание списка изменений файловых систем в течение 1-2 секунд. Что-то более медленное делало бы не удобным интерактивное использование.

Я потратил неделю, проверяя различные способы и каждый раз упирался в препятствия. Большая часть из опробованного была слишком медленной.

Затем, как-то поздно ночью, во время телефонного разговора с Мигелем, мы натолкнулись на действительно великолепное решение.

QEMU (с помощью расширения KVM) имеет возможность запускать виртуальную машину с помощью образа диска с механизмом копирования при записи или cowfile.Каждый раз, когда виртуальная машина хочет прочитать заблокированный диск, она сначала проверяет, представлен ли этот блок в cowfile, и возвращается к оригинальному образу приложения, если нет.

Необычность в том, что мы используем libext2fs, реализацию файловой системы ext2fs в пространстве пользователя, для чтения метаданных как оригинальной, так и модифицированной файловых систем. Мы считываем все inodes и dentries в память, сравниваем их и показываем различия. И это отлично работает. Когда diff запускается впервые, это занимает несколько секунд, но затем блоки метаданных кэшируются, и можно увидеть свежие различия многогигабайтных приложений менее чем за полсекунды.

После разговора с Мигелем мне потребовалось около двух дней, чтобы заставить все это работать. Это был великолепный хак, один из лучших за последние годы. Сделать это было довольно просто (как мы только что выяснили), но я никогда не видел, чтобы какое-нибудь приложение по виртуализации предлагало подобное ранее.

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

Это просто работает, если, конечно, вы запускали полноценный тест в Testdrive.

Вы не можете создавать исходящие сетевые соединения во время тестовой сессии, но мы предоставляем возможность создавать входящие соединения по некоторым портам, чтобы вы могли использовать вход по SSH или тестировать веб-приложения, запущенные на вашем решении. По причинам безопасности, вам придется явно включить эту возможность, кликнув по кнопке , а входящие соединения будут ограничены IP-адресом вашего браузера. Мы осуществили это ограничение с помощью простого патча для QEMU , который Алекс Граф написал за 15 минут. (Алекс, кажется, все делает за 15 минут).

Серверы

Мы предоставляем каждому экземпляру Testdrive 512 MB оперативной памяти и час на работу. Современный сервер за $2000 держит одновременно 16 экземпляров Testdrive и имеет продолжительность жизни около 2 лет. Мы берем на себя 30% потребления и использование электроэнергии, охлаждения и пропускной способности, и оцениваем стоимость хостинга каждой сессии примерно в 6 центов. Нам это кажется справедливой ценой за предоставление возможности разработчикам создавать решения с помощью SUSE Linux.

О QEMU

Я надеюсь, что вы найдете этот пост интересным. Я буду рад любым отзывам, и я хотел бы знать, что вы желаете услышать в дальнейших постах!


Мануал

Описание KaliBrowser

Теперь вы можете запустить Kali Linux, один из популярных и продвинутых дистрибутивов Linux, специально предназначенных для тестирования проникновения и этического взлома, непосредственно в вашем веб-браузере, независимо от используемой операционной системы.

Знакомьтесь с KaliBrowser, новым проектом, разработанным аналитиком безопасности г-ном Джерри Гамбрином для этичных хакеров.

Вам не нужно устанавливать kali Linux в вашу систему.

Просто загрузите образ Docker KaliBrowser и начните играть с операционной системой Kali Linux внутри вашего веб-браузера.

Как запустить KaliBrowser

KaliBrowser на самом деле представляет собой образ докер, созданный с помощью клиента Kali Linux Docker, OpenBox и NoVNC HTML5 VNC.

Итак, чтобы запустить KaliBrowser, вам нужно сначала установить Docker.

Установите Docker на Arch Linux и производных:

Докер доступен в официальных репозиториях Arch Linux.

Чтобы установить Docker на Arch Linux и его производных, выполните:

Затем запустите и включите службу Docker, как показано ниже.

Загрузите и запустите программу KaliBrowser

Выполните следующую команду для загрузки изображения докер KaliBroswer.

Начните работать с Kali Linux прямо из веб-браузера.

Чтобы открыть пункты меню, просто щелкните правой кнопкой мыши на пустое пространство.

Появится основное меню.

Kalibrowser

Вы также можете открывать графические приложения так же, как в обычных системах.

Остановить KaliBrowser

После работы с Kali Linux вы можете остановить его, как показано ниже.

Сначала найдите идентификатор изображения докеров Kali Linux с помощью команды:

Читайте также: