LINUX.ORG.RU
решено ФорумTalks

Сайт без вебсервера


0

1

Существует технология PWA:
https://en.wikipedia.org/wiki/Progressive_web_app
https://mdn.github.io/pwa-examples/
https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps

Суть такова: тем или иным способом на компьютере появляется JavaScript и работает как приложение.

Можно, наверное, установить все его файлы билдом.

Дальше мысль идёт так: существуют библиотеки для p2p-соединений типа js-libp2p, существуют базы данных на JavaScript, форумы на технологии Publish-Subscribe и т.д.

Т.е. установив такой форум билдом, дальше он может сконнектиться и закачать данные сам, без (единого) web-сервера.

Это нужно например на тот случай, если админ сервера - козлина, или если его переехал автобус.

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

Мой вопрос в том, можно ли открывать это приложение не как приложение, а как обычный сайт в браузере? Т.е. придумать ему виртуальный URL, который будет выглядеть как будто бы он обрабатывается DNS, но на самом деле нет.

Чтобы можно было пользоваться этим из браузера как обычным сайтом, и не обращать внимание на то, что это PWA.

★★★

Последнее исправление: Shushundr (всего исправлений: 1)

Ну если ты в профиль браузера влезешь и всунешь ему ложные воспоминания, может и можно. Это если вопрос о том, осуществимо ли это принципиально.

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

Можешь подменить в /etc/hosts домен на 127.0.0.1, как-нибудь решить вопрос с https и прогрузить своё PWA, а потом вернуть всё в зад. Тоже вариант, в принципе. Можешь даже в /etc/hosts не подменять, а в DNS честно подменить на время. Или не на время. Какая тебе разница, куда домен указывает? Если CORS выставлен, можно делать запрос куда угодно (и даже если не выставлен, можно делать запрос куда угодно, если найдёшь прокси с CORS).

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

vbr ★★★
()

Мой вопрос в том, можно ли открывать это приложение не как приложение, а как обычный сайт в браузере? Т.е. придумать ему виртуальный URL, который будет выглядеть как будто бы он обрабатывается DNS, но на самом деле нет.

Так у него будет тот адрес, с которого оно загрузилось

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

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

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

PWA устанавливается не в систему, а в конкретный браузер. Реализация этой установки может отличаться, но фактически ресурсы приложения просто помещаются в кеш браузера.

Максимум локальный установщик может поднять свой сервер на свободном порте, с которым PWA потом будет связано. Можно, конечно, и в /etc/hosts прописать кастомный домен, но это уже совсем извращение будет.

Однако с локальным сервером есть нюанс: для установки PWA требуется HTTPS, а потому локальный установщик будет жить только до момента устаревания сертификата.

static_lab ★★★★★
()

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

Если я могу запускать локально web-сервер, то я могу и очень толстое приложение делать, и так же его пакетом операционки ставить. Osiris Serverless Portal так делал. Он, кстати, не взлетел.

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

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

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

вы получаете наиболее актуальную версию при каждом запросе

Пускай получает, я не против. Но она должна это делать по-товарищески, не требуя от меня домен сайта. Где хочет пусть там и берёт.

https://ubunlog.com/ru/beaker-un-navegador-web-p2p-que-permite-crear-y-alojar-sitios-web/

Shushundr ★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 1)

@firkax - чего «баян»?

В принципе, если написать приложение на Electron, то останется только написать дополнение к Firefox для того, чтобы страницы одинаково открывались и из приложения и из браузера. Правда я не знаю, как это сделать, но это же опенсорс и переписать/пропатчить можно всё!

Shushundr ★★★
() автор топика
Ответ на: комментарий от dicos

Не только. Я ещё хочу, чтобы этим можно было пользоваться и из браузера тоже.

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

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

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

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

Я хочу всё сразу. Чтобы промёржить и пользоваться, как форумом. Это, конечно, значит, что и отправлять тоже надо. Не понимаю, в чём проблема, если они с этим Ethereum даже в распределённые вычисления научились…

Shushundr ★★★
() автор топика
Ответ на: комментарий от leave

Использование Electron-а никак не поможет мне сохранить мои сценарии использования контента в браузере.

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

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

А какой смысл устанавливать форум из репозитория/инсталлятора, если ему всё равно нужен контент из интернета? То есть как минимум первый раз подключиться к сети для загрузки тредов и сообщений ему придётся.

Смысл PWA как раз в том, что это такой продвинутый кеш / offline mode. То есть он загрузит что-либо, пока есть сеть, а дальше будет использовать уже ранее загруженное из локальной базы.

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

