| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| irc [2025/10/18 08:53] – xmpub | irc [2025/10/18 21:33] (current) – [IRC client commands] xmpub |
|---|
| ====== IRC ====== | ====== IRC ====== |
| **IRC** is an protocol commonly used on the [[internet]] that facilitates a text-based [[online chat|chatroom]] environment. Typically, port ''6697'' is used with SSL, but historically IRC was a plaintext protocol using port ''6667''. | **IRC** is an protocol commonly used on the [[internet]] that facilitates a text-based [[online chat|chatroom]] environment. Typically, port ''6697'' is used with SSL, but historically IRC was a plaintext protocol using port ''6667''. |
| === Clients === | ===== Clients ===== |
| * [[Weechat]] | * [[Weechat]] |
| * [[KVIrc]] | * [[KVIrc]] |
| === Design === | ===== Design ===== |
| == Networks == | ==== Networks ==== |
| IRC is designed to be a federated protocol, meaning that an IRC **network** can be accessible from various different approved servers. This federated model can protect from network downtime, due to the lack of a single point of failure, as well as promote diplomacy among the network administration. | IRC is designed to be a federated protocol, meaning that an IRC **network** can be accessible from various different official servers. This federated model can protect from network downtime, due to the lack of a single point of failure, as well as promote diplomacy among the network administration. |
| == Channels == | ==== Channels ==== |
| Servers are grouped into channels. Channels start with a pound ''#'' symbol and can have various different modes set, represented by a string of flags. | Servers are grouped into channels. Channels start with a pound ''#'' symbol and can have various different modes set, represented by a string of flags. They can also have a topic, which is a string that is intended to represent the current topic of conversation, but nowadays is used more like a description for the channel. |
| == Users == | ==== Users ==== |
| A user has four identifying attributes: | A user has four identifying attributes: |
| * ''nickname'' How you will be seen in chat and user lists. Only ASCII. No spaces. | * ''nickname'' How you will be seen in chat and user lists. Only ASCII. No spaces. |
| * ''password'' (not shown to other clients) | * ''password'' (not shown to other clients) |
| Additionally, there is the user's IP and host, but those are not client defined. The IP is only seen by the server; but the host is shown to other clients. Usually the host is an rdns lookup of the client IP, a cloaked (hashed) version of the user's IP, or customized by the user after registering to preserve their [[anonymity]]. | Additionally, there is the user's IP and host, but those are not client defined. The IP is only seen by the server; but the host is shown to other clients. Usually the host is an rdns lookup of the client IP, a cloaked (hashed) version of the user's IP, or customized by the user after registering to preserve their [[anonymity]]. |
| === IRC client commands === | ===== IRC client commands ===== |
| Here are some commands broadly implemented by IRC clients. | Here are some commands broadly implemented by IRC clients. |
| ''/join <channel>'' Subscribes you to a channel. | *''/join <channel>'' Subscribes you to a channel. |
| ''/part'' Leaves a channel and incurs a ''part'' message defined by your client. | *''/part'' Leaves a channel and incurs a ''part'' message defined by your client. |
| ''/whois <nick>'' Queries info about another person in the same channel. | *''/whois <nick>'' Queries info about another person in the same channel. |