Freenet — это децентрализованная и анонимная сеть, созданная для обеспечения приватности пользователей и свободного обмена информацией. Она позволяет пользователям делиться контентом и общаться анонимно, избегая цензуры и контроля.
Что можно делать в Freenet:
-
Публиковать и скачивать контент: В Freenet можно анонимно публиковать и скачивать различные типы файлов (текст, изображения, аудио, видео). Контент загружается в зашифрованном виде, и все участники сети хранят небольшие его фрагменты.
-
Посещать FMS (Freenet Message System): FMS — это анонимная доска объявлений или система обсуждений, подобная форумам, которая работает поверх Freenet. В ней пользователи могут обмениваться сообщениями, не раскрывая свою личность.
-
Создавать анонимные сайты (Freesites): Freenet поддерживает создание и размещение простых статических веб-сайтов, называемых Freesites. Эти сайты анонимны и распределены по всей сети.
-
Чат в режиме реального времени (Frost): Frost — это клиент, который позволяет вести анонимные чаты, делиться файлами и участвовать в обсуждениях на форумах в реальном времени через Freenet.
-
Поиск информации: Внутри сети можно искать различные ресурсы, файлы и обсуждения. Однако поиск в Freenet работает по-другому, чем в обычных поисковых системах, поскольку сеть децентрализована, и информация распределяется между узлами.
Преимущества Freenet:
- Анонимность: Ваши действия и контент остаются анонимными. Никто не может определить, кто опубликовал или скачал конкретный файл.
- Устойчивость к цензуре: Freenet предназначена для противодействия цензуре, и информация в ней практически не поддается удалению.
- Децентрализация: Freenet не имеет центрального сервера, а данные хранятся на узлах участников сети.
Недостатки и риски:
- Медленное соединение: Freenet может быть медленной по сравнению с обычным интернетом, особенно при использовании в режиме высокой анонимности.
- Ограниченные ресурсы: В Freenet доступен гораздо меньший объем информации, чем в обычном Интернете.
- Контент: Из-за анонимности и отсутствия цензуры сеть может использоваться для размещения нелегального или нежелательного контента. Пользователи должны проявлять осторожность при взаимодействии с файлами и веб-страницами.
Freenet — это мощный инструмент для тех, кто ценит приватность и свободный доступ к информации, особенно в условиях ограничений и цензуры.
Установка Freenet Debian
Сборку из исходников рассматривать пока не буду. Для винды, macOS и Linux читаем на сайте hyphanet.org
Для примера создать каталог mkdir ~/freenet
Для работы необходима Ява. Обновить индекс пакетов:
sudo apt update
Проверить установлена или нет Ява:
java -version
Если нет, то будет вывод:
bash: java: команда не найдена
Установка JRE
sudo apt install default-jre
На будущее, как надумаю собрать все ручками установить JDK
sudo apt install default-jdk
Скачать установочный файл с помощью команды :
wget https://www.draketo.de/dateien/freenet/build01498/new_installer_offline_1498.jar -O ~/freenet/new_installer_offline.jar
Запустить установочный файл с помощью Java:
java -jar ~/freenet/new_installer_offline.jar
Появится окно выбора языка:
Потом приветствие:
Выбрать каталог /home/USER/freenet, где будет жить Freenet:
Выбор наборов, информация о необходимом месте на диске:
Прогресс установки Freenet:
Сообщение о том что все необходимые плагины загружены, проверены доступные порты, и Freenet настроен для автоматического запуска при перезагрузке системы с помощью cron.
Настройка ярлыков:
Хэппи энд:
Автоматически откроется браузер с адресом http://127.0.0.1:8888/
Настройка Freenet
На странице настройки поскольку еще нет знакомых подключенных к сети опцию I know someone who runs Freenet
оставляем пустым. То есть будет происходить подключение через незнакомые узлы. Можно открыть узел Freenet на сервере и добавить его в дружественный и через него будет происходить подключение.
Опцию I have a monthly bandwidth limit
следует использовать если есть ограничения по трафику.
В блоке Storage после Give
указать, сколько пространства на диске вы хотите выделить для хранения данных Freenet. Минимальное значение — 0.04 GiB, но лучше выделить больше, сколько не жалко.
Если необходим пароль для входа то указать его поставив галку для опции I want Freenet to require a password when it starts
заполнив поля.
Сохранить настройки нажав кнопку Save
Откроется главная страница на которой будет пара предупреждений о том, что идет подключение к сети, подождав немного, обновить страницу, пока предупреждения о подключении не исчезнет. И можно уже начать серфинг и многое другое о чем возможно напишу позже, после изучения возможностей.
Установка Freenet на сервер Ubuntu
Почти все то же самое, только доступ к первой настройке будет через ssh туннель.
Зайти на сервер по ssh
Проверить установлена или нет Ява:
java -version
Если нет, будут предложены варианты:
Command 'java' not found, but can be installed with:
sudo apt install openjdk-11-jre-headless # version 11.0.24+8-1ubuntu3~22.04, or
sudo apt install default-jre # version 2:1.11-72build2
sudo apt install openjdk-17-jre-headless # version 17.0.12+7-1ubuntu2~22.04
sudo apt install openjdk-18-jre-headless # version 18.0.2+9-2~22.04
sudo apt install openjdk-19-jre-headless # version 19.0.2+7-0ubuntu3~22.04
sudo apt install openjdk-21-jre-headless # version 21.0.4+7-1ubuntu2~22.04
sudo apt install openjdk-8-jre-headless # version 8u422-b05-1~22.04
Установить последнюю:
sudo apt install openjdk-21-jre-headless
Создать каталог mkdir ~/freenet
скачать установщик:
wget https://www.draketo.de/dateien/freenet/build01498/new_installer_offline_1498.jar -O ~/new_installer_offline.jar
Запустить установку в консольном режиме добавив ключ -console
:
java -jar ~/new_installer_offline.jar -console
Спросят куда устанавливать, указать нужный путь к директории. /home/USER/freenet
Вывод:
Select target path [/home/USER]
/home/USER/freenet
press 1 to continue, 2 to quit, 3 to redisplay
1
[ Starting to unpack ]
[ Processing package: Base (1/3) ]
[ Processing package: License (2/3) ]
[ Processing package: Unix (3/3) ]
[ Unpacking finished ]
[ Starting processing ]
Starting process Setting up the environment (1/17)
Offline installation mode
File './wrapper.jar' already exists.
Starting process Setting the Updater up (2/17)
Starting process Setting Opennet up (3/17)
Starting process Setting JSTUN up (4/17)
Downloading the STUN plugin
Starting process Setting UPnP up (5/17)
Downloading the UP&P plugin
Starting process Setting Librarian up (6/17)
Downloading the Library plugin
Starting process Setting KeyUtils up (7/17)
Downloading the KeyUtils plugin
Starting process Setting ThawIndexBrowser up (8/17)
Downloading the ThawIndexBrowser plugin
Starting process Setting Sharesite up (9/17)
Downloading the Sharesite plugin
Starting process Setting plugins up (10/17)
Starting process Downloading freenet-stable-latest (11/17)
Starting process Downloading freenet-ext (12/17)
Starting process Downloading bcprov (13/17)
Starting process Detecting port availability (14/17)
Detecting tcp-ports availability...
Starting process Setting up auto-start (15/17)
Enabling auto-start.
Installing cron job to start Freenet on reboot...
Installed cron job.
Starting process Starting the node up (16/17)
Starting Freenet 0.7...
Starting process Cleaning up (17/17)
All done, please click Next
[ Console installation done ]
В cron
будет добавлена строка автостарта при перезагрузке.
Удалить установщик rm ~/new_installer_offline.jar
Для окончательной настройки переподключиться к серверу:
ssh -L 8888:127.0.0.1:8888 -L 9481:127.0.0.1:9481 USER@domain.server
- Порт 8888 - для прокси, через который происходит доступ к данным из браузера.
- Порт 9481 - для API интерфейса, который использует jSite
Если на машине с которой происходит удаленное подключение к серверу был установлен Freenet, его нужно остановить или в браузере на главной странице внизу нажать кнопку Shutdown Freenet
В браузере набрать http://127.0.0.1:8888/
Теперь можно серфить удаленно подключившись к серверу.
Что еще нужно знать про Freenet:
По поводу возможных вопросов читать тут
Для повышения безопасности рекомендуется использовать отдельный браузер для работы с Freenet в режиме конфиденциальности.
Запуск Freenet из командной строки:
~/freenet/./run.sh start
Остановка Freenet из командной строки:
~/freenet/./run.sh stop
Файл настройки Freenet
nano ~/freenet/freenet.ini
# This file is overwritten whenever Freenet shuts down, so only edit it when the node is not running.
# Этот файл перезаписывается при каждом завершении работы Freenet, поэтому редактировать его нужно только при выключенном узле.
console.ssl=false
# Отключает SSL (шифрование) для консоли управления.
console.enabled=false
# Отключает консоль управления Freenet.
security-levels.networkThreatLevel=NORMAL
# Устанавливает уровень угрозы сети на "нормальный", то есть стандартный уровень безопасности.
security-levels.physicalThreatLevel=NORMAL
# Устанавливает физический уровень угрозы на "нормальный", то есть стандартный уровень безопасности.
fproxy.allowedHosts=127.0.0.1,0:0:0:0:0:0:0:1
# Разрешает доступ к веб-интерфейсу fproxy (локальный веб-прокси Freenet) только с localhost и адреса ::1 (IPv6).
fproxy.showPanicButton=false
# Отключает кнопку "Паника" в интерфейсе fproxy (кнопка для быстрого отключения узла).
fproxy.publicGatewayMode=false
# Отключает публичный режим шлюза, т.е. делает Freenet недоступным для внешних пользователей через веб.
fproxy.port=8888
# Устанавливает порт для fproxy (локального веб-интерфейса) — 8888.
fproxy.noConfirmPanic=false
# Требует подтверждения перед выполнением действия кнопки "Паника".
fproxy.enableCachingForChkAndSskKeys=false
# Отключает кэширование CHK и SSK ключей (используется для контента в Freenet).
fproxy.hasCompletedWizard=true
# Указывает, что мастер первичной настройки завершен.
fproxy.ssl=false
# Отключает SSL (шифрование) для fproxy.
fproxy.enabled=true
# Включает fproxy, локальный веб-прокси для взаимодействия с узлом через браузер.
fproxy.bindTo=127.0.0.1,0:0:0:0:0:0:0:1
# Привязывает fproxy к локальному IP-адресу (localhost и ::1 для IPv6).
fproxy.allowedHostsFullAccess=127.0.0.1,0:0:0:0:0:0:0:1
# Полный доступ к fproxy разрешен только с localhost.
logger.maxZippedLogsSize=10485760
# Максимальный размер сжатых логов — 10 МБ.
logger.priority=WARNING
# Уровень логирования — предупреждения и ошибки (WARNING).
pluginmanager.loadplugin=Library;KeyUtils;Sharesite
# Автозагрузка плагинов: библиотека, утилиты для работы с ключами, плагин Sharesite для обмена сайтами.
pluginmanager.enabled=true
# Включает менеджер плагинов.
ssl.sslKeyStorePass=freenet
# Пароль для хранилища SSL-ключей.
ssl.sslKeyPass=freenet
# Пароль для SSL-ключа.
ssl.sslKeyStore=datastore/certs
# Путь к хранилищу сертификатов SSL.
ssl.sslEnable=false
# Отключает SSL (шифрование) для всех подключений.
toadletsymlinker.symlinks=/sl/search/%23/plugins/plugins.Librarian/;/sl/gallery/%23/plugins/plugins.TestGallery/
# Символьные ссылки для плагинов Librarian и TestGallery, используемые для поиска и галереи.
node.masterKeyFile=master.keys
# Файл мастер-ключей для узла.
node.probeLinkLengths=true
# Включает проверку длины ссылок для мониторинга узла.
node.slashdotCacheSize=107374182
# Размер кэша Slashdot — около 107 МБ.
node.minDiskFreeShortTerm=536870912
# Минимальный объем свободного места на диске для краткосрочного хранения — 512 МБ.
node.probeStoreSize=true
# Включает проверку размера хранилища данных.
node.downloadsDir=./downloads
# Папка для загрузки файлов — "./downloads".
node.uploadAllowedDirs=all
# Разрешает загрузку файлов из всех каталогов.
node.outputBandwidthLimit=163840
# Лимит исходящего трафика — 163840 байт/с (160 КБ/с).
node.probeBuild=true
# Включает проверку сборки узла.
node.maxPacketSize=1280
# Максимальный размер пакета — 1280 байт.
node.connectionSpeedDetection=true
# Включает обнаружение скорости соединения.
node.probeIdentifier=true
# Включает мониторинг идентификатора узла.
node.probeOverallBulkOutputCapacityUsage=true
# Включает мониторинг использования исходящей пропускной способности.
node.probeBandwidth=true
# Включает мониторинг пропускной способности.
node.minDiskFreeLongTerm=1073741824
# Минимальный объем свободного места на диске для долгосрочного хранения — 1 ГБ.
node.probeLocation=true
# Включает проверку геолокации узла.
node.storeSize=858993460
# Размер хранилища данных узла — около 858 МБ.
node.probeUptime=true
# Включает мониторинг времени работы узла.
node.identifier=3794814349636256417
# Идентификатор узла.
node.downloadAllowedDirs=all
# Разрешает загрузку файлов в любые каталоги.
node.storeType=salt-hash
# Тип хранилища данных — salt-hash (хэшированный формат).
node.assumeNATed=true
# Предполагает, что узел находится за NAT.
node.minimumCompressionPercentage=10
# Минимальный процент сжатия данных — 10%.
node.clientCacheSize=107374182
# Размер кэша клиента — около 107 МБ.
node.peersOffersDismissed=false
# Отключает автоматическое отклонение предложений от пиров.
node.probeRejectStats=true
# Включает проверку отклоненных запросов статистики.
node.amountOfDataToCheckCompressionRatio=8388608
# Количество данных для проверки коэффициента сжатия — около 8 МБ.
node.bindTo=0.0.0.0
# Привязывает узел к IP-адресу 0.0.0.0, что позволяет принимать соединения на всех интерфейсах.
node.clientCacheType=salt-hash
# Тип кэша клиента — salt-hash.
node.l10n=Русский
# Локализация узла — русский язык.
node.name=Freenet node with no name #-5353045215024910457
# Имя узла — автоматически сгенерированное.
node.inputBandwidthLimit=1048576
# Лимит входящего трафика — 1048576 байт/с (1 МБ/с).
node.listenPort=32264
# Порт для прослушивания входящих соединений — 32264.
node.storePreallocate=true
# Включает предварительное выделение места для хранилища.
fcp.allowedHosts=127.0.0.1,0:0:0:0:0:0:0:1
# Разрешает подключение к Freenet Client Protocol (FCP) только с localhost.
fcp.port=9481
# Порт для FCP — 9481.
fcp.ssl=false
# Отключает SSL для FCP.
fcp.bindTo=127.0.0.1,0:0:0:0:0:0:0:1
# Привязывает FCP к localhost (IPv4 и IPv6).
fcp.allowedHostsFullAccess=127.0.0.1,0:0:0:0:0:0:0:1
# Полный доступ к FCP только с localhost.
node.updater.updateSeednodes=true
# Включает обновление списка seed узлов.
node.updater.updateInstallers=true
# Включает обновление установочных файлов.
node.updater.URI=USK@vCKI0Kx8cAtKuticcaZ-dwOgmkYPVLj~N1dmz9IYtd3Smg4Y,-cAtKuti7PlhI8Kx4cAwpU9mb6PyOn8wABn60,AQACAAE/jar/1498
# URI для автоматического обновления узла Freenet.
node.updater.autoupdate=false
# Отключает автоматическое обновление узла.
node.install.persistentTempDir=./persistent-temp
# Каталог для временных файлов — "./persistent-temp".
node.install.cfgDir=.
# Каталог для конфигурационных файлов — текущий каталог.
node.install.storeDir=./datastore
# Каталог для хранения данных — "./datastore".
node.install.userDir=.
# Домашний каталог пользователя — текущий каталог.
node.install.pluginStoresDir=plugin-data
# Каталог для данных плагинов — "plugin-data".
node.install.tempDir=./temp
# Каталог для временных файлов — "./temp".
node.install.nodeDir=.
# Каталог для узла — текущий каталог.
node.install.pluginDir=./plugins
# Каталог для плагинов — "./plugins".
node.install.runDir=.
# Каталог для выполнения узла — текущий каталог.
node.opennet.assumeNATed=true
# Предполагает, что узел подключен через NAT.
node.opennet.acceptSeedConnections=false
# Отключает прием соединений от seed узлов.
node.opennet.listenPort=19292
# Порт для соединений в сети Opennet — 19292.
node.opennet.enabled=true
# Включает работу в сети Opennet.
node.opennet.bindTo=0.0.0.0
# Привязывает узел Opennet к IP-адресу 0.0.0.0.
node.load.subMaxPingTime=700
# Устанавливает максимальное время отклика (ping) для подзадач — 700 мс.
node.load.threadLimit=1000
# Ограничивает количество потоков до 1000.
node.load.maxPingTime=1500
# Устанавливает максимальное время отклика (ping) — 1500 мс.
Обновление оболочки Freenet
Производится прямо из браузера, будет предупреждение:
После нажатия кнопки Обновить сейчас Будет открыта страница с произведенными изменениями и добавлениями.
Комментарии