darkirc_config.toml 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. ## This is the darkirc configuration file.
  2. ## Review it carefully.
  3. ## IRC listen URL
  4. #irc_listen = "tcp://127.0.0.1:6667"
  5. ## TLS certificate path if IRC acceptor uses TLS (optional)
  6. #irc_tls_cert = "/etc/letsencrypt/darkirc/fullchain.pem"
  7. ## TLS secret key path if IRC acceptor uses TLS (optional)
  8. #irc_tls_secret = "/etc/letsencrypt/darkirc/privkey.pem"
  9. ## How many recent DAGs to sync at startup. Each DAG is 1 hour of
  10. ## message history. This can be larger than 24 if history_retention_dags
  11. ## is also larger.
  12. #dags_count = 24
  13. ## Archive mode never prunes rotating DAGs. Storage use grows for as long as
  14. ## the node runs. history_retention_dags is ignored when this is enabled.
  15. #archive_mode = false
  16. ## How many rotating DAGs a normal node retains locally. This controls how
  17. ## much history the node can serve or lazily sync before old DAGs are pruned.
  18. #history_retention_dags = 24
  19. ## Sets Datastore Path
  20. #datastore = "~/.local/share/darkfi/darkirc/darkirc_db"
  21. ## Sled cache capacity for the DarkIRC/EventGraph datastore, in MiB
  22. #sled_cache_mb = 64
  23. ## Enable RLN proof generation and verification. Disabled by default to skip
  24. ## RLN key loading, identity SMT state, proof generation, and proof verification.
  25. #rln_enabled = false
  26. ## Datastore path for RLN proving and verifying keys
  27. #zk_key_datastore = "~/.local/share/darkfi/darkirc/zk_keys"
  28. ## Sled cache capacity for the RLN key datastore, in MiB
  29. #zk_key_sled_cache_mb = 16
  30. ## Sets DB logs replay datastore path
  31. #replay_datastore = "~/.local/share/darkfi/darkirc/replayed_darkirc_db"
  32. ## Run in replay mode to store Sled DB instructions
  33. ## (for eventgraph debugging tool)
  34. #replay_mode = false
  35. ## List of channels to autojoin for new client connections
  36. autojoin = [
  37. "#dev",
  38. "#media",
  39. "#hackers",
  40. "#memes",
  41. "#philosophy",
  42. "#markets",
  43. "#math",
  44. "#random",
  45. "#lunardao",
  46. ]
  47. ## IRC server specific password
  48. ## (optional, but once configured, it is required from the IRC client side)
  49. #password = "CHANGE_ME"
  50. # Log to file. Off by default.
  51. #log = "/tmp/darkirc.log"
  52. # Set log level. 1 is info (default), 2 is debug, 3 is trace
  53. #verbose = 2
  54. ## Running darkirc in header-only mode
  55. ## history won't be fetched but DAG sync fast
  56. #fast_mode = false
  57. ## JSON-RPC settings
  58. [rpc]
  59. ## JSON-RPC listen URL
  60. rpc_listen = "tcp://127.0.0.1:9605"
  61. ## Disabled RPC methods
  62. rpc_disabled_methods = ["p2p.get_info"]
  63. # P2P network settings
  64. [net]
  65. # Magic Bytes to distinguish the p2p network
  66. magic_bytes = [251, 229, 199, 181]
  67. # Path to the P2P datastore
  68. p2p_datastore = "~/.local/share/darkfi/darkirc/p2p"
  69. # Path to a configured hostlist for saving known peers
  70. hostlist = "~/.local/share/darkfi/darkirc/p2p_hostlist.tsv"
  71. ## Outbound connection slots
  72. # outbound_connections = 8
  73. ## Inbound connection slots
  74. #inbound_connections = 8
  75. ## White connection percent
  76. # gold_connect_count = 2
  77. ## White connection percent
  78. # white_connect_percent = 70
  79. # Nodes to avoid interacting with for the duration of the program, in the
  80. # format ["host", ["scheme", "scheme"], [port, port]].
  81. # If scheme is left empty it will default to "tcp+tls".
  82. # If ports are left empty all ports from this peer will be blocked.
  83. #blacklist = [["example.com", ["tcp"], [8551, 23331]]]
  84. # Transports this node can dial. Leave tcp and tcp+tls out when direct
  85. # clearnet connections are not permitted.
  86. active_profiles = ["tor"]
  87. #active_profiles = ["tcp+tls"]
  88. # Canonical peer schemes that may be reached through a compatible active
  89. # transport. For example, route learned tcp and tcp+tls peers through Tor with:
  90. #active_profiles = ["tor", "tor+tls"]
  91. #mixed_profiles = ["tcp", "tcp+tls"]
  92. # Keep bootstrap seeds under the active tor and tor+tls profile tables below.
  93. #mixed_profiles = []
  94. # Tor Socks5 proxy
  95. #tor_socks5_proxy = "socks5://127.0.0.1:9050"
  96. # Nym Socks5 proxy
  97. #nym_socks5_proxy = "socks5://127.0.0.1:1080"
  98. # I2p Socks5 proxy
  99. #i2p_socks5_proxy = "socks5://127.0.0.1:4447"
  100. [net.profiles."tcp+tls"]
  101. ## Seed nodes to connect to
  102. seeds = ["tcp+tls://lilith0.dark.fi:9600", "tcp+tls://lilith1.dark.fi:9600"]
  103. ## Manual peers to connect to
  104. #peers = []
  105. ## P2P accept addresses
  106. #inbound = ["tcp+tls://0.0.0.0:9600", "tcp+tls://[::]:9600"]
  107. ## Addresses we want to advertise to peers (optional)
  108. ## These should be reachable externally
  109. #external_addrs = ["tcp+tls://my.resolveable.address:9600"]
  110. [net.profiles."tor"]
  111. ## Seed nodes to connect to
  112. seeds = [
  113. "tor://wgxxaifz5gv4iggcflyl67lgmsihffs6bbwobqah4np52t3y3olrnpid.onion:9601",
  114. "tor://inx5s3pdzddvgb5ii3oydutmbvw6fvor3oqu65wtxl3pyevtvrdn4had.onion:9601",
  115. ]
  116. ## Manual peers to connect to
  117. #peers = []
  118. ## P2P accept addresses
  119. #inbound = ["tor://127.0.0.1:9601"]
  120. [net.profiles."i2p"]
  121. ## Seed nodes to connect to
  122. seeds = [
  123. ##TODO: replace with an official seed address
  124. "i2p://6l2rdfriixo2nh5pr5bt555lyz56qox2ikzia4kuzm4okje7gtmq.b32.i2p:9600"
  125. ]
  126. ## Manual peers to connect to
  127. #peers = []
  128. ## P2P accept addresses
  129. #inbound = ["tcp://127.0.0.1:9601"]
  130. ## Addresses we want to advertise to peers (optional)
  131. ## These should be reachable externally
  132. #external_addrs = ["i2p://youraddress.b32.i2p:9601"]
  133. [net.profiles."socks5"]
  134. ## Seed nodes to connect to
  135. seeds = [
  136. "socks5://127.0.0.1:9050/wgxxaifz5gv4iggcflyl67lgmsihffs6bbwobqah4np52t3y3olrnpid.onion:9601",
  137. "socks5://127.0.0.1:9050/inx5s3pdzddvgb5ii3oydutmbvw6fvor3oqu65wtxl3pyevtvrdn4had.onion:9601",
  138. ]
  139. ## Manual peers to connect to
  140. #peers = []
  141. [net.profiles."socks5+tls"]
  142. ## Seed nodes to connect to
  143. seeds = [
  144. #"socks5+tls://127.0.0.1:9050/lilith0.dark.fi:9600",
  145. #"socks5+tls://127.0.0.1:1080/lilith1.dark.fi:9600"
  146. ]
  147. ## Manual peers to connect to
  148. #peers = []
  149. [net.profiles."tor+tls"]
  150. ## Seed nodes to connect to
  151. seeds = [
  152. "tor+tls://lilith0.dark.fi:9600",
  153. "tor+tls://lilith1.dark.fi:9600"
  154. ]
  155. ## Manual peers to connect to
  156. #peers = []
  157. [net.profiles."tcp"]
  158. ## Seed nodes to connect to
  159. #seeds = ["tcp://127.0.0.1:9600"]
  160. ## Manual peers to connect to
  161. #peers = []
  162. ## P2P accept addresses
  163. #inbound = ["tcp://127.0.0.1:9600"]
  164. ## Addresses we want to advertise to peers
  165. #external_addrs = ["tcp://127.0.0.1:9600"]
  166. ## ====================
  167. ## IRC channel settings
  168. ## ====================
  169. ##
  170. ## You can create a shared secret with `darkirc --gen-channel-secret`.
  171. ## Never share this secret over unencrypted channels or with someone
  172. ## who you do not want to be able to read all the channel messages.
  173. ## Use it like this example:
  174. #[channel."#foo"]
  175. #secret = "7CkVuFgwTUpJn5Sv67Q3fyEDpa28yrSeL5Hg2GqQ4jfM"
  176. #topic = "My secret channel"
  177. [channel."#dev"]
  178. topic = "DarkFi Development HQ"
  179. [channel."#media"]
  180. topic = "DarkFi Art, Fashion, Video, Memetics"
  181. [channel."#markets"]
  182. topic = "Crypto Market Talk"
  183. [channel."#math"]
  184. topic = "Math Talk"
  185. [channel."#memes"]
  186. topic = "DarkFi Meme Reality"
  187. [channel."#philosophy"]
  188. topic = "Philosophy Discussions"
  189. [channel."#random"]
  190. topic = "/b/"
  191. [channel."#lunardao"]
  192. topic = "LunarDAO talk"
  193. ## ================
  194. ## Contact settings
  195. ## ================
  196. ##
  197. ## In this section we configure our contacts and people we want to
  198. ## have encrypted DMs with. After changing contacts, send /rehash from
  199. ## an IRC client (or restart darkirc) to reload them.
  200. ##
  201. ## The format is:
  202. ## [contact."nickname"]
  203. ## dm_chacha_public = "{the_contact_public_key}"
  204. ## my_dm_chacha_secret = "{your_secret_key_for_this_contact}"
  205. ##
  206. ## "nickname" can be anything you want. This is how they will appear
  207. ## in your IRC client when they send you a DM.
  208. ##
  209. ## "dm_chacha_public" is the contacts' public key, which should be
  210. ## retrieved manually.
  211. ##
  212. ## "my_dm_chacha_secret" is the secret key used to decrypt direct
  213. ## messages sent to the public key (the counterpart to this secret key)
  214. ## you set for this contact. It is recommended to paste the public key
  215. ## here as a comment in order to be able to easily reference it for
  216. ## sharing. You can generate a keypair to use for a contact with:
  217. ## ./darkirc --gen-chacha-keypair
  218. ## Replace the secret key in the contact configuration with the
  219. ## generated one. You can generate and set a separate secret key for
  220. ## each contact, or reuse the same one in multiple contacts.
  221. ## **You should never share secret keys with anyone**
  222. ##
  223. ## Examples (set as many as you want):
  224. #[contact."satoshi"]
  225. #dm_chacha_public = "C9vC6HNDfGQofWCapZfQK5MkV1JR8Cct839RDUCqbDGK"
  226. #my_dm_chacha_secret = "A3mLrq4aW9UkFVY4zCfR2aLdEEWVUdH4u8v4o2dgi4kC"
  227. #
  228. #[contact."anon"]
  229. #dm_chacha_public = "7iTddcopP2pkvszFjbFUr7MwTcMSKZkYP6zUan22pxfX"
  230. #my_dm_chacha_secret = "E229CzXev335cxhHiJyuzSapz7HMfNzf6ipbginFTvtr"