@@ -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