Regiony
Popis
Regiony si lze představit jako vlan tagy - označím paket tagem a repeatery, které ten tag znají předají paket dál. Repeatery, které tag neznají zprávu nepředají.
Na lokálních repeatetech nastavuji cz, cz-olk, cz-pak (chci předávat cz,
olomoucký a pardubický kraj). Pak přidávám bouzovsko pro místní komunikaci.
Na repeaterech také nechávám zapnuto předávání paketů „bez nastaveného
regionu“, tag je *.
Repeater může být nastaven tak aby explicitně předával nebo explicitně
zahazoval zprávy bez region tagu a k tomu mohou být na repeateru nastaveny tagy
regionů, které má repeater předávat. Repeater ale nelze nastavit tak aby
předával všechny regiony, i ty, které nezná. Tag * znamená “bez regionu”, ne
“libovolný region”.
V appce/companionu lze nastavit region default, potom všechna flood
komunikace z companionu je označena tímto tagem. Já to ale nastavuji pouze
přímo na kanálech dle potřeby, např. pro lokální komunikaci nastavuji region na
bouzovsko.
Regiony a jejich nastavení se týkají pouze flood provozu. Lidem, se kterými si píši „definovanou cestou“ (hops), těm je to jedno a zpráva jim dojde regiony-neregiony, pokud je cesta funkční.
V okamžiku, kdy pošlu zprávu s nastaveným regionem a po cestě jsou repeatery,
které sice podporují * (bez regionu), ale nepodporují region na mé zprávě,
tak zpráva nedorazí.
Na repeateru lze nastavit region default, např. region default cz. To je
stejné jako region default na companionu - všechny flood pakety, které repeater
(room server) generuje, mají nastaven default region, např. cz.
Na repeateru lze nastavit i region home, nicméně tato volba nic nedělá.
Repeater v žádném případě nemodifikuje procházející data, například rozhodně neaplikuje region na zprávy, které region nastaven nemají.
Nastavení regionů umožňuje hierarchické seskupení, nicméně rodičovská hierarchie slouží hlavně k přehlednému uspořádání seznamu, například stát → kraj → oblast. Sama o sobě ale nezpůsobuje dědění oprávnění ani předávání provozu.
Takže třeba na horách, když chci zjistit, zda je někdo kolem na „direct“, tak
nastavím region na local (nebo jakoukoliv jinou věc, kterou vím, že nikdo
nemá), a píšu do #Public. Stejné pokud bude skupina spolu na výletě a vidí se
direct - nastaví si nějaký svůj region (třeba tabor) a pak si píší buď na
Publiku, nebo ve svém kanále a mesh je nezajímá. Pokud si nesou/postaví vlastní
repeater, nastaví si na něm ten svůj region tabor. Jejich komunikace je pouze
v rámci jejich zařízení (companions, repeater), mesh to nijak nezatěžuje.
Zároveň, pokud nastaví předávání zpráv bez regionu * nebo povolí i další
regiony, tak mesh rozšířili.
Nastavení
Příklad: vytvoření regionů pro Česko a Ústecký kraj:
Přidat region
Region se přidává do seznamu repeateru příkazem:
Rodič je nepovinný; bez něj se region přidá pod kořen *. Název musí být
přesný, nejvýše 29 bajtů, malými písmeny a číslicemi, případně s pomlčkou.
V rámci jedné mesh sítě musí být názvy jedinečné. Regiony jsou hierarchické:
například opakovač může mít povolený kraj i jeho podregion.
Příklad: přidání regionu cz-ulk pod cz:
Povolit region
V CLI není samostatné přepínání „znám tento region“. Opakovač může předávat
regionovaný provoz jen tehdy, když má daný region ve svém seznamu a dovoluje
pro něj flood. Přidání regionu proto proveďte pomocí region put; samotné
povolení předávání je popsáno níže v části „Povolit flood“.
Příklad: vytvoření regionu a povolení jeho flood provozu. Na firmwaru před
verzí 1.15.0 je příkaz region allowf nutný i po region put.
Zakázat region
Chcete-li region ponechat v seznamu, ale zakázat předávání jeho flood paketů, zadejte:
Region zůstane definovaný, ale repeater jej nebude předávat jako flood.
Povolení zpět provedete příkazem region allowf <název> a změnu uložíte
příkazem region save. Toto nastavení nemění průchod zpráv známou
definovanou cestou.
Příklad: zakázání flood provozu pro cz-ulk:
Pokud chcete region z konfigurace úplně odstranit, použijte region remove <název> a poté region save. Nejdřív je potřeba odstranit všechny jeho
podregiony.
Příklad: úplné odebrání regionu cz-ulk:
Povolit flood
Povolení předávání flood paketů pro konkrétní region:
Příkaz platí jen pro flood provoz; nemění průchod zpráv posílaných známou
definovanou cestou. Před změnami si lze stav ověřit příkazem region get <název> nebo zobrazit seznam příkazem region list allowed (firmware 1.12.0
a novější).
Příklad: povolení flood provozu pro cz-ulk:
Zakázat flood
Pro * tím zakážete flood paketům bez regionového označení (starému,
neoznačenému provozu) pokračovat přes opakovač. * neznamená „všechny
regiony“; označuje paket bez regionu. Vypnutí * zatím dobře zvažte, protože
část sítě může stále posílat neoznačené pakety.
Příklad: zablokování flood paketů bez scope:
Výchozí scope
Od firmwaru 1.15.0 lze nastavit výchozí region příkazem region default <název>; region default <null> nastavení zruší. U companionu se výchozí
scope nastavuje v experimentálním nastavení aplikace. Použije se na jeho flood
pakety, pokud konkrétní skupinový kanál nemá nastavený vlastní scope; scope
kanálu má přednost.
Výchozí scope opakovače se týká pouze paketů, které vytváří sám opakovač (například jeho advertů), nikoli paketů, které pouze přeposílá. Odpověď na požadavek použije jeho scope, pokud jej opakovač zná; jinak odešle odpověď bez scope. Pro běžnou konfiguraci se doporučuje nastavit dostatečně široký region, který pokrývá zamýšlenou oblast.
Seznam známých regionů v CZ MeshCore
-
cz
Public
-
cz-pha
Praha
-
cz-stc
Středočeský kraj
-
cz-jhc
Jihočeský kraj
-
cz-plz
Plzeňský kraj
-
cz-kvk
Karlovarský kraj
- cz-ulk
-
cz-lbk
Liberecký kraj
-
cz-hkk
Královéhradecký kraj
-
cz-pak
Pardubický kraj
-
cz-vys
Kraj Vysočina
-
cz-jmk
Jihomoravský kraj
-
cz-olk
Olomoucký kraj
-
cz-zlk
Zlínský kraj
-
cz-msk
Moravskoslezský kraj
-
bouzovsko
Bouzovská oblastOblastní region
Zajímavé odkazy
Meshcore CZ:
Meshcore IO:
- https://blog.meshcore.io/2026/04/17/default-scope
- https://blog.meshcore.io/2026/01/20/region-filtering