Standard-Scope-Region in MeshCore ab v1.15.0
MeshCore Blog von scottpowell

Standard-Scope-Region in MeshCore ab v1.15.0

Hinweis: Falls du mit Regionen und Scopes noch nicht vertraut bist, lies zuerst den vorherigen Blogpost.

Seit dem Firmware-Release v1.12.0 ist es möglich, Gruppen-Channel-Nachrichten mit einem Scope zu versehen. Dennoch gibt es nach wie vor einige Hürden, um Regionen effektiv zu nutzen – insbesondere für Meshes wie in Deutschland, die versuchen, ungescopten Traffic zu deaktivieren (z. B. region denyf *).

Im nächsten Release (v1.15.0) wird es ein neues Konzept namens „Default Scope" geben – sowohl für Companion Nodes als auch für Repeater und Room Server. Damit wird es möglich sein, gescopte DM-Nachrichten, Login-Anfragen, Stats-Requests usw. zu versenden – auch in einem Mesh, das ungescopten Flood-Traffic deaktiviert hat.

Mobile App

Die MeshCore-App ab Version 1.43.0 erhält eine neue Einstellung im Bereich Experimentelle Einstellungen. Dort kann der Name der Standard-Scope-Region festgelegt werden.

app default scope

Wenn diese Einstellung aktiv ist, werden alle Flood-Pakete, die der Companion sendet (z. B. Adverts, DMs, Logins oder Anfragen bei unbekanntem Pfad), mit dieser Region als Scope versehen.

Der Gruppen-Channel-Scope überschreibt, sofern gesetzt, den Default Scope. Es ist also weiterhin möglich, für einzelne Channels einen (typischerweise kleineren) Regions-Scope zu verwenden.

Repeater und Room Server – Administration

Ab v1.15.0 gibt es einen neuen CLI-Befehl:

CLI
region default {name | <null>}

Damit wird die angegebene Region als Default Scope gesetzt – oder mit wieder gelöscht. Die Region wird automatisch angelegt, falls sie noch nicht in der Regionsliste vorhanden ist. Außerdem wird automatisch ein implizites region save durchgeführt!

Der Default Scope wird nur auf Pakete angewendet, die vom Repeater bzw. Room Server selbst stammen. Beim Repeater betrifft das also ausschließlich Adverts; beim Room Server sowohl Adverts als auch Room-Posts.

Logins, Anfragen, Befehle und Antworten

Ab v1.15.0 gilt für Antworten eine neue Regel. Diese stammen zwar vom Repeater bzw. Room Server, folgen aber dieser Logik:

  • Wenn der Scope des Anfrage-Pakets aufgelöst werden kann (d. h. die Region ist in der Liste vorhanden), wird derselbe Scope für die Antwort verwendet.
  • Andernfalls wird die Antwort ungescopted gesendet.
Das gilt auch für den Fall, dass eine ungescopte Anfrage eine ungescopte Antwort erhält.

Vorerst ist das die sicherere Variante, anstatt Antworten standardmäßig auf den Default Scope fallen zu lassen. In dieser Übergangsphase gibt es zu viele Möglichkeiten, sich als Repeater-Admin selbst auszusperren!

Extra: Neuer Standard für put

Der CLI-Befehl region put ... setzt eine neue Region ab sofort standardmäßig auf allow für Flood. Ein zusätzliches region allowf ... ist damit nicht mehr erforderlich.

Standalone-Geräte

Für Geräte mit Ripple-GUI-Unterstützung, wie das T-Deck, wird das nächste Release (v9.6) Default-Scope-Unterstützung mitbringen. Im Regions-Screen einfach eine normale Region (oder *) auswählen und im Detailscreen das Menü öffnen:

region details default scope

*(Falls nötig, kann im Haupt-Regions-Screen eine neue Region für den Default Scope angelegt werden.)*

Im Regions-Listenscreen wird die aktuell als Default Scope gesetzte Region mit einem (S) gekennzeichnet:

region list default

FAQ

F: Was sollte ich als Repeater-Admin als Default Scope einstellen?

In der Regel eine große Region, z. B. die eigene Stadt – oder jene Region, auf die Adverts beschränkt werden sollen.

F: Was sollte ich als App- bzw. Chat-Nutzer als Default Scope einstellen?

Eine große Region, die sowohl dich selbst als auch deine Kontakte, denen du DMs schicken möchtest, sicher abdeckt. Sowohl deine Nachrichten als auch die zurückkommenden ACKs werden auf diese Region gescopted.

F: Ich verwalte regionale MeshCore-Firmware-Builds mit optimalen Standardwerten für die jeweilige Region. Kann ich eine eigene Standard-Region in meinen Builds hinterlegen?

Ja. In den entsprechenden .ini-Dateien einfach folgendes zu den build_flags hinzufügen:

CLI
-D DEFAULT_FLOOD_SCOPE_NAME='"name"'

(Den gewünschten Namen in einfachen Anführungszeichen innerhalb der doppelten angeben.)

Original auf blog.meshcore.io →