New bit Ковель

Я стежив за розвитком проекту Freenet багато років, періодично повертаючись до нього. В останній раз я запустив його місяць тому і після місяця використання можу сказати, що він працює набагато швидше, ніж раніше. Зараз я розповім про те, як його використовувати, і про те, як я обійшов деякі проблеми при розміщенні контенту.
У мережі Freenet немає динамічних серверів і ніхто не хостів сайти. Це сховище даних, в яке користувачі розміщують дані, після чого ці дані доступні всім, у кого є ключ. Freenet, по суті - велика розподілена таблиця хеш.
Вузли мережі резервують місце на диску і користувачі вибирають, які дані зберігати по ключу. Розміщення даних в сховищі розподіляє їх по різних вузлів, і зазвичай дані не зберігаються на вашому вузлі. Запит даних відправляється в мережу, і дані переходять на ваш вузол. Використовується система, яка дозволяє відновлювати дані. Навіть якщо M із загального числа N сегментів даних втрачені, їх все одно можна відновити. Дані надходять в мережу, і найменш використовувані дані зникають з неї. Дані в сховищі можна редагувати. Поки вони знаходяться в сховищі, вони завжди пов'язані з одним ключем.
Запити даних з Freenet відбуваються по ключу. Ключів є кілька видів:
KSK @ somewhere
KSK-ключ вибирається тим, хто додає дані. 'Somewhere' може приймати будь-яке значення. Це дозволяє створювати ключі з використанням фраз або слів, які можна запам'ятати. Мінус в тому, що з цими ключами можна повторно внести інші дані. Дані, які ви отримаєте за певним ключу, залежать від того, які дані були внесені за допомогою цього ключа.
У CHK-ключів є частина після @, яка обчислюється на основі вмісту. У однакових даних однакові ключі. Якщо дані, що зберігаються по CHK-ключу, пішли з мережі, їх завжди можна «вилікувати», вставивши той же самий файл. Це як якщо б в інтернеті можна було полагодити помилку «404», закачавши потрібну сторінку заново.
SSK-ключ - кріптоключа, які виходять різні при кожному внесенні даних. Їх не можна «підлікувати», коли дані пішли з мережі. Нова вставка породить новий ключ.
USK @. / Foo / 1
USK-ключ дозволяє оновлювати контент. Номер на кінці збільшується кожного разу при оновленні даних. При запиті даних шукаються і повертаються дані з найбільшим номером. Це корисно для хостящіхся в мережі блогах з оновлюваних контентом.
Для найбільшої ефективності софт freenet повинен працювати цілодобово. Я слідував інструкціям з офсайта по установці його на сервері, і доступу до мережі з клієнтських машин через SSH-тунель. Наступна команда налаштовує тунелі через локальні порти на сервер, щоб до них можна було звертатися локально:
Порт 8888 - для проксі, через яку ви отримуєте доступ до даних з браузера. Порт 8080 зайнятий системою повідомлень, якщо її встановити. Порт 9481 служить для API інтерфейсу, який іспльзуется jSite
Нова нода починає працювати через кілька годин після установки. Спочатку вона працює повільно, але поступово прискорюється.
Соцмережі під Freenet
Можна створити скільки завгодно ідентифікаторів і перемикатися між ними. Я використовую Freenet неанонімні, і моя персона пов'язана з тамтешньої діяльністю. Але при бажанні можна залишатися анонімним.
Сайти зазвичай зберігаються по USK-ключам, щоб їх можна було оновлювати. Найпростіше користуватися спеціальним софтом, який вставляє директорію, що містить HTML-файли по USK-ключу. Я використовую jSite. Мій блог дзеркалом в freenet по ключу USK @ 1ORdIvjL2H1bZblJcP8hu2LjjKtVB-rVzp8mLty
У всіх моїх внутрішніх посилань є префікс baseurl. Наприклад:
При генерації блогу це замінюється на baseurl entry з _config.yml. Я генерітся мій блог з відповідним baseurl, копіюю це на веб-сервер, а потім генерітся блог з baseurl, відповідним для freenet і закачувати його в мережу через jSite. Досить утомливо, але працює.
Сайти з великою кількістю фоток
За ключу USK @ 2LK9z-pdZ9kWQfw
-mIo9Hk7ZK9B53UKY5Vuki6p4I4lqMQPxyw, AQACAAE / pitcairnisland / 3 у мене є сайт з великою кількістю фоток. Проблема з ним полягає в тому, як зберегти фотки і не дати їм випасти з мережі.
Якщо на головній сторінці є прев'юшки, то вони залишаються в доступі, тому що до них трапляються звернення. На жаль, повні картинки періодично випадають з мережі. В цьому випадку рекомендується вставляти в сторінку велику картинку, просто міняючи її видимий розмір через атрибути тега IMG.
Я намагався знайти якийсь компромісний підхід. На жаль, предзагрузкі картинок в CSS працює погано з фільтром контенту freenet. В результаті я виробив метод прихованого DIV в кінці сторінки, в якому містяться всі повнорозмірні картинки. Їх не видно, але вони підкачуються при відвідуванні. Мінус в тому, що браузер інформує про завантаження сторінки, хоча весь видимий контент завершені завантаження. Сподіваюся, що в майбутньому проблеми з обробкою предзагрузкі в CSS будуть вирішені.
Поки що я тільки дзеркалом свій блог в мережу. Ще я зустрів програму «біткоіни через freenet», яка зеркаліт ланцюжок блоків в мережу і дозволяє здійснювати транзакції. Здається, що freenet буде корисна для деяких речей, для яких використовується Tor, без необхідності підтримки якогось сервера, який можуть накрити.
Тут можна подивитися на PDF з докладним описом мережі для ІНТЕРС.
Мій інтерес до неї полягав в дослідженні питання зашифрованого і бессерверной зберігання альтернатив для сервісів типу Twitter, Facebook, електропошти і ін. Якщо вас не дуже хвилює довгий відгук і зміна мислення, пов'язане з поступовим відходом невикористовуваних даних, то вам може сподобатися цей проект. Цікаво, що ще можна реалізувати в цій мережі.