Документация по Freenet постоянно меняется, поскольку этот проект находится в стадии разработки. Тем не менее в этом разделе вы можете найти документы по настройке Freenet, использованию его самых популярных инструментов, а также пользовательскую Wiki и большой список часто задаваемых вопросов.

Установка

Установка Freenet - это не так сложно, как вы могли слышать. Существуют такие способы:

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

Установка с Графическим интерфейсом

Информация ниже не относится к системам Windows. Для Windows нужно использовать установщик для Windows, как описано на странице Скачивание.

Для графической установки необходимо иметь:

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

Чтобы начать установку, откройте окно командной строки/терминала. Поменяйте /path/to/ по умолчанию на реальный путь к new_installer.jar файлу (например, /home/username/download/new_installer.jar) и введите:

$ java -jar /path/to/new_installer_offline.jar

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

Language Selection Screenshot

Далее показывается окошко с информацией о версии Freenet и ее авторах. Просто нажмите Далее, чтобы продолжить.

About Freenet Dialog Screenshot

Следующим шагом является выбор папки для установки Freenet. Расположение по умолчанию в операционных системах GNU/Linux & POSIX - /home/username/Freenet, как показано ниже. Измените его на что-нибудь подходящее или оставьте как есть. Нажмите Далее, когда закончите.

Select Installation Directory Screenshot

Выберите пакеты, которые вы хотите установить с программным обеспечением Freenet. Поскольку это практически не занимает дополнительного места на диске, рекомендуется оставить все пакеты выбранными и нажать Далее.

Select Software Components Screenshot

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

Package Installation Progress Screenshot

После этого программное обеспечение Freenet установлено и/или обновлено. Плагины включены и среда запущена. По завершении нажмите Далее, чтобы продолжить.

Freenet Installation Progress Screenshot

Для некоторых графических сред можно создать ярлыки в структуре меню. Но не во всех платформах, на которых работает Freenet. Однако на рабочем столе должны быть созданы ярлыки во всех поддерживаемых средах. Измените группу приложений в соответствии с вашими потребностями и когда закончите, нажмите Далее.

Create shortcuts Screenshot

После этого установка завершена. Нажмите Готово, чтобы закрыть окно.

Install finished Screenshot

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

Будет вопрос об уровне безопасности в сети - 'защита от посторонних лиц, атакующих вас через Интернет'. Если вы выберете НИЗКИЙ или НОРМАЛЬНЫЙ, Freenet должен 'просто работать', подключившись через несколько минут. Если вы выберете ВЫСОКИЙ или МАКСИМАЛЬНЫЙ, Freenet потребуется добавить друзей, прежде чем вы сможете его использовать. Это должны быть люди, которых вы знаете лично. Добавление людей, которых вы не знаете, не улучшит уровень безопасности.

Для подключения

Есть два способа подключения к Freenet:

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

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

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

У вас должно быть как минимум три узла, которые постоянно подключены к вам, в идеале - минимум пять-семь. Поскольку некоторые узлы иногда могут быть недоступны, вам нужно подключиться к еще нескольким узлам, чтобы получить ожидаемое число. Ноды, которые подключены непосредственно к вам, являются единственными во Freenet, которые могут видеть тип трафика, проходящий через ваш узел Freenet. Но если включен небезопасный режим, любой узел может видеть трафик; это веская причина не использовать небезопасный режим: вы будете фактически невидимы никому, кроме ваших друзей. На практике большинство людей начинают с небезопасного режима и постепенно добавляют друзей, и, надеюсь, отключают небезопасный режим, когда у них есть хотя бы 10 друзей.

Freenet network architecture

Рисунок 1: Видимые соединения Freenet

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

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

Есть несколько способов добавить ссылки на равноправные узлы.

Fproxy

Соединение одноранговых узлов с FProxy может быть сделано несколькими способами. Общим для всех них является то, что все они выполняются через пункт меню Darknet или по ссылке http://127.0.0.1:8888/friends/. Ниже показано то, как это происходит:

Add peers Screenshot

Как видите, существует три способа получения ссылки на ноду от кого-то другого:

http://dark-code.bulix.org/ это так называемый paste-bin, куда вы можете добавить ссылку на вашу ноду. Убедитесь, что чекбокс private активирован и нажмите кнопку Paste (Вставить).

