Hier wollte gerade ein AI Agent andocken... Instanz social.kept.live #FediverseAdmin #FediAdmin
Amazing to see the instance grow, Thank you all for joining us on here so far.

I'm glad to say we are connected to 1k other instances. With this we have more people joining us and glad to see what people are publicly posting, little projects, thoughts and ideas.

Keep up the amazing work and love you all.

#Fediverse #FediverseAdmin #Instances #ConnectedInstances #Sharkey #SharkeyInstance

4/4

Lighthouse was built with those principles in mind from day one.

Documented recovery plans.
Transparent policies.
Clear governance.
Sustainable operations.

If onboarding evolves, stability must remain the foundation.

#HauntedLighthouse #FediverseAdmin #LongTermThinking

@kilostere@kilostere@varishangout.net @[email protected] @[email protected] @[email protected] @[email protected]

FIX YOUR SERVER, you are hammering my server on the same user, that haven't posted that many posts. You get 15 min or I get your server set offline by your hosting center for abusing behavior

#itsecurity #plaroma #fediverseadmin

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

---

# Настройка 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

is there any way i can enable showing of what MRF rules i have enabled, but entirely hide display of my specific MRF simple rules? for whatever reason i don’t like the idea of having a full list of all the instances i’ve blocked just be easily browsable (plus i don’t have to show it for the purposes of letting other people know with certainty whether or not i block an instance they may interact with – i’m a single-user instance), but i know having MRF rule display completely hidden is very eyebrow-raising too (then there’s no way to tell if i might have RejectDeletes set up, which ftr i don’t, but i mean, the problem here is that you just have to take my word for it)

i know you can obscure which domains are affected by MRF simple rules, but that still shows a big list anyways, no? so not quite what i’m looking for

#akkomaAdmin #akkoAdmin #fediAdmin #fediverseAdmin

Lighthouse lore vi
Post 3/5

S3 settled, Caddy cracked its knuckles, backups marched off like good soldiers. Even MinIO behaved for five minutes. The Lighthouse felt lighter — like it understood you weren’t building a stack, but a harbour.
A beacon for the tired, the tender, the fed-up.

#FediverseAdmin #LighthouseLore #SelfHosting

This #Mastodon server is now running version 4.5.2 on #Docker Desktop 4.5.2 on #macOS #Tahoe 26.1 via #Cloudflare Tunnel cloudflared 2025.11.1, The #DockerCompose containers also include #PostgreSQL 14 and #Redis 7 on #AlpineLinux, and #Elasticsearch 7.17.29.

Yeah, bragging a little. I like my setup.

/cc @cloudflare @Mastodon @MastodonEngineering

#Fediverse #FediverseAdmin #FediAdmin #HomeLab #SelfHosted #SelfHosting #DevOps #SysAdmin

@mamot[email protected] @LaQuadrature@LaQuadrature@mamot.fr

Thanks alot for spamming...

Likely same person
[
"users/a6lzp3eh2i",
"notes/a6m6st54hu",
"notes/a6m6nyw6hp",
"notes/a6m67er7h0"
]
And? you are also holding several accounts... and so what? what is your issue?

What will happen to this Admin Report??

#reportspam #adminreview #adminreveal #hallofshame #fediverseadmin #mastodonadmin #mastodonreportspam #mastodonadminspammers #poll

Resolve (Acceot)
Resolve (Reject)
Poll ends at .
@techhub[email protected], @nicdex

While addressing your extremely serious and unfounded accusations against our users regarding the posting of CSAM/CP, I must strongly advise you to reconsider your perceptions, as this is neither
#CSAM nor #CP.

Individuals who engage in such foolishness risk being
#suspended from the #fediverse, resulting in your server being reduced to an echo chamber where users can only converse amongst themselves.

I urge you to cease this nonsense in the future and consider this as the first of three warnings regarding the posting of false accusations against my
#fediverse installation and innocent users.

Your report is publicly available at
https://kb.mypdns.org/issue/MR-26

#hallofshame #fediverseadmin #reportspam