ZeroNet Blogs

Static ZeroNet blogs mirror

РКП

- Posted in Flood@Balancer by with comments

Для LOR'а, www.google.ru (64.233.164.94) в бане:

2018-05-16_07-33-25.png (0x0)

Rain

- Posted in Balancer's Blog (EN) by with comments

It rains. Photographed now from the balcony :) Quality bad, so that the drops are not smeared, I had to shoot on ISO3200. And in addition - a small crop. But it's still interesting :)

IMG_2275-200k.JPG  (1280x853)

Дождь

- Posted in Блог Balancer'а by with comments

Дождь льёт. Снял сейчас с балкона :)

IMG_2275-200k.JPG (2071x1380)

Качество, правда, не фонтан, чтобы капли не размазывались, пришлось на ISO3200 снимать, плюс мелкий кроп.

Это событие Руслан немедленно прокомментировал как «голубь меня боится!»

photo_2018-05-11_16-37-25.jpg (0x0)

Иногда возникает необходимость скопировать пост с форматированием из чужого блога. Например, я копировал пост из блога ZAlex в комментарий на форуме. Как это легко сделать, если для разметки используется Markdown, а в браузере мы видим уже HTML? Неужели нужно лезть в папку с сайтом и искать, где там этот пост в глубинах data.json.


  • Открываем правую панель ZeroNet на нужном сайте.

  • Нажимаем на переключатель This is my site.

  • Обновляем страницу.

  • Voilà! У нас появилась возможность редактировать пост. Нажимаем на карандаш, потом на кнопку перехода в режим разметки Markdown. Выделяем и копируем, что нам нужно.

Как вы уже наверное поняли, это не единственное, что можно делать с зайтом в режиме This is my site. Так можно поступить с любым зайтом, и он будет думать, что вы его владелец (отображать интерфейс правки постов, настройки, если они у него есть, и т.п.).

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

Для ядра ZeroNet и для сайта не нужны доказательства, что вы действительно владелец сайта. Если вы так сказали, они вам верят — до тех пор пока вы не попытаетесь отправить изменённый сайт в сеть. Вот тогда ZeroNet спросит приватный ключ сайта.

Если вы внесли на сайт какие-то изменения, то чтобы вернуться к обычному режиму, нужно выключить переключатель This is my site, затем перейти на главную страницу ZeroHello и там в меню сайта нажать Check files. ZeroNet проверит соответствие файлов цифровым подписям и закачает из сети правильные версии. Но иногда это не помогает, тогда проще всего удалить сайт и добавить заново.

Here is the TED Talk by Simone Giertz - "Why you should make useless things"

IPFS Download Link

Simone Giertz

В продолжение предыдущего поста.

Первый вариант. Можно добавить в код, работающий с подписыванием сайта, следующую логику:

  • Если приватный ключ не указан, то пытаемся сгенерировать ключ из master_seed и address_index и если он подходит, используем его.

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

Поэтому преходим ко второму варианту:

Выдвигающаяся справа панель на клиентской стороне работает как зайт, но на серверной реализована как плагин ядра ZN. Так что оттуда доступны все возможности ядра напрямую. Именно там мы включаем переключатель This is my site, после чего можем работать с сайтом в режиме владельца.

Идея заключается в том, чтобы сделать под этим переключателем кнопку Generate Private Key from Master Seed. Нажатие на эту кнопку будет восстанавливать ключ, и если ключ подходит, записывать его user.json.

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

Я считал, что для сайтов, созданных клонированием, приватный ключ не хранится в конфигах ZN, а каждый раз генерируется из приватного master_seed и публичного address_index. Оказывается, это не так. Эти части ядра не связаны напрямую друг с другом. Когда вы создаёте сайт средствами ZN, движок присваивает ему address_index, генерирует из этого address_index приватный ключ (а из ключа — публичный адрес сайта) и записывает ключ в файл users.json.

Затем, когда вы подписываете сайт, движок просто берёт ключ из этого файла. Если ключа там нет, он спросит ключ у вас. Движок не пытается создать ключ из известных ему master_seed и address_index и проверить, подходит ли он. На мой взгляд, это логичное усовершенствование, но оно не реализовано.

Если вы потеряли приватный ключ, созданный таким образом, то сгенерировать его из master_seed и address_index можно при помощи субкоманды zeronet.py cryptGetPrivatekey.

Предупреждение для параноиков:

Это означает, что вам придётся передать master_seed в явном виде в аргументах команды. Любой код на компьютере, который может читать список запущенных процессов, способен увидеть ваш master_seed.

Test inserting a video from my 0-Share, before I wrote a post about how to insert video into ZeroBlog, but I didn't test CORS at that time, recently I found Geekless is creating ZeroBlog++ XD, and it requires read permission to a ZeroUp clone, so let me take a try:


Btw, the most mature zite using CORS feature is New Important Zites by Krixano, you can use it to search content from ZeroTalk, ZeroSites, ZeroUp, etc.

Hmm, on both Firefox and Iridium (libre version of Chrome): Failed to load resource: the server responded with a status of 403 (Forbidden). Looks like I need to add some code, just let me steal it from Geekless :3

Ok.. before my video had no format name and it's not recognized by Firefox, I reuploaded a new video and it works now \o/ (Edit: ..only works when a node hosts both zites, or in console returns HTTP “Content-Type” of “text/html” is not supported ... Cannot play media. No decoders for requested formats: text/html, so still needs extra code and activate CORS plugin ><

Btw2, even Balancer directly shared a video uploaded on big.kopykate.bit to Diaspora*, a distributed clearnet social network ;)