# Інтеграція мережі Mycelium з роутером i2pd

Поки створено ініціальне правило фільтрації в рамках PR#2245:
=> https://github.com/PurpleI2P/i2pd/pull/2245

Чи доведу почате до кінця - не знаю, але до відома, така ініціатива реалізується в гілці:
=> https://github.com/YGGverse/i2pd/tree/mycelium

UPD. експериментально поколупавшись (https://github.com/YGGverse/i2pd/pull/1) в реалізації транспорту, прийшов до висновку, що варто або створити окремий реєстр `eNTCP2V6MeshIdx` або перейменувати самі опції конфігу з `ygg` на щось типу `mesh` щоб воно відповідало логіці.

Наразі, кому потрібна підтримка Mycelium тут і зараз - простіше додати умову:
=> https://github.com/PurpleI2P/i2pd/pull/2245/commits/b079fb63c759a27ef090ad759a102d1b108f5650 "OR"

або замінити нею поточну (якщо потрібен моно режим) прямо в метод `IsYggdrasilAddress` що у файлі `libi2pd/util.cpp`:

``` libi2pd/util.cpp
static bool IsYggdrasilAddress (const uint8_t addr[16])
{
	return addr[0] == 0x02 || addr[0] == 0x03 ||
		addr[0] == 0x04 || addr[0] == 0x05; // 0400::/7
}
```

і відповідно додати в конфіг ресіди Міцелію. Інакше тут потрібен невеличкий рефакторинг / інтерес до розширення такої функціональності з боку майнтейнерів i2pd.

UPD 2. все-таки рішення вище не спрацює для двох мереж одночасно бо хоч-не-хоч а треба щоб роутер з'єднував тільки релевантні сімейства адрес. Отже, треба пиляти...

## Читайте також

=> mycelium-network-reseed-for-i2p.gmi Ресід I2P для Mycelium
=> pyseeder-i2p-ecosystem-support-with-yggdrasil.gmi Pyseeder: підтримка екосистеми I2P в мережі Yggdrasil