remove url scheme from the inline context

This commit is contained in:
postscriptum 2026-03-17 19:55:50 +02:00
parent 4a13b769f4
commit 19bd39f8e6
37 changed files with 80 additions and 73 deletions

View file

@ -8,9 +8,9 @@
## Що таке Snac
Snac (https://codeberg.org/grunfink/snac2) - це мінімалістична, JS-less, написана мовою C альтернатива серверу Mastodon, яка також не потребує інсталяції PostgreSQL, натомість зберігає усі дані профілю у файлах JSON. Нещодавно, до цього серверу було додано підтримку IPv6 (PR#256), а отже - він буде працювати й з діапазоном Yggdrasil `0200::/7`
Snac (codeberg.org/grunfink/snac2) - це мінімалістична, JS-less, написана мовою C альтернатива серверу Mastodon, яка також не потребує інсталяції PostgreSQL, натомість зберігає усі дані профілю у файлах JSON. Нещодавно, до цього серверу було додано підтримку IPv6 (PR#256), а отже - він буде працювати й з діапазоном Yggdrasil `0200::/7`
Оскільки Yggdrasil дозволяє безкоштовно генерувати не обмежену кількість статичних IP (на базі приватного ключа Ed25519), тут немає звичної потреби в DNS. Хоча, можна опціонально прикрутити Alfis (https://github.com/Revertron/Alfis), але особисто я цим ділом не користуюсь (зокрема, й через досі не вирішену проблему #364, тому також не хочу нав'язувати його в рамках протоколу ActivityPub - буде просто формат `username@IPv6`, який мені не потрібно а ні оновлювати, а ні майнити потім.
Оскільки Yggdrasil дозволяє безкоштовно генерувати не обмежену кількість статичних IP (на базі приватного ключа Ed25519), тут немає звичної потреби в DNS. Хоча, можна опціонально прикрутити Alfis (github.com/Revertron/Alfis), але особисто я цим ділом не користуюсь (зокрема, й через досі не вирішену проблему #364, тому також не хочу нав'язувати його в рамках протоколу ActivityPub - буде просто формат `username@IPv6`, який мені не потрібно а ні оновлювати, а ні майнити потім.
## Встановлення
@ -234,7 +234,7 @@ location /theme.css {
### Специфіка клієнтських застосунків
Особисто, я встиг перевірити тільки Tuba (https://tuba.geopjr.dev/). Як виявилось, даний клієнт має захардкожену обробку схеми HTTPS, тому якщо користуєтесь цим застосунком, доведеться налаштувати окремий інтерфейс Nginx на порті `443` з використанням сертифікату, хоч у випадку з Yggdrasil - це зайва "капуста" і мабуть поки що лишусь на веб-інтерфейсі або зроблю і викладу потім патч.
Особисто, я встиг перевірити тільки Tuba (tuba.geopjr.dev/). Як виявилось, даний клієнт має захардкожену обробку схеми HTTPS, тому якщо користуєтесь цим застосунком, доведеться налаштувати окремий інтерфейс Nginx на порті `443` з використанням сертифікату, хоч у випадку з Yggdrasil - це зайва "капуста" і мабуть поки що лишусь на веб-інтерфейсі або зроблю і викладу потім патч.
UPD 1. розробник виявився супер-оперативним і вже створив гілку з патчем:
@ -281,7 +281,7 @@ flatpak-builder --force-clean build\
### Моніторинг трафіку
Оскільки сервер Snac не передбачає користування JS інтерфейсом, а поточна конфігурація використовує Nginx, можу по ходу справи також порадити goaccess (https://goaccess.io/) - CLI утиліту для зручного моніторингу статистики користувацького трафіку, якщо такий буде:
Оскільки сервер Snac не передбачає користування JS інтерфейсом, а поточна конфігурація використовує Nginx, можу по ходу справи також порадити goaccess (goaccess.io) - CLI утиліту для зручного моніторингу статистики користувацького трафіку, якщо такий буде:
``` bash
goaccess /var/log/nginx/access.log
@ -289,7 +289,7 @@ goaccess /var/log/nginx/access.log
### Приватний режим
Yggdrasil дозволяє маскувати реальний IP, якщо ви користуєтесь власним вихідним вузлом (https://publicpeers.neilalexander.dev/). Звісно, таку можливість не варто розглядати в контексті анонімізації окремо без додаткових шарів, оскільки використання протоколу Yggdrasil без наприклад таких проксі, як Shadowsocks - легко виявляється.
Yggdrasil дозволяє маскувати реальний IP, якщо ви користуєтесь власним вихідним вузлом (publicpeers.neilalexander.dev). Звісно, таку можливість не варто розглядати в контексті анонімізації окремо без додаткових шарів, оскільки використання протоколу Yggdrasil без наприклад таких проксі, як Shadowsocks - легко виявляється.
Ця тема виходить за рамки матеріалу, але зверну увагу на деякі аспекти, якщо ви плануєте користуватись збіркою Snac + Yggdrasil в режимі "інкогніто". Протокол ActivityPub передбачає "спілкування" між серверами для обміну івентами. Тобто потенційний фоловер може відправити запит підписки на на дозволений у фаєрвол інтерфейс `0200::/7`, але вказати в заголовках події ActivityPub - зворотній DNS на вузол в мережі Інтернет. Таким чином, ваша система здійснить транзакцію з білого IP через системний резольвер або без нього, використовуючи локальний Curl API від Snac.