Skip to content

Commit 507042f

Browse files
authored
Redact peer API topology details (#17)
1 parent b08997e commit 507042f

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

server/index.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -309,11 +309,13 @@ app.get('/api/peers', async (req, res) => {
309309
const network = parseNetwork(req.query.network)
310310
interface PeerInfo { addr: string; version: number; subver: string; pingtime: number; conntime: number; startingheight: number; banscore: number; bytessent: number; bytesrecv: number; inbound: boolean; synced_headers: number; synced_blocks: number }
311311
const rawPeers = await rpcWithNetwork<PeerInfo[]>('getpeerinfo', [], network)
312-
const peers = rawPeers.map(p => ({
313-
addr: p.addr ?? '', version: p.version ?? 0, subver: p.subver ?? '', pingtime: p.pingtime ?? 0,
314-
conntime: p.conntime ?? 0, startingheight: p.startingheight ?? 0, banscore: p.banscore ?? 0,
315-
bytessent: p.bytessent ?? 0, bytesrecv: p.bytesrecv ?? 0, inbound: Boolean(p.inbound),
316-
synced_headers: p.synced_headers ?? 0, synced_blocks: p.synced_blocks ?? 0,
312+
const peers = rawPeers.map((p, index) => ({
313+
// Do not expose raw peer addresses, client strings, or detailed per-peer
314+
// metadata publicly; getpeerinfo may include private topology details.
315+
addr: `Peer ${index + 1}`, version: 0, subver: '', pingtime: 0,
316+
conntime: 0, startingheight: 0, banscore: 0,
317+
bytessent: 0, bytesrecv: 0, inbound: Boolean(p.inbound),
318+
synced_headers: 0, synced_blocks: 0,
317319
}))
318320
res.json({ peers, network })
319321
} catch (error) {

0 commit comments

Comments
 (0)