// Bostr config module.exports = { // Server listener [Required] address: "0.0.0.0", port: "8080", // Clusters. // 0 will make bostr run clusters with available parallelism / CPU cores. clusters: 0, // Log about bouncer connection with relays? log_about_relays: false, // Time before reconnect to relays in milliseconds. reconnect_time: 5000, // Wait for every connected relays send EOSE. // Could improve accuracy on received events. // // Depending on your configured relays, // It may could cause loading problems in client due to slow EOSE from bouncer. // You could try fix this by changing or value. wait_eose: true, // Pause an subscription from receiving further events after reached to // Could save client's bandwidth. // // Depending on settings, It could either miss some events. pause_on_limit: true, // EOSE timeout in milliseconds eose_timeout: 2300, // Maximum of received EOSE from relays to send EOSE to client. // Normally, waiting EOSE from 3 relays should be enough. Leaving it with 0 equals wait for every established relays. // NOTE: Please adjust this max score correctly with your configured relays. // If you only setted up 3 relays, Set the as 0. // Tip : The bigger = The more accurate EOSE, The less = EOSE sent way earlier. max_eose_score: 3, // A whitelist of users public keys who could use this bouncer. // Leaving this empty will allows everyone to use this bouncer. // NOTE: - Require NIP-42 compatible nostr client authorized_keys: [ // "pubkey-in-hex", // "npub ....", // .... ], // Used for accessing NIP-42 protected events from certain relays. // It could be your key. Leaving this empty completely disables NIP-42 function. // // You could use this function even as a public bouncer. // There are no security risk as it utilize NIP-42 to recognize client public key. // // NOTE: - Require NIP-42 compatible nostr client private_keys: { // "pubkey-in-hex": "privatekey", // "pubkey-in-hex": "nsec ...." }, // Tip: If you want to convert your pubkey/privatekey to hex, // You could run the following command: // $ node hexconverter.js npub.... // $ node hexconverter.js nsec.... // Server information. // Only for when nostr client requesting server information. server_meta: { "contact": "unset", "pubkey": "0000000000000000000000000000000000000000000000000000000000000000", "description": "Nostr relay bouncer", "name": "Bostr", "software": "git+https://github.com/Yonle/bostr", // Some nostr client may read the following for compatibility check. // You may change the supported_nips to match with what your relays supported. "supported_nips": [1,2,9,11,12,15,16,20,22,33,40,42,50], "version": require("./package.json").version }, // Cache relays // Used for caching received events from to reduce bandwidth waste. // Keeping this empty will disable caching function. // // To make this working properly, Please enable . cache_relays: [ // "ws://localhost:8001", // "ws://localhost:8002", // ...and so on ], // Nostr relays to bounce [Required] relays: [ "wss://example1.com", "wss://example2.com", // "wss://example3.com", // ...and so on ] }