frssoft-site/RU/articles/2023-04-05_i2p_federation_initiative.md

88 lines
12 KiB
Markdown
Raw Normal View History

2023-08-08 11:15:17 +00:00
# Инициатива по федерации через i2p-only (deprecated; недоделано)
```
---------------------------------------------------------------+
|
x000O. |
x0000000O. |
'000000000o |
':;O00000000' |
,oooood,cO0000d;0x +------------------
'cooooo, .:co;dxk'oKKKO I2P
.,,,,,' clooool. .:::. :oo; l0KK0.
',,,,,,,;'lo. .:::. .ool lKKKO. +------------------
,,,,,,,,,.:xxxo:. .:::. loo. cKKK0. |
',,,,,,,,.xkkkkkkkl,:::.oxxo;. .. ;KKKl'ddo, |
',,,,..:l. ,:::.dkkkkkkkkkxkkkkkko;,oOkkkOOOd |
,,,..::::. '::: ...;ldxkkkkx;kkOOOOOOkc |
.;;' .::::..::; :od; c;kkOOOOOOk, |
.;;, ;;;;.. 'ooc .cooooo,dOOOOOk. |
,;;. ;::;. .ooo'ooool. .odd, |
';;. ,:;.;:::. .l'coo,:. .loo, |
.;;, ;::, ;::;..ooooo:'ooc .ooo' |
;;;. ,::, .:cloool. .loo. .ooo' |
','.,;:' .llooooc.'c, coo' .ooo. |
.,,,,,;.;loooo; ,:::, 'ooc 'ooo. |
.''''''''':; ,:::;.olc;ooo. |
''''''''''.:;;;;'.. ,:.;lllll, |
.'''''''' ..,,,,,,,,,,,;;,.lllllllll |
.''. ..'',lllllllll. |
clllllll: |
:lll; |
---------------------------------------------------------------+
```
## Замер плюсов и минусов
Плюсы:
* полная анонимность федерации (без разницы где оно будет находится)
* не нужен https (шифрование на транспортном уровне уже есть)
* независимость от DNS (по возможности без красивых доменов, чтобы не наводить сложности server side, base32 домены)
* каждый сможет поднять инстанс даже на своей домашней машине не имея статического IP и домена в клирнете
* более гиковское сообщество без возможности резкого наплыва
* участие в сети I2P и соответственно её ускорение и повышение устойчивости со связностью
* пока Fediblock не существует в I2P глобально
Минусы:
* мало кто станет использовать хэндлы вида @user@aaaaaaaaaaaкакмногабукавбубубуlksamdlfmfkjiewjflksxmd.b32.i2p (может стать причиной спама длинными упоминаниями)
* федерироваться нужно только внутри i2p, чтобы не наводить сложности смешивая с клирнетом
* федерация не будет работать пока i2p-роутер не пробудет в сети достаточно долго, чтобы собрать рисунок сети больших масштабов
* Довольно большое потребление оперативной памяти (в будущем), что не подойдёт для хостинга на одноплатнике
* скорее всего это не будет работать с многим уже существующим ПО Федивёрса, могут вылезти странные баги
* большие медиа аттачи не рекомендуются (опционально, кто-то ведь даже видео гоняет по i2p)
* неизвестные последствия при росте такой федерации
* очень шумная и трафико-нагрузочная сеть, при отдаче полной скорости канала в i2p
* I2P сообщество уже и так общается через ирку например и форумы, вряд ли им понравится AP реализация over i2p добавляющая только головную боль. Чем проще - тем лучше
* богатые возможности для троллинга и спама - нет сдерживающих факторов как оформление домена, покупка сервера и прочие этапы добавляющие финансовые сложности
Минусов довольно много, скорее всего инициатива будет мало полезна. Не рекомендуется к применению, проще всего реализовать в рамках yggdrasil туннеля (практически как в обычном клирнете).
## Техническая составляющая (относительно простыми словами)
### base32 или ааааааааапроститео_будут_такие_адреса_вместоормальныхоменовsaldm.b32.i2p или DNS как заноза в одном месте
Так как будем опираться на base32 (ну или если точнее хэши от них) домены, то наличие конкретного адреса в адресной книжке не обязательно, однако можно в принципе сделать какой-то "центр" регистрации доменов для Феди I2P по аналогии с reg.i2p и им подобным, но это уже выходит какой-то DNS. Это если ещё не учесть конфликты, если кто-то решит вести несколько таких "центров" выдачи, будем иметь разные книги на разных хостах - всё поломается скорее всего.
В base32 доменах есть преимущество, если сервер A реквестирует какой-то домен такого вида, то он будет его тут же запрашивать у i2pd роутера, а тот будет опрашивать других, так скажем естественный процесс без вмешательств обёрток красивых DNS и адресных книг (аналог hosts), представьте федерацию на уровне IP адресов, тут примерно так же, но здесь будут использоваться эти псевдо-домены. Да, конечно некрасиво и не удобно, иметь хэндлы с овер большим доменом, но зато меньше думать о проблеме вида "вот у меня этот домен резолвится и всё работает", а у другого "у меня ничего не работает, this address not found in address book".
У федеративных сетей и так есть проблемы и в обычном Интернете без оверлеев, что уж говорить, о попытке завернуть их в оверлей.
В прочем, с base32 доменами могут возникнуть проблемы, когда I2P-роутер только-только появился в сети, он ещё "не разжился" известными роутерами другими, а значит его нужно держать в онлайне какое-то время, чтобы успешно подключаться к другим инстансам. Ну, день например вы просто включаете его и бродите по разным сайтами (чтобы увеличить эффективность), ну и должен быть стабильный коннект, а со статическим IP без NAT (например на VPS) вы сможете расширить рисунок сети I2P-роутера буквально за часов 10 при скорости в 256 KBps с включенным транзитом. А потом можете уже поднимать инстанс. Как альтернативу ожиданию, можно ещё обмениваться папками NetDb друг с другом, но это не очень безопасно, лучше дать роутеру найти свежие самому.
### Привязки ключей от инстанса к псевдо-домену
Тут не должно возникнуть сложностей, по крайней мере, до тех пор, пока не потеряете ключ от туннеля, иначе вам придётся пересоздать и туннель и инстанс, начав с нового листа (аналогично ситуации с обычным Интернетом, когда нужно переехать с домена на домен)
### Совместимость ПО
При желании можно прокинуть любой федеративный движок в i2p, но как минимум движок не должен требовать https шифрования, а значит придётся менять код. Клиенты должны поддерживать http прокси, иначе - строить клиентские туннели до инстанса. В Pleroma есть поддержка I2P (не нативно, а через fedproxy) и даже есть инструкция по поднятию (не без нюансов конечно)
2023-08-09 19:37:22 +00:00
[I2P Federation and Accessability](https://docs-develop.pleroma.social/backend/configuration/i2p/)
2023-08-09 19:43:56 +00:00
[Копия](../../any/copies-texts/pleroma_I2P_Federation_and_Accessability.md)
2023-08-08 11:15:17 +00:00
При необходимости, можно заставить парсить заголовок "X-I2P-DestB32", для корректного определения входящих запросов на федерацию
### Что сейчас есть
В I2P я ещё не встречал инстансы, которые именно работают по i2p, в большинстве случаев это просто прокси веб-интерфейса из клирнета в i2p, вот некоторые из них:
2023-08-09 19:37:22 +00:00
http://fedi.vern.i2p Mastodon Vern
http://mastodon.chudo.i2p/ Mastodon Chudo
http://bloat.clubcyberia.i2p Bloat-FE (не инстанс)
http://diasporg.i2p/ Diaspora* (федерируется только с собой)
2023-08-08 11:15:17 +00:00
Это неплохо, но годится разве что, для того чтобы обойти блокировки, ну или анонимно полистать ленту (хотя, я не уверен, что с включенным JS это хорошая идея, но API должно работать). Так же такой вариант не позволяет общаться с инстансами, которые расположены внутри i2p (если когда-нибудь вообще будут)
UPD: 21-04-2023 23:53 UTC+0