The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

24.10.2016 10:10  Представлена распределённая система доставки web-контента CacheP2P

Опубликован первый выпуск проекта CacheP2P, в рамках которого развивается распределённая система доставки контента, построенная из клиентских браузеров, которые выполняют роль узлов для отдачи прокэшированных страниц. Исходные тексты проекта распространяются под лицензией MIT.

Для использования CacheP2P достаточно добавить на страницы загрузку предоставляемой проектом JavaScript-библиотеки, которая сформирует сеть для отдачи контента из браузерного кэша посетителей сайта. Каждый новый посетитель становится участником сети, зеркалирует у себя открытые страницы и открывает совместный доступ к прокэшированным страницам для других пользователей, позволяя получить эти страницы без прямого обращения к сайту. Подобная P2P-сеть может использоваться как для обхода блокировок, так и для снижения нагрузки на сервер и сохранения доступа в случае выхода сервера из строя.

Распределённая сеть из клиентских браузеров строится при помощи технологии WebTorrent, предоставляющей реализацию клиента BitTorrent, работающего на стороне браузера в форме web-приложения, не требующего для работы внешней серверной инфраструктуры и браузерных плагинов. Для организации прямого P2P-канала связи между браузерами применяется протокол WebRTC. CacheP2P рассматривает каждый URL в качестве отдельного торрента, для которого формируется идентификатор TorrentID, хэш SHA1 для верификации прокэшированных вариантов страниц и параметры для определения времени жизни данных в кэше.

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: WebTorrent, самодостаточный torrent-клиент, работающий внутри браузера
  3. OpenNews: WebRTC позволяет узнать внутренний IP-адрес пользователя
  4. OpenNews: Выпуск децентрализованной торрент-системы Tribler 6.4 с поддержкой анонимизации
  5. OpenNews: Проект ZeroNet развивает технологию децентрализованных сайтов, которые невозможно закрыть
  6. OpenNews: Выпуск открытой P2P-системы синхронизации файлов Syncthing 0.14
