mirror of
https://codeberg.org/postscriptum/gemlog.git
synced 2026-02-19 06:22:41 +00:00
add install-mycelium-network-router-in-linux.gmi
This commit is contained in:
parent
7ae5960b5e
commit
6c519e12ec
2 changed files with 109 additions and 0 deletions
|
|
@ -9,6 +9,7 @@
|
||||||
|
|
||||||
### Нотатки
|
### Нотатки
|
||||||
|
|
||||||
|
=> install-mycelium-network-router-in-linux.gmi 2025-09-16 Встановлення роутера мережі Mycelium в Linux
|
||||||
=> restoration-of-ukrainian-web-archives.gmi 2025-09-14 Реставрація українських Веб-архівів
|
=> restoration-of-ukrainian-web-archives.gmi 2025-09-14 Реставрація українських Веб-архівів
|
||||||
=> change-transmission-peer-id-user-agent.gmi 2025-09-13 Зміна PeerID / User-agent в Transmission
|
=> change-transmission-peer-id-user-agent.gmi 2025-09-13 Зміна PeerID / User-agent в Transmission
|
||||||
=> peers-geo-location-for-transmission-gtk.gmi 2025-09-12 Гео-локація пірів для BitTorrent клієнта Transmission / GTK
|
=> peers-geo-location-for-transmission-gtk.gmi 2025-09-12 Гео-локація пірів для BitTorrent клієнта Transmission / GTK
|
||||||
|
|
|
||||||
108
public/uk/install-mycelium-network-router-in-linux.gmi
Normal file
108
public/uk/install-mycelium-network-router-in-linux.gmi
Normal file
|
|
@ -0,0 +1,108 @@
|
||||||
|
# Встановлення роутера мережі Mycelium в Linux
|
||||||
|
|
||||||
|
Коротка інструкція по встановленню оверлейної мережі Mycelium в Linux, оскільки навіть з моїми скілами, вона видалась дещо заплутаною, через безлад в репозиторії та відсутність доків.
|
||||||
|
|
||||||
|
По суті, Mycelium нічим особливим від Yggdrasil не відрізняється, окрім іншої моделі маршрутизації та реалізації роутера мовою Rust. Також, відомою мені характерною рисою цієї мережі - є наявність traceroute.
|
||||||
|
|
||||||
|
Варто зауважити, що проєкт в стадії розробки, користуйтесь на власний ризик!
|
||||||
|
|
||||||
|
## Встановлення
|
||||||
|
|
||||||
|
Якщо в системі ще не встановлено інфраструктуру Rust/Cargo, то вам сюди:
|
||||||
|
|
||||||
|
=> https://rustup.rs
|
||||||
|
|
||||||
|
або
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Далі клонуємо та збираємо пакунок з репозиторію:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
https://github.com/threefoldtech/mycelium.git
|
||||||
|
cd mycelium/myceliumd
|
||||||
|
cargo build --release
|
||||||
|
sudo install target/release/mycelium /usr/local/bin/mycelium
|
||||||
|
```
|
||||||
|
|
||||||
|
можливо потрібно буде довстановити:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
apt install build-essential pkg-config libssl-dev
|
||||||
|
```
|
||||||
|
|
||||||
|
### systemd
|
||||||
|
|
||||||
|
``` /etc/systemd/system/mycelium.service
|
||||||
|
#/etc/systemd/system/mycelium.service
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Wants=network.target
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ProtectHome=true
|
||||||
|
ProtectSystem=true
|
||||||
|
SyslogIdentifier=mycelium
|
||||||
|
CapabilityBoundingSet=CAP_NET_ADMIN
|
||||||
|
|
||||||
|
ExecStartPre=+-/sbin/modprobe tun
|
||||||
|
ExecStart=/usr/local/bin/mycelium -k /etc/mycelium.bin --peers tcp://xxx.xx.xxx.x:xxxx
|
||||||
|
|
||||||
|
# Адреси підмереж
|
||||||
|
#ExecStartPost=/bin/sleep 5s
|
||||||
|
#ExecStartPost=/bin/ip address add xxx:xxxx:xxxx:xxxx::x1/64 dev mycelium
|
||||||
|
#ExecStartPost=/bin/ip address add xxx:xxxx:xxxx:xxxx::x2/64 dev mycelium
|
||||||
|
|
||||||
|
#Restart=always
|
||||||
|
#RestartSec=5
|
||||||
|
|
||||||
|
TimeoutStopSec=5
|
||||||
|
|
||||||
|
# mkdir /var/log/mycelium
|
||||||
|
StandardOutput=file:/var/log/mycelium/debug.log
|
||||||
|
StandardError=file:/var/log/mycelium/error.log
|
||||||
|
```
|
||||||
|
* `/etc/mycelium.bin` - це приватний ключ, він створюється автоматично при першому запуску
|
||||||
|
* якщо журнали не потрібні - додайте до `exec` опцію ` --silent`
|
||||||
|
|
||||||
|
## Налаштування
|
||||||
|
|
||||||
|
Фаєрволи обслуговуються так само, як і у випадку Yggdrasil, тільки діапазон тут - 0400::/7
|
||||||
|
|
||||||
|
Для Alfis DNS існує окремий патч PR#386, який теоретично вміє сікти все окрім Yggdrasil або Mycelium, але в мене там є деякі питання як і до іншого пірингового софту, які поки що не перевіряв.
|
||||||
|
|
||||||
|
### PAC
|
||||||
|
|
||||||
|
Мій файл конфігурації для окремого браузеру виглядає якось так:
|
||||||
|
|
||||||
|
``` config.pac
|
||||||
|
function FindProxyForURL(url, host)
|
||||||
|
{
|
||||||
|
if (/^0{0,1}[2-3][a-f0-9]{0,2}:/.test(host) || /\.ygg$/.test(host))
|
||||||
|
{
|
||||||
|
return 'DIRECT';
|
||||||
|
}
|
||||||
|
if (/^0{0,1}[4-5][a-f0-9]{0,2}:/.test(host))
|
||||||
|
{
|
||||||
|
return 'DIRECT';
|
||||||
|
}
|
||||||
|
return 'PROXY 127.0.0.1:123';
|
||||||
|
}
|
||||||
|
```
|
||||||
|
* тобто обслуговуються конекти Yggdrasil та Mycelium, а все інше йде на фіктивний проксі
|
||||||
|
* детальніше про PAC читайте за посиланнями нижче
|
||||||
|
|
||||||
|
## Посилання
|
||||||
|
|
||||||
|
=> https://github.com/threefoldtech/mycelium Проєкт Mycelium на GitHub
|
||||||
|
=> https://github.com/YGGverse/Alfis/tree/mycelium-network-mode Модифікація резольвера Alfis DNS з підтримкою діапазону Mycelium
|
||||||
|
=> https://devzone.org.ua/post/vstanovlennia-routera-merezi-mycelium-v-linux Веб-версія цього матеріалу з коментарями на DevZone
|
||||||
|
|
||||||
|
### Читайте також
|
||||||
|
|
||||||
|
=> yggdrasil-is-network-with-distributed-routing.gmi Yggdrasil - мережа з децентралізованою маршрутизацією
|
||||||
|
=> alfis-dns-domain-registration-in-blockchain.gmi Alfis DNS - реєстрація домену в блокчейн
|
||||||
|
=> safe-yggdrasil-websites-browsing-with-yggstack.gmi Безпечний перегляд сайтів Yggdrasil з Yggstack
|
||||||
Loading…
Add table
Add a link
Reference in a new issue