### Установка RetroShare (версия 0.6.7.2)

RetroShare — кросс-платформенное #P2P-приложение для #SecureCommunication и децентрализованного обмена данными. На данный момент последняя стабильная версия — **0.6.7.2** (ноябрь 2023 года). Процесс установки в целом несложный, однако имеет особенности в зависимости от операционной системы. Ниже приведён подробный разбор, с фокусом на #Windows, но с обзором #Linux и #macOS.

Все дистрибутивы следует скачивать **исключительно** с официального сайта retroshare.cc или с официального репозитория на #GitHub, чтобы избежать подмен и компрометации. Для дополнительной безопасности рекомендуется проверять контрольные суммы файлов — они опубликованы в файле `chksums.txt` в разделе релизов.

#RetroShare #Privacy #FOSS #Decentralization

---

#### Требования

* **ОС**:

* #Windows 7 и новее (рекомендуется 64-bit),
* #Linux (различные дистрибутивы),
* #macOS 10.14+.
* **Tor-интеграция**: Tor устанавливается отдельно, если не используется сборка с уже включённым Tor.
* **Зависимости**: специальных требований нет, однако на старых системах могут понадобиться обновления библиотек #Qt.

---

#### Установка на Windows

##### 1. Через установщик (рекомендуется для большинства пользователей)

* Скачайте 64-bit installer версии 0.6.7.2 с официального релиза на GitHub.
* Также доступна 32-bit версия для старых систем.
* Запустите `.exe`-файл **от имени администратора**.
* Следуйте шагам мастера установки:

* выбор каталога (по умолчанию `C:\Program Files\RetroShare`),
* создание ярлыков,
* подтверждение автозапуска.
* По завершении установка автоматически запускает RetroShare.

Этот вариант оптимален для пользователей, которым важна простота и стандартная интеграция с системой.

#WindowsSetup #DesktopSecurity

---

##### 2. Портативная версия (без установки в систему)

* Скачайте архив Portable-версии (64-bit).
* Доступен вариант **с уже встроенным Tor**, что удобно для изолированных сред.
* Распакуйте архив с помощью #7Zip или совместимого архиватора.
* Запуск осуществляется напрямую через `RetroShare.exe`.

Портативная версия подходит для запуска с внешних носителей или в средах с ограниченными правами.

#PortableApps #Tor

---

##### 3. Установка через Chocolatey

* В репозитории #Chocolatey доступна **только версия 0.6.6**, которая считается устаревшей.
* Команда установки:

```
choco install retroshare
```
* Использование этого способа не рекомендуется, если требуется актуальная стабильная версия 0.6.7.2.

#PackageManager #Chocolatey

---

После первого запуска RetroShare потребуется:

* создать **профиль пользователя**,
* сгенерировать криптографический ключ (основа доверия и аутентификации),
* при необходимости настроить #Tor или #I2P,
* добавить контакты через обмен сертификатами.

---

#### Установка на macOS

* Скачайте соответствующий `.dmg`-файл версии 0.6.7.2 (сборка под macOS 10.15.7 и Qt 5.15).
* Откройте DMG и перетащите приложение в каталог **Applications**.
* Для работы через Tor можно установить его отдельно:

```
brew install tor
```

Следует учитывать, что из-за отсутствия новых релизов возможны ограничения совместимости с новыми версиями macOS.

#macOS #AppleSilicon

---

#### Установка на Linux

Доступно несколько способов, выбор зависит от дистрибутива и предпочтений пользователя.

* **Через пакетный менеджер**:

* Для Debian/Ubuntu/Fedora используется репозиторий OBS.
* Устанавливается пакет `retroshare-gui`.
* **AppImage**:

* Скачайте AppImage версии 0.6.7.2.
* Сделайте файл исполняемым (`chmod +x`).
* Запуск без установки в систему.
* **Flatpak**:

```
flatpak install flathub cc.retroshare.retroshare-gui
```

AppImage и Flatpak удобны для изолированного запуска и снижения конфликтов зависимостей.

