mirror of
https://github.com/jkingsman/Remote-Terminal-for-MeshCore.git
synced 2026-08-09 10:13:02 +02:00
Extract pubkey from anonreq
This commit is contained in:
-1
File diff suppressed because one or more lines are too long
+20
-20
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -13,7 +13,7 @@
|
|||||||
<link rel="shortcut icon" href="/favicon.ico" />
|
<link rel="shortcut icon" href="/favicon.ico" />
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
|
||||||
<link rel="manifest" href="/site.webmanifest" />
|
<link rel="manifest" href="/site.webmanifest" />
|
||||||
<script type="module" crossorigin src="/assets/index-CQVFPi-8.js"></script>
|
<script type="module" crossorigin src="/assets/index-DqomNUfE.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index-Bg6UtK9Z.css">
|
<link rel="stylesheet" crossorigin href="/assets/index-Bg6UtK9Z.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ interface ParsedPacket {
|
|||||||
dstHash: string | null;
|
dstHash: string | null;
|
||||||
advertPubkey: string | null;
|
advertPubkey: string | null;
|
||||||
groupTextSender: string | null;
|
groupTextSender: string | null;
|
||||||
|
anonRequestPubkey: string | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// =============================================================================
|
// =============================================================================
|
||||||
@@ -154,6 +155,7 @@ function parsePacket(hexData: string): ParsedPacket | null {
|
|||||||
dstHash: null,
|
dstHash: null,
|
||||||
advertPubkey: null,
|
advertPubkey: null,
|
||||||
groupTextSender: null,
|
groupTextSender: null,
|
||||||
|
anonRequestPubkey: null,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (decoded.payloadType === PayloadType.TextMessage && decoded.payload.decoded) {
|
if (decoded.payloadType === PayloadType.TextMessage && decoded.payload.decoded) {
|
||||||
@@ -165,6 +167,9 @@ function parsePacket(hexData: string): ParsedPacket | null {
|
|||||||
} else if (decoded.payloadType === PayloadType.GroupText && decoded.payload.decoded) {
|
} else if (decoded.payloadType === PayloadType.GroupText && decoded.payload.decoded) {
|
||||||
const payload = decoded.payload.decoded as { decrypted?: { sender?: string } };
|
const payload = decoded.payload.decoded as { decrypted?: { sender?: string } };
|
||||||
result.groupTextSender = payload.decrypted?.sender || null;
|
result.groupTextSender = payload.decrypted?.sender || null;
|
||||||
|
} else if (decoded.payloadType === PayloadType.AnonRequest && decoded.payload.decoded) {
|
||||||
|
const payload = decoded.payload.decoded as { senderPublicKey?: string };
|
||||||
|
result.anonRequestPubkey = payload.senderPublicKey || null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@@ -186,6 +191,7 @@ function getPacketLabel(payloadType: number): PacketLabel {
|
|||||||
case PayloadType.Trace:
|
case PayloadType.Trace:
|
||||||
return 'TR';
|
return 'TR';
|
||||||
case PayloadType.Request:
|
case PayloadType.Request:
|
||||||
|
case PayloadType.AnonRequest:
|
||||||
return 'RQ';
|
return 'RQ';
|
||||||
case PayloadType.Response:
|
case PayloadType.Response:
|
||||||
return 'RS';
|
return 'RS';
|
||||||
@@ -208,6 +214,9 @@ function generatePacketKey(parsed: ParsedPacket, rawPacket: RawPacket): string {
|
|||||||
if (parsed.payloadType === PayloadType.TextMessage) {
|
if (parsed.payloadType === PayloadType.TextMessage) {
|
||||||
return `dm:${parsed.srcHash || '?'}:${parsed.dstHash || '?'}:${contentHash}`;
|
return `dm:${parsed.srcHash || '?'}:${parsed.dstHash || '?'}:${contentHash}`;
|
||||||
}
|
}
|
||||||
|
if (parsed.payloadType === PayloadType.AnonRequest && parsed.anonRequestPubkey) {
|
||||||
|
return `rq:${parsed.anonRequestPubkey.slice(0, 12)}:${contentHash}`;
|
||||||
|
}
|
||||||
return `other:${contentHash}`;
|
return `other:${contentHash}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -570,6 +579,14 @@ function useVisualizerData({
|
|||||||
if (parsed.payloadType === PayloadType.Advert && parsed.advertPubkey) {
|
if (parsed.payloadType === PayloadType.Advert && parsed.advertPubkey) {
|
||||||
const nodeId = resolveNode({ type: 'pubkey', value: parsed.advertPubkey }, false, false);
|
const nodeId = resolveNode({ type: 'pubkey', value: parsed.advertPubkey }, false, false);
|
||||||
if (nodeId) path.push(nodeId);
|
if (nodeId) path.push(nodeId);
|
||||||
|
} else if (parsed.payloadType === PayloadType.AnonRequest && parsed.anonRequestPubkey) {
|
||||||
|
// AnonRequest packets contain the full sender public key
|
||||||
|
const nodeId = resolveNode(
|
||||||
|
{ type: 'pubkey', value: parsed.anonRequestPubkey },
|
||||||
|
false,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
if (nodeId) path.push(nodeId);
|
||||||
} else if (parsed.payloadType === PayloadType.TextMessage && parsed.srcHash) {
|
} else if (parsed.payloadType === PayloadType.TextMessage && parsed.srcHash) {
|
||||||
if (myPrefix && parsed.srcHash.toLowerCase() === myPrefix) {
|
if (myPrefix && parsed.srcHash.toLowerCase() === myPrefix) {
|
||||||
path.push('self');
|
path.push('self');
|
||||||
|
|||||||
Reference in New Issue
Block a user