mirror of
https://git.phreedom.club/localhost_frssoft/frssoft-site
synced 2024-11-24 14:41:29 +00:00
88 lines
12 KiB
Markdown
88 lines
12 KiB
Markdown
# Инициатива по федерации через 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) и даже есть инструкция по поднятию (не без нюансов конечно)
|
||
[I2P Federation and Accessability](https://docs-develop.pleroma.social/backend/configuration/i2p/)
|
||
[Копия](../../any/copies-texts/pleroma_I2P_Federation_and_Accessability.md)
|
||
|
||
При необходимости, можно заставить парсить заголовок "X-I2P-DestB32", для корректного определения входящих запросов на федерацию
|
||
|
||
### Что сейчас есть
|
||
В I2P я ещё не встречал инстансы, которые именно работают по i2p, в большинстве случаев это просто прокси веб-интерфейса из клирнета в i2p, вот некоторые из них:
|
||
http://fedi.vern.i2p Mastodon Vern
|
||
http://mastodon.chudo.i2p/ Mastodon Chudo
|
||
http://bloat.clubcyberia.i2p Bloat-FE (не инстанс)
|
||
http://diasporg.i2p/ Diaspora* (федерируется только с собой)
|
||
Это неплохо, но годится разве что, для того чтобы обойти блокировки, ну или анонимно полистать ленту (хотя, я не уверен, что с включенным JS это хорошая идея, но API должно работать). Так же такой вариант не позволяет общаться с инстансами, которые расположены внутри i2p (если когда-нибудь вообще будут)
|
||
|
||
UPD: 21-04-2023 23:53 UTC+0
|