#LinuxDesktop #AppImage #Flatpak

---

#### Сборка из исходников

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

* Скачайте архив исходников (`tar.gz`) из официального репозитория GitHub.
* Следуйте инструкциям в `README`.
* Потребуются библиотеки #Qt, #OpenSSL и стандартный набор инструментов разработки.

Этот путь актуален для разработчиков и исследователей безопасности.

#BuildFromSource #OpenSource

---

#### Важные предупреждения

Проект RetroShare **не получал релизных обновлений с конца 2023 года**, поэтому:

* возможны проблемы совместимости с новыми версиями ОС,
* отдельные баги (особенно в UI и сетевых модулях) могут оставаться нерешёнными,
* активность сообщества снижена.

В случае сбоев рекомендуется обращаться к документации на retroshare.cc, архивам форума или обсуждениям на Reddit, учитывая ограниченную обратную связь.

#ProjectStatus #MaintenanceMode

---

Этот текст предназначен для распространения в #Mastodon, #Matrix и #Bastion как справочный материал по актуальной установке RetroShare 0.6.7.2 в условиях стагнации проекта и повышенных требований к цифровой гигиене.

### Установка RetroShare (версия 0.6.7.2)

RetroShare — кросс-платформенное #P2P-приложение для #SecureCommunication и децентрализованного обмена данными. На данный момент последняя стабильная версия — **0.6.7.2** (ноябрь 2023 года). Процесс установки в целом несложный, однако имеет особенности в зависимости от операционной системы. Ниже приведён подробный разбор, с фокусом на #Windows, но с обзором #Linux и #macOS.

Все дистрибутивы следует скачивать **исключительно** с официального сайта retroshare.cc или с официального репозитория на #GitHub, чтобы избежать подмен и компрометации. Для дополнительной безопасности рекомендуется проверять контрольные суммы файлов — они опубликованы в файле `chksums.txt` в разделе релизов.

#RetroShare #Privacy #FOSS #Decentralization

---

#### Требования

* **ОС**:

* #Windows 7 и новее (рекомендуется 64-bit),
* #Linux (различные дистрибутивы),
* #macOS 10.14+.
* **Tor-интеграция**: Tor устанавливается отдельно, если не используется сборка с уже включённым Tor.
* **Зависимости**: специальных требований нет, однако на старых системах могут понадобиться обновления библиотек #Qt.

---

#### Установка на Windows

##### 1. Через установщик (рекомендуется для большинства пользователей)

* Скачайте 64-bit installer версии 0.6.7.2 с официального релиза на GitHub.
* Также доступна 32-bit версия для старых систем.
* Запустите `.exe`-файл **от имени администратора**.
* Следуйте шагам мастера установки:

* выбор каталога (по умолчанию `C:\Program Files\RetroShare`),
* создание ярлыков,
* подтверждение автозапуска.
* По завершении установка автоматически запускает RetroShare.

Этот вариант оптимален для пользователей, которым важна простота и стандартная интеграция с системой.

#WindowsSetup #DesktopSecurity

---

##### 2. Портативная версия (без установки в систему)

* Скачайте архив Portable-версии (64-bit).
* Доступен вариант **с уже встроенным Tor**, что удобно для изолированных сред.
* Распакуйте архив с помощью #7Zip или совместимого архиватора.
* Запуск осуществляется напрямую через `RetroShare.exe`.

Портативная версия подходит для запуска с внешних носителей или в средах с ограниченными правами.

#PortableApps #Tor

---

##### 3. Установка через Chocolatey

* В репозитории #Chocolatey доступна **только версия 0.6.6**, которая считается устаревшей.
* Команда установки:

```
choco install retroshare
```
* Использование этого способа не рекомендуется, если требуется актуальная стабильная версия 0.6.7.2.

#PackageManager #Chocolatey

---

После первого запуска RetroShare потребуется:

