Mapping service for yggdrasil network.
Rewritten from zero on fastapi&pydantic&asyncio, because old version had too much pain in ass to maintain.
Shows paths between nodes
Shows which node have which node in peers.
You should enable undocumented option in your yggdrasil config: LogLookups: true
poetry install
poetry run uvicorn app:app
Indended to use with flakes.
It will tweak yggdrasil to log lookups automatically.
{
inputs = {
ygg-map = {
url = "github:rubikoid/yggdrasil-map-ng";
inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, nixpkgs, ygg-map, ... } @ inputs: {
nixosConfigurations.hostname = nixpkgs.lib.nixosSystem {
modules = [
inputs.ygg-map.nixosModules.default
{
ygg-map = {
enable = true;
openFirewall = true;
};
}
]
}
}
}
}
Options passed through environment vars.
refresh_seconds = 60 * 2
- timeout in seconds between map refresh.socket = None
- path oraddr:port
to yggdrasil socket. Anyway it will find socket in few well-known places.workers = 6
- number of workers to crawl map info. Big map craws fast with 64 workers. For small maps, 2-8 is enough.reload_bad = True
- enables (slow) attempt to crawl node info second time. Disable on big maps.
This was written for small (<100 hosts) isolated ygg subnet, which is not connected to big (>5000 hosts) mainline network.
Despite the fact that crawler can fetch network info for mainline net in reasonable time, current frontend unable to display this graph (sorry im backend monke).
So help with better displaying graph on frontend will be appreciated.