# Инициатива по федерации через 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) и даже есть инструкция по поднятию (не без нюансов конечно) => https://docs-develop.pleroma.social/backend/configuration/i2p/ I2P Federation and Accessability => ../misc/external_articles/pleroma_I2P_Federation_and_Accessability.gmi (gemini copy) При необходимости, можно заставить парсить заголовок "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