Лицензия: CC-BY
Тип: Программы
Ключевые слова: cachep2p, p2p, webtorrent
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 10:50, 24/10/2016 [ответить] [показать ветку] [···]    [к модератору]
  • +1 +/
    Я хочу зайти на rutracker (и он установил себе CachP2P). Допустим, у меня сайт заблокирован, но у Васи есть VPN - он его себе открыл и закэшировал. Как я теперь найду Васю?
     
     
  • 2.4, Вася (??), 10:54, 24/10/2016 [^] [ответить]    [к модератору]
  • +5 +/
    А ты как думаешь? Через треккер, очевидно. Технология bittorrent же.
     
     
  • 3.10, name (??), 11:36, 24/10/2016 [^] [ответить]    [к модератору]
  • +3 +/
    DHT уже не тот?
     
     
  • 4.28, Аноним (-), 18:09, 24/10/2016 [^] [ответить]     [к модератору]
  • +1 +/
    А если серьёзно, то видимо с этой хренью никакого сертификата подделывать не над... весь текст скрыт [показать]
     
     
  • 5.30, Аноним (-), 21:29, 24/10/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    Новость не читаем, сразу отвечаем?

    >хэш SHA1 для верификации прокэшированных вариантов страниц

     
  • 2.20, Аноним (-), 14:59, 24/10/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    Не надо искать этого Васю, потому что серьёзные люди найдут его раньше тебя, и все, кто ищет Васю, попадут на них.
     
  • 1.2, Аноним (-), 10:54, 24/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    чем это лучше строящихся поверх IPFS аналогов или даже вебсерверной версии собснов bittorent-а, например ? :)
     
     
  • 2.7, Аноним (-), 11:29, 24/10/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    Ну это, видимо, такой костыль на время, пока IPFS еще не захватил вселенную.
     
  • 2.18, arzeth (ok), 14:43, 24/10/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    Не знаю, но по крайней мере размером лучше:
    $ curl -sL https://unpkg.com/cachep2p/cachep2p.min.js | gzip -c4 | wc -c
    81601
    $ curl -sL https://unpkg.com/ipfs/dist/index.min.js | gzip -c4 | wc -c
    449445
    Однако, может быть эта разница нивелируется, если IPFS быстрее работает (у js-ipfs под капотом не WebTorrent) — надо побенчмарчить, только не знаю как, надо ведь много сидов откуда-то взять.
     
     
  • 3.33, Аноним (-), 03:10, 25/10/2016 [^] [ответить]    [к модератору]  
  • +/
    А js-ipfs уже работоспособен? Ну, в любом случае, IPFS — штука гораздо более универсальная, так что соотношение размеров неудивительно.
     
  • 1.3, Аноним (-), 10:54, 24/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +8 +/
    Хорошо, пусть доставляет!
     
  • 1.6, Аноним (-), 11:21, 24/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +10 +/
    т.е. я могу данные из кеша других пользователей запрашивать? зашибись, чо... а можно список сайтов, на которых эта либа установлена? чтобы случайно на них не зайти...
     
  • 1.8, Аноним84701 (?), 11:34, 24/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +8 +/
    http://www.cachep2p.com/documentation.html

    > Security hashes allow you to define the only content that is valid and that is in sync with the latest content of your website.
    > Step 4
    > Add the three files to the <footer> of all the pages:

    [CODE]
    <script src="cachep2p.min.js"></script>
    <script src="cachep2p.security.js"></script>
    <script src="init.js"></script>[/CODE]
    > It's important to have them in the correct order.

    Я правильно понимаю, что при некотором "везении" и расположении рук клепателя сайта (причем, даже не главного, а какого нибудь очередного "оптимизатора", котороый слышал звон и решил осчастливить всех подряд) чуть поближе к седалищу, будет кэшироваться и отдаваться посторонним и то, что для взора этих самых посторонних совсем не предназначено (типа "site/pm/1/read")?

     
  • 1.9, QuAzI (ok), 11:34, 24/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Очень нужен инструмент, который даже не то что обходить будет цензуру, а позволит достучаться к заведомо утерянной информации. Регулярно умирают сайты, закрываются интересующие статьи на хабре, пропадает контент за давностью времени - это всё очень сильно бесит.
    Как в этой штуке реализована поддержка динамики?
    Как убедиться, что содержимое страницы актуально, а не тухляк недельной давности?
    Как убедиться, что нет посторонних вставок?
     
     
  • 2.11, freehck (ok), 11:57, 24/10/2016 [^] [ответить]    [к модератору]  
  • +3 +/
    > Как в этой штуке реализована поддержка динамики?

    Никак, вестимо. Пока есть люди, у которых открыт/в кэше нужный тебе контент - контент есть. Как только интерес пропадает, контента уже нету. Недельной давности контент не выживет.

    > Как убедиться, что содержимое страницы актуально, а не тухляк недельной давности?

    Кэш браузера учитывает http-заголовки expire, так что можно дать определённые гарантии, что не тухляк.

    > Как убедиться, что нет посторонних вставок?

    Контент ведь ищется по контрольным суммам, как в DHT. Суммы берутся от содержимого страницы.

     
     
  • 3.12, QuAzI (ok), 12:02, 24/10/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    >> Контент ведь ищется по контрольным суммам, как в DHT. Суммы берутся от содержимого страницы.

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

    Вообще по хорошему хотелось бы иметь что-то типа набора метатегов с указанием зеркал, где можно найти эту же страницу в случае смерти основного сайта. Плюс поддержка таких "множественных" ссылок браузерами при добавлении страницы в закладки. Что-то похожее есть в металинке - если основная ссылка не работает - есть альтернативные, ну или можно форснуть нужный источник. В том числе torrent, как один из источников. Конечно с динамикой в этом плане беда, но хотя бы базовое со статическим содержимым (статьи, документация и т.п.) будет гораздо живее, чем сейчас.

     
     
  • 4.17, Sw00p aka Jerom (?), 14:42, 24/10/2016 [^] [ответить]    [к модератору]  
  • +/
    Новостные сайты идут лесом, эт технология больше подойдёт сайтам вроде википедии. Хотя эта же технология есть банальный CDN
     
     
  • 5.22, QuAzI (ok), 15:27, 24/10/2016 [^] [ответить]    [к модератору]  
  • +/
    > Новостные сайты идут лесом, эт технология больше подойдёт сайтам вроде википедии. Хотя
    > эта же технология есть банальный CDN

    Опишите кейс, когда банальный CDN в долгосрочной перспективе (т.е. автора сбил автобус и он больше не платит за CDN) решит вопрос с доступностью контента в случае выпадания основного сайта?

     
     
  • 6.31, Sw00p aka Jerom (?), 21:54, 24/10/2016 [^] [ответить]    [к модератору]  
  • +/
    В случае если вас беспокоит понятие высокой доступности, то необходимо применить один из методов обеспечения высокой доступности - резервирование (избыточность). (в данном конкретном случае (человеческий фактор) - завести второго админа, соучредителя, фин менеджера и тд)

    Пс: в случае с браузерным п2п кешированием лучше использовать MRU.

     
  • 4.23, freehck (ok), 15:27, 24/10/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    >>> Контент ведь ищется по контрольным суммам, как в DHT. Суммы берутся от содержимого страницы.
    > Контрольные суммы нужно откуда-то получить. Если я и так делаю запрос к
    > основному сайту чтобы получить данные, то мне уже поздно опрашивать пиров,
    > проще и надёжнее сразу получить готовые данные. Если конечно речь всё
    > ещё про веб, а не тупо файлопомойку с варезом.

    Проще - да. Но вот с надёжностью есть сомнения. Если ресурс массовый, то возможно будет иметь смысл отправить каркас с хэш-суммами, а загрузку данных по этим хэшам оставить на откуп браузеру пользователя. Это может выйти:
    а) быстрее для пользователя
    б) менее накладно для опрашиваемого ресурса.

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

    А вот это кстати интересный вопрос. Если будет возможность такие вот magnet-ссылки формировать для веб-содержимого, это было бы весьма неплохо.

     
  • 2.19, FSA (??), 14:43, 24/10/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    > позволит достучаться к заведомо утерянной информации

    archive.org, не? Правда его самого надо открывать через обход блокировки. Уроды те, кто это сделал!

     
     
  • 3.21, QuAzI (ok), 15:09, 24/10/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    >> позволит достучаться к заведомо утерянной информации
    > archive.org, не? Правда его самого надо открывать через обход блокировки. Уроды те,
    > кто это сделал!

    1) Он архивирует далеко не всё, что народ читает
    2) На нём тоже есть случаи когда не весь контент заархивирован
    3) Он тоже может умереть/заблокироваться и т.п.
    т.е. пиром больше, пиром меньше - в данном случае разница не шибко велика.

     
     
  • 4.34, FSA (??), 05:50, 25/10/2016 [^] [ответить]    [к модератору]  
  • +/
    >>> позволит достучаться к заведомо утерянной информации
    >> archive.org, не? Правда его самого надо открывать через обход блокировки. Уроды те,
    >> кто это сделал!
    > 1) Он архивирует далеко не всё, что народ читает
    > 2) На нём тоже есть случаи когда не весь контент заархивирован
    > 3) Он тоже может умереть/заблокироваться и т.п.
    > т.е. пиром больше, пиром меньше - в данном случае разница не шибко
    > велика.

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

     
  • 2.29, Balancer (ok), 19:24, 24/10/2016 [^] [ответить]    [к модератору]  
  • +/
    >Регулярно умирают сайты, закрываются интересующие статьи на хабре, пропадает контент за давностью времени - это всё очень сильно бесит.

    Вот тут особенно хорош ZeroNet. Пока копия сайта есть хоть у одного пользователя, он доступен всем.

     
  • 2.32, Ergil (ok), 22:38, 24/10/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    > закрываются интересующие статьи на хабре,

    sohabr.net и расширение «Всегдабр» тебе в помощь. И ничего пропадать не будет.

     
  • 1.13, Kroz (ok), 13:45, 24/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Идея классная. Я бы даже сказал, что это Internet Next Generation.

    Но пока что возникает много вопросов:
    - сохранение контента: как/кто будет решать что хранится на моем компе? Говорили про "хорошие сайты, которые исчезают": а если сайт хороший, но я на него зашел один раз и просто добавил в букмарки на будущее: как долго он просуществует на моем компе?
    - privacy 1: как/кто будет решать кому отдавать. Если раздавать всем, то по сути каждый может узнать, хранится ли на твоем компе определенный контент или нет.
    - privacy 2: как будет решаться проблема "персонализированного" контента?
    - performance: какое будет время от момента ввода URL до момента начала загрузки?

    Думаю, многое можно взять у прокси-серверов (а ведь де факто это распределенный прокси-сервер), но не всё.

    В любом случае, технология интересна.

     
     
  • 2.15, QuAzI (ok), 14:07, 24/10/2016 [^] [ответить]    [к модератору]  
  • +/
    >> просто добавил в букмарки на будущее: как долго он просуществует на моем компе?

    Да, это самый бедовый вопрос. Некоторый контент сохраняю через ScrapBook X, но он во первых не синхронизируется никак даже между только моими ПК/смартфоном/планшетом (что уже само по себе не удобно), во вторых никак не учитывает динамику. Страница запоминается "как есть", с таким же успехом можно в PDF пулять и на DropBox, только большинство PDF-илок не дают выделить из страницы нужное и сохраняют всё тупо как картинку (весит как не в себя).

     
     
  • 3.24, Michael Shigorin (ok), 15:45, 24/10/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    > Страница запоминается "как есть", с таким же успехом можно
    > в PDF пулять и на DropBox, только большинство PDF-илок не дают
    > выделить из страницы нужное и сохраняют всё тупо как картинку
    > (весит как не в себя).

    Продайте козу, бишь не пуляйте в PDF? :)

     
  • 1.14, Аноним (-), 13:59, 24/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    Мне интересно как теперь пользователи из Европы и США, с их автоматическими системами обнаружения скачивания торрентов, будут доказывать, что просто зашли на сайт
     
     
  • 2.16, Mail (?), 14:31, 24/10/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    Доказывает следствие.
     
     
  • 3.25, Michael Shigorin (ok), 15:47, 24/10/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    > Доказывает следствие.

    Это смотря где.

     
  • 1.26, Аноним (-), 16:39, 24/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Уже которая по счёту. Сможет преуспеть только если будет встраиваться в браузеры и обладать эксклюзивным контентом.
     
  • 1.27, AlexAT (ok), 17:04, 24/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    SHA1 для верификации? Надёжненько

    А вообще идея мне нравится, можно снизить нагрузку на доставку определённых частей контента. Не для маленьких HTML/JS, конечно, нет - задержки на поиск с вероятностью 99% окажутся неприемлемы.

     
  • 1.35, Нет (?), 08:10, 25/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Я не хочу участвовать в отдаче своего кэша всем подряд. Но я зашел на сайт, к которому Вася прикрутил этот скрипт. Будет ли меня браузер уведомлять, что теперь я раздаю свой кэш? Нет.
    Будет ли хоть одна нормальная контора доверять раздачу контента от своего имени посторонним людям (да, я прочитал про sha-1)? Нет.

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

     
  • 1.36, Аноним (-), 15:55, 26/10/2016 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    webRTC отключил глобально для всех JS по умолчанию отключён Если этого будет м... весь текст скрыт [показать]
     
     
  • 2.37, Аноним (-), 14:40, 27/10/2016 [^] [ответить]    [к модератору]  
  • +/
    Держите нас в курсе.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor