From be45c8b418eafc9c2cf08a9b01dd53cac1373ba2 Mon Sep 17 00:00:00 2001 From: Tilen Komel Date: Sun, 18 Aug 2024 07:54:29 +0200 Subject: [PATCH] Fixed traceroute --- mqtt/src/messages/traceroute.ts | 79 +++++++++++++++------------------ 1 file changed, 35 insertions(+), 44 deletions(-) diff --git a/mqtt/src/messages/traceroute.ts b/mqtt/src/messages/traceroute.ts index 0f422cf..49e1a1b 100644 --- a/mqtt/src/messages/traceroute.ts +++ b/mqtt/src/messages/traceroute.ts @@ -1,8 +1,8 @@ import { - type MeshPacket, - type Data, - RouteDiscoverySchema, - type RouteDiscovery, + type MeshPacket, + type Data, + RouteDiscoverySchema, + type RouteDiscovery, } from "@buf/meshtastic_protobufs.bufbuild_es/meshtastic/mesh_pb.js"; import type { ServiceEnvelope } from "@buf/meshtastic_protobufs.bufbuild_es/meshtastic/mqtt_pb.js"; import { fromBinary } from "@bufbuild/protobuf"; @@ -11,48 +11,39 @@ import { COLLECT_TRACEROUTE, LOG_KNOWN_PACKET_TYPES } from "../settings.js"; import { extractMetaData } from "../tools/decrypt.js"; export async function handleTraceroute( - envelope: ServiceEnvelope, - packet: MeshPacket, - payload: Data + envelope: ServiceEnvelope, + packet: MeshPacket, + payload: Data ): Promise { - try { - const traceroute: RouteDiscovery = fromBinary( - RouteDiscoverySchema, - payload.payload - ); + try { + const traceroute: RouteDiscovery = fromBinary(RouteDiscoverySchema, payload.payload); - const { envelopeMeta, packetMeta, payloadMeta } = extractMetaData( - envelope, - packet, - payload - ); + const { envelopeMeta, packetMeta, payloadMeta } = extractMetaData(envelope, packet, payload); - if (LOG_KNOWN_PACKET_TYPES) { - console.log("TRACEROUTE_APP", { - envelopeMeta: envelopeMeta, - packetMeta: packetMeta, - payloadMeta: payloadMeta, - traceroute: traceroute, - }); - } + if (LOG_KNOWN_PACKET_TYPES) { + console.log("TRACEROUTE_APP", { + envelopeMeta: envelopeMeta, + packetMeta: packetMeta, + payloadMeta: payloadMeta, + traceroute: traceroute, + }); + } - if (COLLECT_TRACEROUTE) { - await prisma.traceRoute.create({ - data: { - to: packet.to, - from: packet.from, - want_response: packet.wantAck, - route: traceroute.route, - channel: packet.channel, - packet_id: packet.id, - channel_id: envelope.channelId, - gateway_id: envelope.gatewayId - ? BigInt(`0x ${envelope.gatewayId.replaceAll("!", "")}`) - : null, // convert hex id "!f96a92f0" to bigint - }, - }); - } - } catch (err) { - console.error(err); - } + if (COLLECT_TRACEROUTE) { + await prisma.traceRoute.create({ + data: { + to: packet.to, + from: packet.from, + want_response: packet.wantAck, + route: traceroute.route, + channel: packet.channel, + packet_id: packet.id, + channel_id: envelope.channelId, + gateway_id: envelope.gatewayId ? BigInt(`0x${envelope.gatewayId.replaceAll("!", "")}`) : null, // convert hex id "!f96a92f0" to bigint + }, + }); + } + } catch (err) { + console.error(err); + } }