* создать **профиль пользователя**,
* сгенерировать криптографический ключ (основа доверия и аутентификации),
* при необходимости настроить #Tor или #I2P,
* добавить контакты через обмен сертификатами.

---

#### Установка на macOS

* Скачайте соответствующий `.dmg`-файл версии 0.6.7.2 (сборка под macOS 10.15.7 и Qt 5.15).
* Откройте DMG и перетащите приложение в каталог **Applications**.
* Для работы через Tor можно установить его отдельно:

```
brew install tor
```

Следует учитывать, что из-за отсутствия новых релизов возможны ограничения совместимости с новыми версиями macOS.

#macOS #AppleSilicon

---

#### Установка на Linux

Доступно несколько способов, выбор зависит от дистрибутива и предпочтений пользователя.

* **Через пакетный менеджер**:

* Для Debian/Ubuntu/Fedora используется репозиторий OBS.
* Устанавливается пакет `retroshare-gui`.
* **AppImage**:

* Скачайте AppImage версии 0.6.7.2.
* Сделайте файл исполняемым (`chmod +x`).
* Запуск без установки в систему.
* **Flatpak**:

```
flatpak install flathub cc.retroshare.retroshare-gui
```

AppImage и Flatpak удобны для изолированного запуска и снижения конфликтов зависимостей.

#LinuxDesktop #AppImage #Flatpak

---

#### Сборка из исходников

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

* Скачайте архив исходников (`tar.gz`) из официального репозитория GitHub.
* Следуйте инструкциям в `README`.
* Потребуются библиотеки #Qt, #OpenSSL и стандартный набор инструментов разработки.

Этот путь актуален для разработчиков и исследователей безопасности.

#BuildFromSource #OpenSource

---

#### Важные предупреждения

Проект RetroShare **не получал релизных обновлений с конца 2023 года**, поэтому:

* возможны проблемы совместимости с новыми версиями ОС,
* отдельные баги (особенно в UI и сетевых модулях) могут оставаться нерешёнными,
* активность сообщества снижена.

В случае сбоев рекомендуется обращаться к документации на retroshare.cc, архивам форума или обсуждениям на Reddit, учитывая ограниченную обратную связь.

#ProjectStatus #MaintenanceMode

---

Этот текст предназначен для распространения в #Mastodon, #Matrix и #Bastion как справочный материал по актуальной установке RetroShare 0.6.7.2 в условиях стагнации проекта и повышенных требований к цифровой гигиене.

Перевод на русский с интеграцией хэштегов прямо в текст.

---

# Настройка Fedi-сервера Snac для сети Yggdrasil | DevZone

#Fediverse #Yggdrasil #SelfHosting #P2P #Linux

Время чтения: 15 минут
11 мая