Затем paste-bin возвращает URL (например, http://dark-code.bulix.org/yuf01h-34676?raw), которым можно поделиться с другими. Убедитесь, что вы добавили ?raw к ссылке. Это создает ссылку только на фактические вставленные данные, без дополнительных элементов дизайна.

Вашу собственную ссылку Freenet можно найти на странице http://127.0.0.1:8888/friends/ под заголовком My Node Reference (Ссылка на мою ноду). Это может выглядеть примерно так (вырезано, чтобы не выйти за пределы экрана):

lastGoodVersion=Fred,0.7,1.0,1010
sig=7c7edc8c5250e42ac4cb161b216b70de7019221f1b331f0f92bd67439[...]609660f0d4
identity=5tBtS3R59nfOTvc1be~V0sSfkWir8EW38YeocP0gsYM
myName=FreenetTestInstall
location=0.02970997399122577
testnet=false
version=Fred,0.7,1.0,1016
physical.udp=83.255.75.223:13762
ark.pubURI=SSK@M1wjFha2tujYo50QQF~5Fqz5anVEiIzI9VrA8IrhAsQ,5M[...],AQACAAE/ark
ark.number=0
dsaPubKey.y=JhlWYVx8rA0y0x1Fb3y9TfqXDYiIsnkEka8PLsePerpCELTIn[...]laHe2bkl0O7Dg
dsaGroup.p=AIYIrE9VNhM38qPjirGGT-PJjWZBHY0q-JxSYyDFQfZQeOhrx4[...]ofeLdX7xhehuk
dsaGroup.g=UaRatnDByf0QvTlaaAXTMzn1Z15LDTXe-J~gOqXCv0zpz83CVn[...]Fuqt8yZe1PDVg
dsaGroup.q=ALFDNoq81R9Y1kQNVBc5kzmk0VvvCWosXY5t9E9S1tN5
End

Помните, что и вы, и нода, к которой вы подключаетесь, должны добавить ссылки, чтобы соединение сработало. Это означает, что если вы добавите ссылку на ноду со своей стороны, а ее владелец не добавит вашу ссылку на его стороне, соединение не сработает.

Ноды в сети Darknet

Если у вас уже есть определенное количество соединений, вы можете посетить страницу Darknet. Она должна выглядеть примерно так:

Darknet peers Screenshot

Есть несколько сообщений о состоянии, которые можно увидеть здесь:

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

Контент

Кроме предоставления анонимности, в качестве сети распространения контента Freenet обладает следующими преимуществами:

Эта страница содержит ссылки на контент Freenet, который находится в свободном доступе. Если вы хотите добавить новую ссылку, пожалуйста, свяжитесь с нами! Помните, что мы готовы ссылаться только тот контент, который может легально распространяться в Соединенных Штатах Америки.

Понимание системы Freenet

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

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

Сеть Маленький Мир (Мир тесен)

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

Хранилище данных

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

В отличие от других одноранговых сетей, вы как пользователь практически не контролируете то, что хранится на вашем диске. Вместо этого файлы сохраняются или удаляются в зависимости от их популярности. Это позволяет Freenet быть устойчивым к цензуре. Функция 'удалить файл' отсутствует.

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

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

Маршрутизация в сети Freenet

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

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

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

Ключи Freenet

Каждый файл в сети Freenet имеет относящийся к нему ключ. Freenet 0.7 имеет различные типы ключей. Они используются по всей сети Freenet и являются своего рода URI (например, freenet:=KSK@sample.txt).

Большинство ключей - это хэши: there is no notion of semantic closeness when speaking of key closeness. Следовательно, не будет никакой корреляции между cходством названия ключа и популярностью данных, как это могло бы быть, если бы ключи действительно имели некоторое семантическое значение, таким образом избегается узкая проблема, вызванная популярностью каких-то ключей.

Доступ к данным

Чтобы получить доступ к определенной части данных на Freenet, вы можете использовать FProxy. Вам необходимо знать ключ к данным и ввести его следующим образом (или кликнуть на ссылку, содержащую ключ):

http://localhost:8888/[Freenet Key]

В Freenet есть четыре типа ключей:

CHK ключи являются самыми фундаментальными. Все файлы размером более 1 КБ, в конечном итоге, делятся на один или несколько блоков по 32 КБ. Имена файлов CHK определяются только их содержимым. SSК являются другим основным типом ключей. Они сочетают в себе открытый ключ с понятным человеку именем файла и, следовательно, подходят для использования фрисайтами. KSK - это вариант SSK, в которых все определяется простым для понимания человеком названия файла. (например, =KSK@sample.txt). С ними может быть много спама, но в некоторых случаях они очень удобны. А USK - это форма обновляемых ключей, особенно подходит для бесплатных сайтов и Address Resolution Keys.

Address Resolution Key (ARK) - это ключ USK, вставляемый нодой при каждом изменении ее IP-адреса. Он содержит ссылку на узел - его криптографические данные и, в частности, его IP-адрес(а). Ключи типа ARK - это способ помочь людям подключиться к Freenet, если у них есть проблемы, вызванные брандмауэрами, маршрутизаторами или изменением IP-адресов. Если кто-то не может принять входящий трафик, это может затруднить подключение.

ARK - это деталь реализации, и вам не нужно ничего знать о них, чтобы использовать Freenet.

Content Hash Keys

CHK ключи предназначены для файлов со статическим содержимым, таких как .mp3 или PDF-документов. Эти ключи являются хешами содержимого файла. Хэш - это воспроизводимый метод превращения определенного фрагмента данных в относительно небольшое число, которое служит своего рода аналогом отпечатка пальца для данных. Если содержимое файла изменяется, пусть даже совсем не много, хеш файла изменяется радикально. Благодаря этому данные трудно подделать, так чтобы никто не заметил. CHK однозначно идентифицирует файл, поэтому два файла с различным содержимым не должны иметь одинаковый CHK. CHK ключ состоит из трех частей:

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

Типичный ключ CHK выглядит так:

CHK@file hash,decryption key,crypto settings

или например:

CHK@SVbD9~HM5nzf3AX4yFCBc-A4dhNUF5DPJZLL5NX5Brs,bA7qLNJR7IXRKn6uS5PAySjIM6azPFvK~18kSi6bbNQ,AAEA--8

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

Чтобы получить доступ к файлу, весь ключ должен быть вставлен в адресную строку FProxy (уменьшено, чтобы не выйти за пределы экрана):

http://localhost:8888/CHK@SVbD9~[..]X5Brs,bA7qLN[..]Si6bbNQ,AAEA--8

Signed Subspace Keys

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

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

Также SSK состоит из пяти частей:

Номер версии увеличивается каждый раз, когда создается новая версия сайта и вставляется в Freenet. Этот подход используется, поскольку в настоящее время невозможно обновить уже вставленные данные в Freenet. USK делают этот процесс более прозрачным для пользователя, посмотрите ниже.

Типичный ключ SSK выглядит так:

SSK@хэш публичного ключа,ключ дешифрования,настройки шифрования/выбранное пользователем имя-версия

Например (уменьшено, чтобы не выходить за границы экрана):

SSK@GB3wuHmt[..]o-eHK35w,c63EzO7u[..]3YDduXDs,AQABAAE/mysite-4

Как работают Signed Subspace Keys

SSK состоит из хэша публичного и симметричного ключа. Хэш публичного ключа действует как индекс данных для целей поиска. Кроме того, вместе с данными хранится фактический публичный ключ. Это сделано для того, чтобы узлы Freenet могли проверять подпись, когда файл SSK поступает в их узел, а также чтобы клиенты могли проверять подпись при получении файла. Симметричный ключ предназначен для того, чтобы клиенты могли расшифровать файл.

Сайты с SSK ключами в значительной степени вытеснены сайтами с USK ключом, которые основаны на SSK, но позволяют использовать ссылки, которые всегда пытаются получить самую последнюю версию сайта.

Updateable Subspace Keys

USK полезны для соединения с последней версией SSK сайта. Обратите внимание, что USK действительно просто удобная оболочка для SSK ключей, которые скрывают процесс поиска более свежих версий сайта.

Типичный ключ USK выглядит следующим образом:

USK@хэш публичного ключа,ключ дешифрования,крипто-настройки/выбранное пользователем имя/номер/

Он практически идентичен ключу SSK, за исключением номера версии. Существует два типа адресов USK:

USK с положительным числом в конце работает так: нода Freenet на вашем компьютере хранит список версий USK, о которых она знает, без обязательного хранения данных. Этот список составлен из предыдущих посещений, а также из фоновых запросов предыдущих посещений по этим ссылкам. Когда вы посещаете USK, как показано ниже, она просматривает этот список для версий сайта mysite с номером 5 или выше. Если она найдет что-то, то вернет самую последнюю версию. Затем в фоновом режиме она ищет новые версии, которые еще не знает, чтобы добавить их в реестр USK для следующих посещений этого адреса.

Например (уменьшено, чтобы не выходить за пределы экрана):

USK@GB3wuHmt[..]o-eHK35w,c63EzO7u[..]3YDduXDs,AQABAAE/mysite/5/

При посещении ссылки с отрицательным числом в конце, Freenet ищет запрашиваемую версию (например -7) плюс на 4 больше (например 7,8,9,10,11) на ноде вашего компьютера и на других нодах. Если найдет только версию 7, то вернет ее. Если находит одну из более новых версий, то ищет другую партию из пяти версий: 12,13,14,15,16. Это повторяется до тех пор, пока не будут найдены четыре последовательные версии, которые не будут найдены. Затем будет возвращена последняя найденная версия.

Например (уменьшено, чтобы не выходить за пределы экрана):

USK@GB3wuHmt[..]o-eHK35w,c63EzO7u[..]3YDduXDs,AQABAAE/mysite/-7/

Настоящая угроза для USK заключается в том, что данные должны быть вставлены во Freenet. Но больше об этом в других статьях.

Keyword Signed Keys

KSKs позволяют сохранять страницы с названием в Freenet. Они не защищены от спама или похищения имени. Несколько человек могут вставлять разные файлы в Freenet с одним и тем же адресом. Тем не менее есть обнаружение коллизий, которое пытается предотвратить перезапись уже однажды вставленной страницы. Адрес KSK выглядит так:

KSK@myfile.txt

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

Описание KSK не должно содержать слэшей, так же как и другие ключи. (Слэши используются для обозначения Манифестов или Контейнеров).

Адрес KSK может содержать перенаправление на адрес CHK или содержать сам файл.

Контейнеры

Контейнер Freenet в общем смысле - это файл, который содержит несколько других файлов. В Freenet 0.7, фрисайт или другая коллекция файлов, могут быть объединены в ZIP-файл, который ограничен в размере до 2 МБ. Преимущество контейнеров заключается в том, что при загрузке одной страницы вы загружаете все файлы фрисайта, так что он загружается только целиком что значительно уменьшает количество ключей, необходимых для вставки данного сайта. Контейнеры в настоящее время создаются открыто при вставке фрисайта с использованием, например, jSite.

Манифесты

Манифест содержит метаданные по списку блоков, на которые разделен CHK, и некоторую информацию о типе контента (MIME), имена файлов и другую полезную информацию. Основная информация - является ли ключ CHK Сплитфайлом или нет, и является ли манифест цепочкой или нет. Вам не нужно много знать о манифестах, чтобы использовать Freenet, так как это часть, которая обрабатывается внутри.

Социальные сети

Freenet обеспечивает основу для анонимной электронной почты, форумов и чатов, а также замену Facebook/Twitter. Их настройка описана в Руководстве по социальным сетям Freenet, доступ к которому также можно получить через Freenet.

jSite

jSite - это графическое приложение, которое вы можете использовать для создания, вставки и управления собственными сайтами Freenet. Оно написано на Java разработчиком с никнеймом Бомбе.

Вы можете скачать jSite здесь

Начало работы с jSite

Чтобы запустить jSite, введите в терминале следующее:

java -jar jSite.jar

Первое окно, которое вы увидите, это:

jSite Select a project Screenshot

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

Создание Фрисайта

Чтобы создать новый Freesite, необходимо нажать кнопку Add project (Добавить проект). Затем вам необходимо заполнить детали проекта. В разделе информации о проекте:

В разделе Address есть несколько автоматически сгенерированных записей и понятное имя сайта, как это видно из поля адреса браузера:

Ниже приведен пример того, как это может выглядеть:

jSite Select a project with filled fields Screenshot

Когда все заполнено правильно, вы можете нажать кнопку Next (Далее).

Следующим шагом является добавление файлов на ваш Freenet сайт (или фрисайт). Это делается в диалоговом окне Project Files (Файлы проекта). Поскольку у нас нет файлов в текущей папке, диалоговое окно почти пустое.

jSite Project files Screenshot

Чтобы добавить файлы, мы помещаем некоторые из них в локальный каталог, который мы указали ранее, /home/test, и нажимаем Re-scan. Затем файлы появляются.

jSite Project files with files Screenshot

Затем мы выделяем один из этих файлов, который будет страницей по умолчанию (например, index.html может быть хорошим выбором) и активируйте чекбокс Default file (Файл по умолчанию). Он должен распознавать MIME-тип как text/html, поэтому оставьте все остальное как есть и нажмите кнопку Insert now (Вставить сейчас).

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

jSite Project insert Screenshot

Когда все будет завершено, вы получите всплывающее окно с сообщением об успешной вставке сайта. Вы можете скопировать URI в буфер обмена, нажав кнопку Copy URI to Clipboard (Копировать URI в буфер обмена).

Затем вы можете использовать FProxy, чтобы найти ваш недавно созданный фрисайт. Просто вставьте URI после

http://localhost:8888/

в адресной строке браузера, вот так (уменьшено, чтобы не выходить за пределы экрана):

http://localhost:8888/freenet:USK@cJNO6G0[..]joM,AQACAAE/watergate2/1/

Если работает, поздравляю, вы только что создали свой первый Freesite!

Wiki