forked from iarv/Remote-Terminal-for-MeshCore
Extract pubkey from anonreq
This commit is contained in:
1
frontend/dist/assets/index-CQVFPi-8.js.map
vendored
1
frontend/dist/assets/index-CQVFPi-8.js.map
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
frontend/dist/assets/index-DqomNUfE.js.map
vendored
Normal file
1
frontend/dist/assets/index-DqomNUfE.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
frontend/dist/index.html
vendored
2
frontend/dist/index.html
vendored
@@ -13,7 +13,7 @@
|
||||
<link rel="shortcut icon" href="/favicon.ico" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
|
||||
<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">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -76,6 +76,7 @@ interface ParsedPacket {
|
||||
dstHash: string | null;
|
||||
advertPubkey: string | null;
|
||||
groupTextSender: string | null;
|
||||
anonRequestPubkey: string | null;
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
@@ -154,6 +155,7 @@ function parsePacket(hexData: string): ParsedPacket | null {
|
||||
dstHash: null,
|
||||
advertPubkey: null,
|
||||
groupTextSender: null,
|
||||
anonRequestPubkey: null,
|
||||
};
|
||||
|
||||
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) {
|
||||
const payload = decoded.payload.decoded as { decrypted?: { sender?: string } };
|
||||
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;
|
||||
@@ -186,6 +191,7 @@ function getPacketLabel(payloadType: number): PacketLabel {
|
||||
case PayloadType.Trace:
|
||||
return 'TR';
|
||||
case PayloadType.Request:
|
||||
case PayloadType.AnonRequest:
|
||||
return 'RQ';
|
||||
case PayloadType.Response:
|
||||
return 'RS';
|
||||
@@ -208,6 +214,9 @@ function generatePacketKey(parsed: ParsedPacket, rawPacket: RawPacket): string {
|
||||
if (parsed.payloadType === PayloadType.TextMessage) {
|
||||
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}`;
|
||||
}
|
||||
|
||||
@@ -570,6 +579,14 @@ function useVisualizerData({
|
||||
if (parsed.payloadType === PayloadType.Advert && parsed.advertPubkey) {
|
||||
const nodeId = resolveNode({ type: 'pubkey', value: parsed.advertPubkey }, false, false);
|
||||
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) {
|
||||
if (myPrefix && parsed.srcHash.toLowerCase() === myPrefix) {
|
||||
path.push('self');
|
||||
|
||||
Reference in New Issue
Block a user