Ну ок, PWA не нужен. Просто Electon + Браузер. Первый, чтобы запускаться из ярлыка с десктопа отдельно от браузера, второй, чтобы запускаться в браузере отдельно от ярлыка с десктопа.

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

У меня ощущение, что за тебя пишут грибы. Можешь еще раз ВНЯТНО объяснить, что ты хочешь получить в итоге?

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

Я хочу получить сайт, который:

  1. работает в браузере Firefox
  2. ничем не отличается от остальных прочих сайтов
  3. но при этом не коннектится к ОДНОМУ серверу С ОДНИМ ВЛАДЕЛЬЦЕМ в интернете через HTTP

Вместо этого, запрос должен перехватывать плагин к Firefox и запихивать этот запрос в p2p-сеть, где контент независим от РАЗНЫХ ВЛАДЕЛЬЦЕВ серверов.

Только цифровые подписи авторов контента на самом деле имеют значение.

Shushundr ★★★
() автор топика
Ответ на: комментарий от Kolins

Переизобретаешь Zeronet?

не знаю, я с ним никогда не сталкивался.

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

Вместо этого, запрос должен перехватывать плагин к Firefox

плагин к Firefox

Вот и запили плагин к Firefox / Chrome и обёртку этой же бизнес-логики в Electron. PWA тут вообще не нужен.

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

Всё сразу-то не получится.

контент независим от РАЗНЫХ ВЛАДЕЛЬЦЕВ серверов.

А как быть, если контент - не ваша собственность, и собственник контента хочет, чтобы его контент зависел от ВЛАДЕЛЬЦЕВ серверов, в частном случае - чтобы он находился исключительно на сервере собственника контента?

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

Я ещё хочу, чтобы этим можно было пользоваться и из браузера тоже.

По заголовкам можно определить какой контент нужно отдать: или html для браузера или какой-нибудь json для приложения.

Перейти туда-сюда, добавить в закладки и другое в электроне нельзя, потому что он не браузер.

Это тебе самому надо делать, за тебя ни кто не сделает.

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

собственник контента хочет, чтобы его контент зависел от ВЛАДЕЛЬЦЕВ серверов

Собственник контента не выкладывает его в эту p2p-сеть. Владельцы серверов мониторят эту p2p сеть и подают заявки в суд на блокирование любых DHT-приложений.

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

Тогда, надо прост, на чистом хтмл набыдлокодить странички с захардкоренными абсолютными адресами всех страниц и картинок в локальной фс. Тогда будет счастье и независимость от серверов. Как в 1998 году

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

При наличии p2p-основы возможен обмен информацией, например как на форуме LOR. И я требую возможности обмена. Локально-статическое, или централихзованное решение уровня 1998 года меня не устраивает.

Shushundr ★★★
() автор топика
Ответ на: комментарий от astronom84

На своей локальной ноде можно иметь список тех людей, которым доверяешь размещать контент и всё, прон не пройдёт.

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

А http://alhp.archlinux.pkg.pacman.store.ipns.localhost/ - хочешь?

Если да, то добро пожаловать в э к о с и с т е м у IPFS, там ровно то, что ты описал, без вышеуказанного недостатка зеронета.

Никогда не вникал, но вангую, что в зеронете, как это всегда бывает, несколко велосипедных решений вопроса доменных имён.

token_polyak ★★★★
()
Последнее исправление: token_polyak (всего исправлений: 2)

У п2п такая проблема, что нет поисковиков/каталогов. Ну сделал ты сцайт п2п, кто и как о нём узнает? Мне надо найти какую-то инфу в п2п сети, как это сделать?

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от ya-betmen

Тут две проблемы:

  1. протокол не http или https
  2. браузер по-разному работает с сайтами и с файлами, он очень пугливый
Shushundr ★★★
() автор топика
Ответ на: комментарий от ya-betmen

в чём разница не знаю, но думаю что браузер не даст локальным файлам коннектиться куда попало в интернете

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

в зеронет есть алиасы нэймкоина

ты в прямом смысле хочешь его переизобрести

для страждущих были варпы в обычный хттп

хм сходил в лорталкс на знет, там в начале этого года даже кто-то отметился))))

Morin ★★★★
()
Последнее исправление: Morin (всего исправлений: 1)
Ответ на: комментарий от ya-betmen

Да!!

В этом весь смысл затеи.

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

Shushundr ★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 1)
Ответ на: комментарий от ya-betmen

мне надо чтобы мой вебсервер ещё контент расшаривал с другими учасниками этой же сети, Иначе как я с ними буду обмениваться контентом.

ты же не мудак

Другие участники не хотят пользоваться моим вебсервером, возможно, что по этой самой причине. И вообще, у них свои есть.

Shushundr ★★★
() автор топика
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)