Вскоре после моих [размышлений о p2p](https://devzone.org.ua/post/hrabli-p2p) я решил попробовать развернуть собственный экспериментальный инстанс #Fediverse. Причём сделать это средствами оверлейной сети #Yggdrasil, так как я не планирую покупать выделенный IP или VPS для этой игрушки; вместо этого сервер будет хоститься за модемом — на одноплатнике или даже на ПК, когда я в сети, с динамическим адресом за NAT.

Эта заметка в первую очередь написана для себя, но может быть полезна тем, кто, как и я, только начинает эксперименты с администрированием собственного узла Fediverse и интересуется альтернативными сетями в контексте #Linux.

## Что такое Snac

#Snac #ActivityPub #Minimalism

[Snac](https://codeberg.org/grunfink/snac2) — это минималистичная альтернатива серверу #Mastodon, написанная на C, без JavaScript и без необходимости установки PostgreSQL. Все данные профилей хранятся в JSON-файлах. Недавно в сервер была добавлена [поддержка IPv6](https://codeberg.org/grunfink/snac2/pulls/256), поэтому он корректно работает и с диапазоном Yggdrasil `0200::/7`.

Поскольку Yggdrasil позволяет бесплатно генерировать неограниченное количество статических IP (на основе приватного ключа #Ed25519), в DNS здесь обычно нет необходимости. Опционально можно прикрутить #Alfis, но лично я этого не делаю (в том числе из-за до сих пор нерешённой проблемы #364), поэтому и не навязываю его в рамках протокола ActivityPub — формат будет просто `username@IPv6`, без необходимости что-то обновлять или «майнить» позже.

## Установка

#BuildFromSource #LinuxAdmin

1. Точный список пакетов для Debian я не знаю — система не новая и многое уже установлено. Согласно [README](https://codeberg.org/grunfink/snac2#building-and-installation), мне понадобились только `libssl-dev` и `libcurl4-openssl-dev` (в Fedora — примерно то же самое, но с суффиксом `-devel`).
2. Создаём отдельного системного пользователя для изоляции от потенциальных уязвимостей:

```
useradd -m snac
```
3. Для удобства меняем shell на bash в `/etc/passwd`.
4. Логинимся `su snac` и переходим в домашний каталог: `cd`.
5. Качаем исходники:
`git clone https://codeberg.org/grunfink/snac2.git`
6. Переходим в каталог проекта: `cd snac2`.
7. Компилируем и устанавливаем:
`make && sudo make install`.
8. Инициализируем хранилище сервера:
`snac init /home/snac/storage`.
9. Добавляем первого пользователя:
`snac adduser /home/snac/storage`.
10. Выходим обратно под root: `exit`.

## Конфигурация

#Networking #Yggdrasil

У меня уже установлен и настроен узел Yggdrasil. Если интересно — см. [предыдущую публикацию](https://devzone.org.ua/post/yggdrasil-mereza-z-detsentralizovanym-routynhom) или [официальную документацию](https://yggdrasil-network.github.io/documentation.html).

### Адрес подсети Yggdrasil

#IPv6

Этот шаг можно пропустить и использовать основной адрес `2*`, если порты `80` или `8001` свободны. Но важно понимать: в API ActivityPub сервер Snac сообщает свой адрес другим узлам, и те кэшируют его как часть ID. Поскольку адрес хранится в файлах, а не в БД, заменить его потом будет сложно. Поэтому лучше сразу выделить отдельный адрес, особенно для продакшена.

1. `yggdrasilctl getself` — узнаём свой IP и диапазон IPv6.
2. `ifconfig lo inet6 add IP` — вместо IP указываем произвольный адрес из полученного диапазона, например `3xx:xxxx:xxxx:xxxx::fed/64`.

⚠️ Данные, добавленные через `ifconfig`, не сохраняются после перезагрузки. Команду нужно прописать, например, в `/etc/netplan/01-ygglo.yaml`, `/etc/network/interfaces` или в `systemd`-сервис `yggdrasil.service` (через `ExecStartPost=`).

### Nginx-прокси

#Nginx #ReverseProxy

На сервере уже установлен Nginx, занимающий порт `80`. Менять это я не хочу, как и светить Snac на стандартном порту `8001`. Поэтому, имея выделенный IPv6-адрес, просто проксирую API на `80`, используя пример из [оригинальной конфигурации](https://codeberg.org/grunfink/snac2/src/branch/master/examples/nginx-alpine-ssl/default.conf):

```nginx
server {
listen [3xx:xxxx:xxxx:xxxx::fed]:80;
server_name 3xx:xxxx:xxxx:xxxx::fed;

location @proxy {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_pass http://[3xx:xxxx:xxxx:xxxx::fed]:8001;
}

location /.well-known/webfinger { try_files $uri @proxy; }
location /.well-known/nodeinfo { try_files $uri @proxy; }
location / { try_files $uri @proxy; }
location /fedi/ { try_files $uri @proxy; }
}
```

SSL здесь намеренно отсутствует: #Yggdrasil уже обеспечивает защищённый канал, и дополнительный слой не нужен.

Административный API (`admin` и `oauth`) я ограничил по IP, поскольку у клиентов Yggdrasil адреса тоже статические:

```nginx
location ~ /([^\/]+/admin|oauth) {
allow ADMIN_IP;
deny all;
try_files $uri @proxy;
}
```

### Конфигурация Snac

#JSON #Config

Редактируем `/home/snac/storage/server.json`, созданный командой `snac init`:

```json
{
"host": "[3xx:xxxx:xxxx:xxxx::fed]",
"address": "3xx:xxxx:xxxx:xxxx::fed",
"port": 8001,
"protocol": "http"
}
```

В моём случае протокол намеренно `http`.

### Доступ через iptables / ufw

#Firewall

Открываю порт только для диапазона Yggdrasil:

```
ufw allow from 0200::/7 to any port 80
```

Если не используете Nginx — указывайте реальный порт, например `8001`.

### systemd

#Systemd

На основе [официального примера](https://codeberg.org/grunfink/snac2/src/branch/master/examples/snac.service):

```ini
[Unit]
After=network-online.target
Wants=network-online.target

[Service]
User=snac
ExecStart=/usr/local/bin/snac httpd /home/snac/storage

[Install]
WantedBy=multi-user.target
```

## Бэкапы

#Backup #Rsync

Так как база — это файлы, резервное копирование тривиально. Использую `rsync` через `crontab -e`:

```
@daily rsync -av --delete /home/snac/storage /path/to/snac/daily
@weekly rsync -av --delete /home/snac/storage /path/to/snac/weekly
@monthly rsync -av --delete /home/snac/storage /path/to/snac/monthly
```

## Использование

#FediverseAdmin

После запуска (`snac httpd /home/snac/storage` или через systemd) можно открыть
`http://[3xx:xxxx:xxxx:xxxx::fed]` в браузере.

### Тест взаимодействия

#ActivityPub

Для проверки федерации разверните второй узел в Yggdrasil и попробуйте подписку или переписку через Web UI или клиент.

### Настройка браузера

#Firefox #IPv6

При первом использовании Yggdrasil-сайтов в Firefox может понадобиться изменить параметры в `about:config`:

* `browser.fixup.fallback-to-https = false`
* `browser.fixup.alternate.enabled = false`

---

#Fediverse #YggdrasilNetwork #Decentralization #AltNet #SelfHosted

Fediverse - the social network of the future
https://fediverse-decentralize.blogspot.com/2026/01/blog-post_10.html

@ariadne nodds in agreement In fact I wish for rigorous demands for #ReproduceableBuilds if not #BuildFromSource like @fdroidorg / #FDroid does!

How did the #Mercury build break already? LOL

This thing is driving me nuts. But hey, at least I'm learning a lot.

#buildfromsource #opensource #firefox

...or some old #ThinClients that can't even do @bunsenlabs or #PorteusKiosk but otherwise are still useable as "#FatClients" in the sense of just using a slimmed-down OS to work with.

Also OS/1337 intents to be fully transparent in the sense that it can be used for #CriticalInfrastructure by virtue of being fully-automateable "#BuildFromSource" so on fully #airgapped systems and networks it can be deployed after it went through the ardourous #audit pipeline said users demand.

Currently I just need to find out what went wrong and see how I can make OS/1337 go brrrrrr.
So if anyone has any ideas, please feel free to contact me:
https://mstdn.social/@kkarhan/111409592616485280

Also #boosts appreciated!
   

#OS1337 #Linux #boot #Kernel #Toybox #FLOSS #FOSS #Software #Development #bugfixing #bugs #init #Syslinux #Floppinux #Floppy #embedded #embeddedLinux #i486 #i486SX #VintageComputing #Terminal #SSH #Distro #LinuxDistro #BuildFromSource #HelpWanted

Kevin Karhan :verified: (@[email protected])

Attached: 1 image :boost_ok: :boost_requested: :boost_animated: OS/1337 development goes on... Tho I'm a bit stuck on the boot pipeline... Anyone any idea why? #Linux #OS1337 #embedded #syslinux #Floppinux #EmbeddedLinux #toybox #boot #i486 #ix86 #OpenSource #development #Software

Mastodon 🐘