| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293 |
- ## This is the darkirc configuration file.
- ## Review it carefully.
- ## IRC listen URL
- #irc_listen = "tcp://127.0.0.1:6667"
- ## TLS certificate path if IRC acceptor uses TLS (optional)
- #irc_tls_cert = "/etc/letsencrypt/darkirc/fullchain.pem"
- ## TLS secret key path if IRC acceptor uses TLS (optional)
- #irc_tls_secret = "/etc/letsencrypt/darkirc/privkey.pem"
- ## How many recent DAGs to sync at startup. Each DAG is 1 hour of
- ## message history. This can be larger than 24 if history_retention_dags
- ## is also larger.
- #dags_count = 24
- ## Archive mode never prunes rotating DAGs. Storage use grows for as long as
- ## the node runs. history_retention_dags is ignored when this is enabled.
- #archive_mode = false
- ## How many rotating DAGs a normal node retains locally. This controls how
- ## much history the node can serve or lazily sync before old DAGs are pruned.
- #history_retention_dags = 24
- ## Sets Datastore Path
- #datastore = "~/.local/share/darkfi/darkirc/darkirc_db"
- ## Sled cache capacity for the DarkIRC/EventGraph datastore, in MiB
- #sled_cache_mb = 64
- ## Enable RLN proof generation and verification. Disabled by default to skip
- ## RLN key loading, identity SMT state, proof generation, and proof verification.
- #rln_enabled = false
- ## Datastore path for RLN proving and verifying keys
- #zk_key_datastore = "~/.local/share/darkfi/darkirc/zk_keys"
- ## Sled cache capacity for the RLN key datastore, in MiB
- #zk_key_sled_cache_mb = 16
- ## Sets DB logs replay datastore path
- #replay_datastore = "~/.local/share/darkfi/darkirc/replayed_darkirc_db"
- ## Run in replay mode to store Sled DB instructions
- ## (for eventgraph debugging tool)
- #replay_mode = false
- ## List of channels to autojoin for new client connections
- autojoin = [
- "#dev",
- "#media",
- "#hackers",
- "#memes",
- "#philosophy",
- "#markets",
- "#math",
- "#random",
- "#lunardao",
- ]
- ## IRC server specific password
- ## (optional, but once configured, it is required from the IRC client side)
- #password = "CHANGE_ME"
- # Log to file. Off by default.
- #log = "/tmp/darkirc.log"
- # Set log level. 1 is info (default), 2 is debug, 3 is trace
- #verbose = 2
- ## Running darkirc in header-only mode
- ## history won't be fetched but DAG sync fast
- #fast_mode = false
- ## JSON-RPC settings
- [rpc]
- ## JSON-RPC listen URL
- rpc_listen = "tcp://127.0.0.1:9605"
- ## Disabled RPC methods
- rpc_disabled_methods = ["p2p.get_info"]
- # P2P network settings
- [net]
- # Magic Bytes to distinguish the p2p network
- magic_bytes = [251, 229, 199, 181]
- # Path to the P2P datastore
- p2p_datastore = "~/.local/share/darkfi/darkirc/p2p"
- # Path to a configured hostlist for saving known peers
- hostlist = "~/.local/share/darkfi/darkirc/p2p_hostlist.tsv"
- ## Outbound connection slots
- # outbound_connections = 8
- ## Inbound connection slots
- #inbound_connections = 8
- ## White connection percent
- # gold_connect_count = 2
- ## White connection percent
- # white_connect_percent = 70
- # Nodes to avoid interacting with for the duration of the program, in the
- # format ["host", ["scheme", "scheme"], [port, port]].
- # If scheme is left empty it will default to "tcp+tls".
- # If ports are left empty all ports from this peer will be blocked.
- #blacklist = [["example.com", ["tcp"], [8551, 23331]]]
- # Transports this node can dial. Leave tcp and tcp+tls out when direct
- # clearnet connections are not permitted.
- active_profiles = ["tor"]
- #active_profiles = ["tcp+tls"]
- # Canonical peer schemes that may be reached through a compatible active
- # transport. For example, route learned tcp and tcp+tls peers through Tor with:
- #active_profiles = ["tor", "tor+tls"]
- #mixed_profiles = ["tcp", "tcp+tls"]
- # Keep bootstrap seeds under the active tor and tor+tls profile tables below.
- #mixed_profiles = []
- # Tor Socks5 proxy
- #tor_socks5_proxy = "socks5://127.0.0.1:9050"
- # Nym Socks5 proxy
- #nym_socks5_proxy = "socks5://127.0.0.1:1080"
- # I2p Socks5 proxy
- #i2p_socks5_proxy = "socks5://127.0.0.1:4447"
- [net.profiles."tcp+tls"]
- ## Seed nodes to connect to
- seeds = ["tcp+tls://lilith0.dark.fi:9600", "tcp+tls://lilith1.dark.fi:9600"]
- ## Manual peers to connect to
- #peers = []
- ## P2P accept addresses
- #inbound = ["tcp+tls://0.0.0.0:9600", "tcp+tls://[::]:9600"]
- ## Addresses we want to advertise to peers (optional)
- ## These should be reachable externally
- #external_addrs = ["tcp+tls://my.resolveable.address:9600"]
- [net.profiles."tor"]
- ## Seed nodes to connect to
- seeds = [
- "tor://wgxxaifz5gv4iggcflyl67lgmsihffs6bbwobqah4np52t3y3olrnpid.onion:9601",
- "tor://inx5s3pdzddvgb5ii3oydutmbvw6fvor3oqu65wtxl3pyevtvrdn4had.onion:9601",
- ]
- ## Manual peers to connect to
- #peers = []
- ## P2P accept addresses
- #inbound = ["tor://127.0.0.1:9601"]
- [net.profiles."i2p"]
- ## Seed nodes to connect to
- seeds = [
- ##TODO: replace with an official seed address
- "i2p://6l2rdfriixo2nh5pr5bt555lyz56qox2ikzia4kuzm4okje7gtmq.b32.i2p:9600"
- ]
- ## Manual peers to connect to
- #peers = []
- ## P2P accept addresses
- #inbound = ["tcp://127.0.0.1:9601"]
- ## Addresses we want to advertise to peers (optional)
- ## These should be reachable externally
- #external_addrs = ["i2p://youraddress.b32.i2p:9601"]
- [net.profiles."socks5"]
- ## Seed nodes to connect to
- seeds = [
- "socks5://127.0.0.1:9050/wgxxaifz5gv4iggcflyl67lgmsihffs6bbwobqah4np52t3y3olrnpid.onion:9601",
- "socks5://127.0.0.1:9050/inx5s3pdzddvgb5ii3oydutmbvw6fvor3oqu65wtxl3pyevtvrdn4had.onion:9601",
- ]
- ## Manual peers to connect to
- #peers = []
- [net.profiles."socks5+tls"]
- ## Seed nodes to connect to
- seeds = [
- #"socks5+tls://127.0.0.1:9050/lilith0.dark.fi:9600",
- #"socks5+tls://127.0.0.1:1080/lilith1.dark.fi:9600"
- ]
- ## Manual peers to connect to
- #peers = []
- [net.profiles."tor+tls"]
- ## Seed nodes to connect to
- seeds = [
- "tor+tls://lilith0.dark.fi:9600",
- "tor+tls://lilith1.dark.fi:9600"
- ]
- ## Manual peers to connect to
- #peers = []
- [net.profiles."tcp"]
- ## Seed nodes to connect to
- #seeds = ["tcp://127.0.0.1:9600"]
- ## Manual peers to connect to
- #peers = []
- ## P2P accept addresses
- #inbound = ["tcp://127.0.0.1:9600"]
- ## Addresses we want to advertise to peers
- #external_addrs = ["tcp://127.0.0.1:9600"]
- ## ====================
- ## IRC channel settings
- ## ====================
- ##
- ## You can create a shared secret with `darkirc --gen-channel-secret`.
- ## Never share this secret over unencrypted channels or with someone
- ## who you do not want to be able to read all the channel messages.
- ## Use it like this example:
- #[channel."#foo"]
- #secret = "7CkVuFgwTUpJn5Sv67Q3fyEDpa28yrSeL5Hg2GqQ4jfM"
- #topic = "My secret channel"
- [channel."#dev"]
- topic = "DarkFi Development HQ"
- [channel."#media"]
- topic = "DarkFi Art, Fashion, Video, Memetics"
- [channel."#markets"]
- topic = "Crypto Market Talk"
- [channel."#math"]
- topic = "Math Talk"
- [channel."#memes"]
- topic = "DarkFi Meme Reality"
- [channel."#philosophy"]
- topic = "Philosophy Discussions"
- [channel."#random"]
- topic = "/b/"
- [channel."#lunardao"]
- topic = "LunarDAO talk"
- ## ================
- ## Contact settings
- ## ================
- ##
- ## In this section we configure our contacts and people we want to
- ## have encrypted DMs with. After changing contacts, send /rehash from
- ## an IRC client (or restart darkirc) to reload them.
- ##
- ## The format is:
- ## [contact."nickname"]
- ## dm_chacha_public = "{the_contact_public_key}"
- ## my_dm_chacha_secret = "{your_secret_key_for_this_contact}"
- ##
- ## "nickname" can be anything you want. This is how they will appear
- ## in your IRC client when they send you a DM.
- ##
- ## "dm_chacha_public" is the contacts' public key, which should be
- ## retrieved manually.
- ##
- ## "my_dm_chacha_secret" is the secret key used to decrypt direct
- ## messages sent to the public key (the counterpart to this secret key)
- ## you set for this contact. It is recommended to paste the public key
- ## here as a comment in order to be able to easily reference it for
- ## sharing. You can generate a keypair to use for a contact with:
- ## ./darkirc --gen-chacha-keypair
- ## Replace the secret key in the contact configuration with the
- ## generated one. You can generate and set a separate secret key for
- ## each contact, or reuse the same one in multiple contacts.
- ## **You should never share secret keys with anyone**
- ##
- ## Examples (set as many as you want):
- #[contact."satoshi"]
- #dm_chacha_public = "C9vC6HNDfGQofWCapZfQK5MkV1JR8Cct839RDUCqbDGK"
- #my_dm_chacha_secret = "A3mLrq4aW9UkFVY4zCfR2aLdEEWVUdH4u8v4o2dgi4kC"
- #
- #[contact."anon"]
- #dm_chacha_public = "7iTddcopP2pkvszFjbFUr7MwTcMSKZkYP6zUan22pxfX"
- #my_dm_chacha_secret = "E229CzXev335cxhHiJyuzSapz7HMfNzf6ipbginFTvtr"
|