LINUX.ORG.RU

Virtual web browser (песочница)

 , ,


0

2

Существует ли opensource компонент на JavaScript, на подобие XTermjs, который бы имитировал не терминал, а окно браузера?

Хотя бы в минимальном виде.

Т.е. на вход ему поступает html страница, которую он рендерит в div-е реальной страницы.

При этом, если например кликаем на ссылку внутри этого компонента, он формирует get для этой ссылки. Если нужно докачать какой-то ресурс - get для этого ресурса. Т.е. делает все тоже самое, что делает обычный браузер, но через JS или AJAX вызовы.

Типа песочницы jsfiddle, но без редактора кода.

Или как такое можно реализовать?


А чем неустраивает iframe ?

Int0l ★★
()
Ответ на: комментарий от anonymous

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

deep-purple ★★★★★
()
Ответ на: комментарий от Ja-Ja-Hey-Ho

С такими требованиями — думаю, лучше копать в сторону веб-прокси. Они именно так и делают: заменяют все ссылки на обращения к себе. С минимальными требованиями (статичный HTML) это просто, даже wget справляется. А вот чтобы дурить скрипты — это уже куда сложнее, надо как минимум манкипатчить XHR, да и изменения в DOM любые ловить и перехватывать скачку стороннего контента, подменяя любые ссылки.

bodqhrohro_promo
()
Ответ на: комментарий от bodqhrohro_promo

Все легко проксуется например нжинксом. Да, нужно вычислить все «левые» домены чтобы и они проксировались, если критично, но как правило сайт тащит все важное с одного.

deep-purple ★★★★★
()
Ответ на: комментарий от NeverLoved

На клиенте ты этого не сможешь сделать из-за политик всяких, ни фреймом ни жс'ом.

NeverLoved ★★★★★
()
Ответ на: комментарий от deep-purple

Может тем, что он не растягивается под контент сайта?

Что мешает «растянуть» iframe с помощью javascript?

andreyu ★★★★★
()
Ответ на: комментарий от deep-purple

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

Int0l ★★
()

Скомпиль какой-нибудь Blink на webasm и всё.

Legioner ★★★★★
()
Ответ на: комментарий от Int0l

Он не говорил ограничится конкретными сайтами-доменами, так что проблемы у него с ифреймом будут.

deep-purple ★★★★★
()

про iframe на момент создания поста не вспомнил.

Где можно почитать про перехват событий в iframe. В частности интересует перехват клика по ссылке, кнопке, отправки формы и т.п. Такое вообще возможно?

Nginх не очень подходит, т.к. HTTP потом нужно как-то инкапсулировать в другой транспортный протокол.

Возможно мне бы подошел какой-то простенький (так как исходная html страница очень простая) прокси (желательно на golang) с возможностью передачи проксируемого трафика через произвольный канал.

Схема, которую хотелось бы реализовать - это обратный туннель через ws:

1) Есть устройство с достаточно простым webui, которое работает за NAT, в интрасети;

2) На устройстве устанавливается локальный http-клиент; 3) При старте устройство открывает ws на сервере (брокере);

4) Клиент в браузере пользователя при подключении из-за NAT, подключается к брокеру, брокер пересылает запросы локальному http-клиенту и транслирует ответы в браузер пользователя.

5) профит)

Возможно готовое открытое решение в том или ином виде уже существует - мне оно неизвестно.

zudwa
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.