|
@@ -1,33 +1,33 @@
|
|
|
|
|
|
|
|
# Configuring a Private chat between users
|
|
# Configuring a Private chat between users
|
|
|
|
|
|
|
|
-Any two users on the ircd server can establish a fully encrypted
|
|
|
|
|
- communication medium between each other using a basic keypair setup.
|
|
|
|
|
|
|
+Any two users on the `ircd` server can establish a fully encrypted
|
|
|
|
|
+communication medium between each other using a basic keypair setup.
|
|
|
|
|
|
|
|
## Configuring ircd_config.toml
|
|
## Configuring ircd_config.toml
|
|
|
|
|
|
|
|
`ircd_config.toml` should be created by default in `~/.config/darkfi/`
|
|
`ircd_config.toml` should be created by default in `~/.config/darkfi/`
|
|
|
when you first run `ircd`.
|
|
when you first run `ircd`.
|
|
|
|
|
|
|
|
-Generate a keypair using the command
|
|
|
|
|
|
|
+Generate a keypair using the following command:
|
|
|
|
|
|
|
|
```shell
|
|
```shell
|
|
|
% ircd --gen-keypair
|
|
% ircd --gen-keypair
|
|
|
```
|
|
```
|
|
|
-This is the Private key used for encryption of messages across the network.
|
|
|
|
|
|
|
+This will generate a Public Key and a Private Key.
|
|
|
|
|
|
|
|
-Save the privateKey safely & add it to the `ircd_config.toml` file as shown below.
|
|
|
|
|
|
|
+Save the Private key safely & add it to the `ircd_config.toml` file as shown below.
|
|
|
|
|
|
|
|
```toml
|
|
```toml
|
|
|
[private_key.”your_private_key_goes_here”]
|
|
[private_key.”your_private_key_goes_here”]
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-To share your public key with a user over the ircd server you can use the following command.
|
|
|
|
|
|
|
+To share your Public Key with a user over `ircd` you can use one of the
|
|
|
|
|
+public channels or via an external app like Signal, as plaintext DMs
|
|
|
|
|
+are disabled in `ircd`.
|
|
|
|
|
|
|
|
- /query User_A “Hi this is my publickey: XXXXXX"
|
|
|
|
|
-
|
|
|
|
|
-Note: This message will be publically visible on the IRC chat
|
|
|
|
|
- i.e anyone running the irc demon can view these messages in their logs.
|
|
|
|
|
|
|
+<u><b>Note</b></u>: If you use the first method your message will be publically
|
|
|
|
|
+visible on the IRC chat.
|
|
|
|
|
|
|
|
See the [example ircd_config.toml](https://github.com/darkrenaissance/darkfi/blob/master/bin/ircd/ircd_config.toml) for more details
|
|
See the [example ircd_config.toml](https://github.com/darkrenaissance/darkfi/blob/master/bin/ircd/ircd_config.toml) for more details
|
|
|
|
|
|
|
@@ -42,10 +42,12 @@ contact_pubkey = “XXXXXXX”
|
|
|
contact_pubkey = “YYYYYYY”
|
|
contact_pubkey = “YYYYYYY”
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-<u>Note</u>: After configuring our `ircd_config.toml` file, you will need to restart your irc demon for the changes to reflect.
|
|
|
|
|
|
|
+<u><b>Note</b></u>: After configuring our `ircd_config.toml` file, you
|
|
|
|
|
+will need to restart your irc demon for the changes to reflect.
|
|
|
|
|
|
|
|
|
|
|
|
|
-Lets see an Example where 'User_A' sends “Hi” message to 'User_B' using the /msg command
|
|
|
|
|
|
|
+Lets see an Example where 'User_A' sends “Hi” message to 'User_B' using
|
|
|
|
|
+the /msg command
|
|
|
|
|
|
|
|
/msg User_B Hi
|
|
/msg User_B Hi
|
|
|
|
|
|
|
@@ -61,12 +63,12 @@ IRCD logs of 'User_B'
|
|
|
09:36:59 [INFO] [P2P] Received: Privmsg { id: 123457, nickname: “xxxx”, target: “xxxx”, message: “xxxx”, timestamp: 1665481019, term: 0, read_confirms: 0 }
|
|
09:36:59 [INFO] [P2P] Received: Privmsg { id: 123457, nickname: “xxxx”, target: “xxxx”, message: “xxxx”, timestamp: 1665481019, term: 0, read_confirms: 0 }
|
|
|
09:36:59 [INFO] [P2P] Decrypted received message: Privmsg { id: 123457, nickname: "User_A", target: "User_B", message: "Hi", timestamp: 1665481019, term: 0, read_confirms: 0 }
|
|
09:36:59 [INFO] [P2P] Decrypted received message: Privmsg { id: 123457, nickname: "User_A", target: "User_B", message: "Hi", timestamp: 1665481019, term: 0, read_confirms: 0 }
|
|
|
```
|
|
```
|
|
|
-<u>Note for Weechat Client Users:</u>
|
|
|
|
|
- When you private message somone as shown above,
|
|
|
|
|
-the buffer will not pop in weechat client until you receive a
|
|
|
|
|
- reply from that person.
|
|
|
|
|
-For example here 'User_A' will not see any new buffer on his irc interface for
|
|
|
|
|
- the recent message which he just send to 'User_B' until 'User_B' replies,
|
|
|
|
|
|
|
+<u>Note for Weechat Client Users:</u>\
|
|
|
|
|
+When you private message someone as shown above, the buffer will not
|
|
|
|
|
+pop in weechat client until you receive a reply from that person.
|
|
|
|
|
+
|
|
|
|
|
+For example here 'User_A' will not see any new buffer on his irc interface for
|
|
|
|
|
+the recent message which he just send to 'User_B' until 'User_B' replies,
|
|
|
but 'User_B' will get a buffer shown on his irc client with the message 'Hi'.
|
|
but 'User_B' will get a buffer shown on his irc client with the message 'Hi'.
|
|
|
|
|
|
|
|
Reply from 'User_B' to 'User_A'
|
|
Reply from 'User_B' to 'User_A'
|
|
@@ -84,4 +86,14 @@ IRCD logs of 'User_A'
|
|
|
```
|
|
```
|
|
|
10:25:46 [INFO] [P2P] Received: Privmsg { id: 123458, nickname: “xxxxxxx”, target: “xxxxxx”, message: “yyyyyy”, timestamp: 1665483945, term: 0, read_confirms: 0 }
|
|
10:25:46 [INFO] [P2P] Received: Privmsg { id: 123458, nickname: “xxxxxxx”, target: “xxxxxx”, message: “yyyyyy”, timestamp: 1665483945, term: 0, read_confirms: 0 }
|
|
|
10:25:46 [INFO] [P2P] Decrypted received message: Privmsg { id: 123458, nickname: "User_B”, target: "User_A”, message: "welcome! ", timestamp: 1665483945, term: 0, read_confirms: 0 }
|
|
10:25:46 [INFO] [P2P] Decrypted received message: Privmsg { id: 123458, nickname: "User_B”, target: "User_A”, message: "welcome! ", timestamp: 1665483945, term: 0, read_confirms: 0 }
|
|
|
-```
|
|
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+Or instead of `/msg` command, you can use:
|
|
|
|
|
+```
|
|
|
|
|
+/query User_B hello
|
|
|
|
|
+```
|
|
|
|
|
+This works exactly the same as `/msg` except it will open a new buffer
|
|
|
|
|
+with the User_B in your client regardless.
|
|
|
|
|
+
|
|
|
|
|
+<u><b>Note</b></u>: The contact name is not the irc nickname, it can
|
|
|
|
|
+be anything you want, and you should use it when DMing.
|