Note: The following blog is taken from the Dandelion Hub website (https://dhub.global) which decommissioned its IRC server. The blog intends to preserve the documentation and intends to make the IRC server at https://dhub.chat available as long as feasible. (WI-2024-09-21)
1. Dandelion Hub Chat (DHub Chat), Simple Use
1.1 Overview
Click on the logo below to open the Dandelion Hub Chat (DHub Chat) platform and join a topic (“channel”). The DHub Chat platform is based on open-source, closed-federated Internet Relay Chat (IRC) software InspIRCd. IRC technology has ultra-low requirements on bandwidth. It is especially recommended in world regions where IT hardware has low performance or internet connection is weak or expensive, thereby, replacing modern, high-requirements platforms. While you can use multiple clients to connect with this service, the link below will connect you directly via the The Lounge webclient in the browser.
The Dandelion Hub Chat Platform:
Link: irc://irc.dhub.chat:6697 (Port 6697 for secure TSL connection)
Admin:
- DHub Chat (IRC): dandelionhub
- E-mail: dhub.global@pm.me
1.2 Quick Tutorial for Simple Use of IRC
1.2.1 Introduction
Read this excellent “IRC quickstart guide”!
1.2.2 Instructions
- Select an IRC client app: TheLounge IRC web client
- Note: TheLounge IRC web client is self-hosted by the Dandelion Hub Chat on the same server.
- Note: Your posts will be deleted after leaving a channel or the network or closing the browser, but maybe have been recorded by other users who were logged in at the same time as you in the same channel.
- Create (Anonymous) Identity
- Create your nick(name), e.g.
dhubuser123
(Note: The nickname is your personal, unique identifier on the remote IRC server. However, it may be changed by you or by the IRC server at any time during a session, for example, if the chosen nickname already exists.) - Create your username, e.g.
DhubUser
(Note: The username is your personal, unique identifier on your local computer. If connecting from a single-user, personal computer, it is obsolete because your (cloaked) internet address is sufficient as an (anonymous) identifier. If connecting from a multi-user, shared server, then the username is needed in addition to the (cloaked) internet address as an (anonymous) identifier. Identifiers of the local system are used by IRC, for example, to ban users who do not follow the IRC server rules. On a multi-user, shared server the username is provided automatically by the Ident protocol, but can be set manually otherwise.) - Create your long name (called “real name”) , e.g.
Dhub User (Web, TheLounge)
(Note: You can provide your real name, but also any other description of yourself, which is shared with other users.) - Notes:
- You do NOT need to sign up (REGISTER) or sign in (IDENTIFY) with a password to use IRC.
- If you do not give information to identify yourself, other users will not know who you are. This is common practice on IRC networks.
- Your computer name/internet protocol (IP) address will be hidden (“cloaked”) on the Dandelion Hub Chat server.
- Create your nick(name), e.g.
- Connect to “Dandelion Hub Chat” Network
- Network name:
Dandelion Hub Chat
- Network address:
irc.dhub.chat
- Network port:
6697
(only secure connections via TSL are accepted)
- Network name:
- Join Channel
- Default (autojoin) channel:
#dhub-meetngreet
- Command:
/join #dhub-meetngreet
- Default (autojoin) channel:
- Send Message: Type into the message window (Note: max. ~450 characters or max. 512 bytes per post).
- Send Private Message
- Send a private message to another user with
/msg
(or/query
) command. After a reply by the receiver (!) a new channel will be created! - Command:
/msg OtherNickname Let's talk in private!
- Note: Private messages are encrypted by TSL between client and server and cannot be read by other users while in transit. However, the administrator of the dhub.chat server could access such private messages, but will protect users’ privacy as much as possible.
- Send a private message to another user with
- Leave Channel
- After leaving channel, you will not receive posts until you join the channel again. (Default behaviour)
- Command:
/part
(or/leave
)
- Disconnect from “Dandelion Hub Chat” Network
2. Dandelion Hub Chat (DHub Chat), Advanced Use
2.1 Overview
Install an IRC client app, click on the logo (or link) below to open the Dandelion Hub Chat (DHub Chat) platform, and join a topic (“channel”). The DHub Chat platform is based on the open-source Internet Relay Chat (IRC) technology. IRC technology has ultra-low requirements on bandwidth. It is especially recommended in world regions where IT hardware has low performance or internet connection is weak or expensive, thereby, replacing modern, high-requirements platforms.
Enjoy!
The Dandelion Hub Chat Platform:
Links:
- IRC server: irc://irc.dhub.chat:6697 (Port 6697 for secure TSL connection)
- QUASSELcore bouncer (user account required, ask Admin): irc://irc.dhub.chat:4242
Admin:
- DHub Chat (IRC): dandelionhub
- E-mail: dhub.global@pm.me
2.2 Tutorial for Advanced Use of IRC
2.2.1 Introduction
- The tutorial on the advanced use of IRC replaces and extends the tutorial on simple use with the following aspects:
- Register and identify a nickname in an IRC network with “NickServ” (using ANOPE IRC services). A permanent identity will help to create trustful relationships with other users and allow more effective communication.
- Register and operate channels in an IRC network with “ChanServ” (using ANOPE IRC services). A permanent channel will be a meeting place helping to create a permanent, specialized community of users and allow more effective communication.
- Use private, end-to-end encrypted communication channels with the Off-the-record (OTR) or Blowfish encryption technologies (in addition to standard GNU TLS encryption between client and server) for highly confidential conversations. However, end-to-end encryption using IRC should be considered as experimental!
- Send and receive files between users by “direct client-to-client (DCC)” technology.
- Consider using a password manager, e.g. Bitwarden, to store all passwords. The application of single-use (burner) passwords is recommended to limit damage, if a password is lost or accidentally published, e.g. by mistyping a nickserv command.
- Reading recommendations:
- “IRC quickstart guide”
- “Modern IRC guide (Work In Progress)”
- Mutton, P. (2004). IRC Hacks – 100 Industrial-Strength Tips & Tools. London, UK: O’Reilly. [PDF]
- Charalabidis, A. (1999). The Book of IRC: The Ultimate Guide to Internet Relay Chat. Burlingame, CA: No Starch Press. [PDF]
2.2.2 Instructions
- Select an IRC Client app
- Web: TheLounge (self-hosted by DHub Chat), IRCCloud.com
- Mobile
- Android OS: IRCCloud App, QUASSELdroid App
- iOS: IRCCloud App, iQUASSEL App
- Notes:
- IRCCloud apps connect via ZNC bouncer and maintain permanent connections with IRC networks. (Account required)
- QUASSEL apps connect via QUASSELcore bouncer and maintain permanent connections with IRC networks. (Account required)
- Computer
- Microsoft Windows: THUNDERBIRD (Chat), QUASSEL (Mono or Client only)
- Apple Mac OS X: THUNDERBIRD (Chat), QUASSEL (Mono), QUASSEL (Client)
- Linux: THUNDERBIRD (Chat), QUASSEL (Mono or Client only), WEECHAT
- Notes:
- The THUNDERBIRD/Chat client for IRC is considered minimal and user-friendly.
- The QUASSEL apps are a modern IRC solution integrating client and bouncer. QUASSEL (mono=client+bouncer) can be used to connect IRC networks like any other IRC client, ie there is no QUASSELcore bouncer on the IRC server required. [QUASSEL (WIKI)]. QUASSEL (Mono) is not automatically added to the start menu during installation on MS Windows (only client and core). The quassel.exe in the program folder has to be added manually (e.g. right mouse-click menu: send link to start menu).
- The terminal-based WEECHAT client is recommended for IRC power users because it can be programmed and extended with plugins.
- Create (Anonymous) Identity
- Create your nick(name), e.g.
dhubuser123
(Note: The nickname is your personal, unique identifier on the remote IRC server. However, it may be changed by you or by the IRC server at any time during a session, for example, if the chosen nickname already exists.) - Create your username, e.g.
DhubUser
(Note: The username is your personal, unique identifier on your local computer. If connecting from a single-user, personal computer, it is obsolete because your (cloaked) internet address is sufficient as an (anonymous) identifier. If connecting from a multi-user, shared server, then the username is needed in addition to the (cloaked) internet address as an (anonymous) identifier. Identifiers of the local system are used by IRC, for example, to ban users who do not follow the IRC server rules. On a multi-user, shared server the username is provided automatically by the Ident protocol, but can be set manually otherwise.) - Create your long name (called “real name”) , e.g.
Dhub User (Web, TheLounge)
(Note: You can provide your real name, but also any other description of yourself, which is shared with other users.) - Notes:
- You do NOT need to sign up (REGISTER) or sign in (IDENTIFY) with a password to use IRC.
- If you do not give information to identify yourself, other users will not know who you are. This is common practice on IRC networks.
- Your computer name/internet protocol (IP) address will be hidden (“cloaked”) on the Dandelion Hub Chat server.
- You can use a VPN client to hide your IP address for additional protection.
- Create your nick(name), e.g.
- Connect to “Dandelion Hub Chat” Network
- Network name:
Dandelion Hub Chat
- Network address:
irc.dhub.chat
- Network port:
6697
(only secure connections via TSL are accepted)
- Network name:
- Register and Identify on a Network
- Registering and identifying on a network will create a permanent identity which builds trust and supports effective communication.
- Commands (set nickname):
- Set nick:
/nick YourNickname
- Register nick (optional):
/msg NickServ REGISTER YourPassword youremail@example.com
- Identify nick (optional):
/msg NickServ IDENTIFY YourNickname YourPassword
- Set nick:
- *Notes:
- Use a burner password which you do not use elsewhere to reduce damage if you accidentally typed your password into a public post.
- You can check whether another user is registered and identified with his nickname “nick123” by entering the command “/msg nickserv INFO nick123”.
- Create or Join a Channel
- Default (autojoin) channel: #dhub-meetngreet
- List channels, join an existing channel, or join (create) a new channel
- You will automatically become the operator (@) of the new channel.
- A recommended channel name scheme is (Ignore if you feel this is not helpful!):
#<TwoLetterCountryCode>-<TwoLetterLanguageCode>-<OrganisationCode>-<AnyOtherKeywords>
> - Commands:
- List channels containing “dhub”:
/list *dhub*
- Join existing channel:
/join #dhub-meetngreet
- Create new channel:
/join #ug-en-fff-plantamilliontrees
- List channels containing “dhub”:
- Notes: If you join a non-existing channel you will create a new channel and will automatically become the founder and operator of the channel.
- Register and Operate Channel:
- Register and identify on the network with your nickname (see #4 above).
- Join (create) a new channel and become the founder and operator (see #5 above)
- The channel founder is allowed to change all channel settings and operate the channel (e.g. kick users out of channel).
- Commands:
- Register channel:
/msg ChanServ REGISTER
#ug-en-fff-plantamilliontrees An English-speaking group of
Fridays-for-Future activists planting a million trees! - Promote user to operator status:
/msg ChanServ OP #ug-en-fff-plantamilliontrees OtherNickname
- Demote user from operator status:
/msg ChanServ DEOP #ug-en-fff-plantamilliontrees OtherNickname
- Make channel (i)nviteonly and (s)ecret (operator only):
/mode #ug-en-fff-plantamilliontrees +is
- Show channel modes (as characters):
/mode
- Register channel:
- Notes:
- Send Message
- You can just start typing into the message window (Note: max. ~450 characters or max. 512 bytes per post).
- Use
/say
command to post messages with special characters (incl. IRC commands). - Command (send message)):
/say Use /join #channel to join a channel. :-)
- Send & Receive Private Messages
- Send a private message to another user with
/msg
(or/query
) command. After a reply by the receiver (!) a new channel will be created! - The standard
/msg
command encrypts client-server connections with GNU TLS/SSL technology. This means, private messages are encrypted by TSL between client and server and cannot be read by other users while in transit. However, the administrator of the dhub.chat server could access such private messages, but will protect users’ privacy as much as possible. - The BlowFish (CBC mode) technology adds an additional encryption layer to prevent any other person than the sender and receiver to access the messages. Blowfish encryption is available for QUASSELmono (Blowfish) and QUASSELclient (TSL + Blowfish).
- The Off-the-record (OTR) technology adds an additional encryption layer to prevent any other person than the sender and receiver to access the messages. OTR modules are available for selected clients, e.g. THUNDERBIRD.
- Commands:
- GNU TLS/SSL, all clients:
/msg OtherNickname Let's talk in private!
- Off-the-record (OTR), e.g. THUNDERBIRD:
- Start private message (Note: Click nickname of other user.)
- Set encryption status to “Private” (Note: This request an OTR session by sending the “?OTR?” command to the other user.)
- Verify identities (Note: To do this, follow the instructions by chat assistant to provide a verification question and answer.)
- Chat in a private, encrypted channel between two verified users.
- Blowfish (CBC mode), e.g. QUASSEL:
- Start your private conversation:
/msg OtherNickname Let's use Blowfish (CBC mode) encryption!
- Start encrypting conversation (automatic key exchange):
/keyx OtherNickname
- Check encryption (show used key):
/showkey OtherNickname
- Stop encrypting conversation (delete key):
/delkey OtherNickname
- Start your private conversation:
- GNU TLS/SSL, all clients:
- Send a private message to another user with
- Send Files & Chats client-to-client (“Direct Client-to-Client (DCC)”)
- Chats:
- Direct client-to-client chats are not transferred via IRC server, but unencrypted (not recommended):
/dcc chat OtherNickname
- Secure DCC (SDCC, SCHAT) is hardly standardized and supported by clients.
- Direct client-to-client chats are not transferred via IRC server, but unencrypted (not recommended):
- Files:
- Direct client-to-client file transfers are not sent via IRC server, but unencrypted (not recommended):
/dcc send OtherNickname /path/to/my/file.zip
- Files can be sent securely by compressing and encrypting one or more files into a zipped, password-protected archive (e.g. using the 7-zip program) and sharing the password securely (using Blowfish or OTR) via a separate, encrypted direct message.
- Direct client-to-client file transfers are not sent via IRC server, but unencrypted (not recommended):
- Chats:
- Use Pastebins (i.e., lengthy texts or images)
- Good IRC style requires sending only one-line messages.
- Larger texts or images should be sent as links to “pastebins” (text snippets or images).
- Share text (encrypted) [PASTEBIN]
- Share images (not encrypted) [Link]
- Leave Channel
- After leaving channel, you will not receive posts until you join the channel again. (Default behaviour)
- Use a bouncer server (ZNC or QUASSELcore) to buffer messages in the channel, while you are absent.
- Command:
/part
(or/leave
)
- Disconnect from “Dandelion Hub Chat” Network
- Command:
/disconnect
- Command:
3. Software Stack
- Operating System: Linux Debian V12 (“Bookworm”) [Web]
- IRC Server: InspIRCd V3.16.1 [Web]
- IRC Services (esp. NickServ, ChanServ): Anope V2.0.12 [Web]
- IRC Bouncer: QUASSELcore V0.14.0 [Web]
- IRC Bot: EGGDROP 1.9.5 [Web]
- IRC web client: TheLounge V4.4.1 [Web]
- SMTP mail server (required by IRC Services): Postfix V3.7.5 [Web]
- Firewall: UFW V0.36.2 [Web]