When was irc developed




















They usually have to ban entire sites. What do you think should be done to solve this problem for good? That way abusers can make less damage. Which networks do you like and why? What services do you think an IRC network should offer; e. NickServ and Channel Services? I am logged on quite a lot, but I rarely engage in conversations, except with some old acquintances.

I do not prefer any network above others, except of course the 'original' net EFnet.. I do not have a strong opinion about services, e.

NickServ, but I would prefer NickServ to exist. It is not a solution to the nickname problem, 9-character nicknames for 5 billion people cannot be a solution but perhaps a little better with than without -o- 12 How do you feel now that nine years down the line, almost every document on the history of the Internet mentions your name?

What is your opinion on IRC's potential as a useful tool for educational purposes, and what do you see in the future regarding the use of IRC as a "virtual classroom"? The throughput is much better when the communication channel can include live gestures, tones of voice, etc.

IRC is better as a quick-paced discussion tool, where people throw comments while simultaneusly working with something else. There may be some smaller areas where IRC is best suited as an educational tool If so, what is your opinion about the fact that there are now multiple IRC protocols i. In my opinion it is good for IRC that there are many networks.

Some more, some less, but everyone has contributed. IRC is just one media for these activities. However, I do not think IRC is to blame.. Any useful tool can be used for good and bad. Don't shoot the messenger It just turned out that people found much deeper use for it than what it was originally meant for..

What do you see as the future for IRC? The security problem in channels is another thing which could have been better designed. I will be listening but not actively participating I have made many friends around the world, which I would not have made without IRC. A channel is a specific chat group within an IRC network where users can communicate with each other.

Some networks release lists of offered channels, while others need you to manually go into channel names in order to join them. Some IRC channels need a password while others are open to the general public. While IRC was developed as a public chat service, it supports other functions such as private messaging and file transfers. Then you can use another IRC command to send out the user a file from your local system.

IRC Internet Relay Chat is a protocol for real-time text messaging between internet-connected computers. As of April , the leading IRC networks served over , users at a time on hundreds of thousands of channels. The messages are only sent to locations where users are, in a fashion similar to that of channels. On a large network of users and servers, a single message can result in a lot of traffic being sent over the network in an effort to reach all of the desired destinations.

For some messages, there is no option but to broadcast it to all servers so that the state information held by each server is reasonably consistent between servers.

While most messages between servers are distributed to all 'other' servers, this is only required for any message that affects either a user, channel or server. Message details On the following pages are descriptions of each message recognized by the IRC server and client.

All commands described in this section must be implemented by any server for this protocol. The server must not send any other replies after this for that command.

The server to which a client is connected is required to parse the complete message, returning any appropriate errors. If the server encounters a fatal error while parsing a message, an error must be sent back to the client and the parsing terminated. A fatal error may be considered to be incorrect command, a destination which is otherwise unknown to the server server, nick or channel names fit this category , not enough parameters or incorrect privileges.

If a full set of parameters is presented, then each must be checked for validity and appropriate responses sent back to the client. In the case of messages which use parameter lists using the comma as an item separator, a reply must be sent for each item. In the examples below, some messages appear using the full format: :Name COMMAND parameter list Such examples represent a message from "Name" in transit between servers, where it is essential to include the name of the original sender of the message so remote servers may send back a reply along the correct path.

It is strongly recommended that all server connections have a password in order to give some level of security to the actual connections. Pass message 2. Nick message 3. User message 4. The password can and must be set before any attempt to register the connection is made. It is possible to send multiple PASS commands before registering but only the last one sent is used for verification and it may not be changed once registered.

A local connection has a hopcount of 0. If supplied by a client, it must be ignored. If a NICK message arrives at a server which already knows about an identical nickname for another client, a nickname collision occurs. As a result of a nickname collision, all instances of the nickname are removed from the server's database, and a KILL command is issued to remove the nickname from all other server's database.

If the NICK message causing the collision was a nickname change, then the original old nick must be removed as well. Note that hostname and servername are normally ignored by the IRC server when the USER command comes from a directly connected client for security reasons , but they are used in server to server communication. This means that a NICK must always be sent to a remote server when a new user is being introduced to the rest of the network before the accompanying USER is sent.

It must be noted that realname parameter must be the last parameter, because it may contain space characters and must be prefixed with a colon ':' to make sure this is recognised as such. Since it is easy for a client to lie about its username by relying solely on the USER message, the use of an "Identity Server" is recommended.

If the host which a user connects from has such a server enabled the username is set to that as in the reply from the "Identity Server".

This message is also used to pass server data over whole net. When a new server is connected to net, information about it be broadcast to the whole network.

With a full server list, it would be possible to construct a map of the entire server tree, but hostmasks prevent this from being done. The SERVER message must only be accepted from either a a connection which is yet to be registered and is attempting to register as a server, or b an existing connection to another server, in which case the SERVER message is introducing a new server behind that server.

If a SERVER message is parsed and attempts to introduce a server which is already known to the receiving server, the connection from which that message must be closed following the correct procedures , since a duplicate route to a server has formed and the acyclic nature of the IRC tree broken.

The name in []'s is the hostname for the host running test. The OPER message is client-server only. The server must close the connection to a client which sends a QUIT message. If a "Quit Message" is given, this will be sent instead of the default message, the nickname. The first name is that of the server which is still connected and the second name is that of the server that has become disconnected. If, for some other reason, a client connection is closed without the client issuing a QUIT command e.

Numeric Replies: None. If a server wishes to break the connection to another server it must send a SQUIT message to the other server, using the the name of the other server as the server parameter, which then closes its connection to the quitting server. This command is also available operators to help keep a network of IRC servers connected in an orderly fashion. In this case, the SQUIT must be parsed by each server inbetween the operator and the remote server, updating the view of the network held by each server as explained below.

Both of the servers which are on either side of the connection being closed are required to to send out a SQUIT message to all its other server connections for all other servers which are considered to be behind that link. In addition to this, all channel members of a channel which lost a member due to the split must be sent a QUIT message.

If a server connection is terminated prematurely e. In implementing these, a number of race conditions are inevitable when clients at opposing ends of a network send commands which will ultimately clash. Whether or not a client is allowed to join a channel is checked only by the server the client is connected to; all other servers automatically add the user to the channel when it is received from other servers. The conditions which affect this are as follows: 1.

These are discussed in more detail under the MODE command see section 4. Once a user has joined a channel, they receive notice about all commands their server receives which affect the channel. The JOIN command needs to be broadcast to all servers so that each server knows where to find the users who are on the channel.

JOIN foo, bar fubar,foobar ; join channel foo using key "fubar". JOIN foo, bar ; join channels foo and bar. It allows both usernames and channels to have their mode changed. The rationale for this choice is that one day nicknames will be obsolete and the equivalent property will be the channel. When parsing MODE messages, it is recommended that the entire message be parsed first and then the changes which resulted then passed on.

It is also required that servers be able to change channel modes so that channel operators may be created. When using the 'o' and 'b' options, a restriction on a total of three per mode command has been imposed.

That is, any combination of 'o' and 4. A user MODE command may only be accepted if both the sender of the message and the nickname given as a parameter are both the same. The available modes are as follows: i - marks a users as invisible; s - marks a user for receipt of server notices; w - user receives wallops; o - operator flag.

Additional modes may be available later on. TOPIC test :another topic ;set the topic on test to "another topic". TOPIC test ; check the topic for test. There is no error reply for bad channel names. NAMES ; list all visible channels and users 4. Private channels are listed without their topics as channel "Prv" unless the client generating the query is actually on that channel.

There is no requirement that the channel the target user is being invited to must exist or be a valid channel. It 'kicks them out' of the channel forced PART.

Each server that receives a KICK message checks that it is valid ie the sender is actually a channel operator before removing the victim from the channel. All servers connected must respond to these queries and respond correctly. For each parameter, however, only one query and set of replies is to be generated.

The implementation of this command is highly dependent on the server which replies, although the server must be able to supply information as described by the queries below or similar. The following queries are those found in the current IRC implementation and provide a large portion of the setup information for that server.

Although these may not be supported in the same way by other versions, all servers should be able to supply a valid reply to a STATS query which is consistent with the reply formats currently used and the purpose of the query. The returned list of servers must match the mask, or if no mask is given, the full list is returned. If the server parameter is not given, the server handling the command must reply to the query.

Each server that processes this message must tell the sender about it by sending a reply indicating it is a pass-through link, forming a chain of replies similar to that gained from using "traceroute". After sending this reply back, it must then send the TRACE message to the next server until given server is reached. PRIVMSG and NOTICE are the only messages available which actually perform delivery of a text message from one client to another - the rest just make it possible and try to ensure it happens in a reliable and structured manner.

The mask must have at least 1 one ". This rule applies to servers too - they must not send any error reply back to the client on receipt of a notice. The object of this rule is to avoid loops between a client automatically sending something in response to something it received.

This is typically used by automatons clients with either an AI or other interactive program controlling their actions which are always seen to be replying lest they end up in a loop with another automaton.

When using wildcards with any of these commands, if they match, they will only return information on users who are 'visible' to you. The visibility of a user is determined as a combination of the user's mode and the common set of channels you are both on.

If the "o" parameter is passed only operators are returned according to the name mask supplied. The server will answer this message with several numeric messages indicating different statuses of each user which matches the nickmask if you are entitled to see them. A comma ',' separated list of nicknames may be given. The latter version sends the query to a specific server. It is useful if you want to know how long the user in question has been idle as only local server ie.

This may either be due to a nickname change or the user leaving IRC. In response to this query, the server searches through its nickname history, looking for any nicks which are lexically the same no wild card matching here. The history is searched backward, returning the most recent entry first.

KILL is used by servers when they encounter a duplicate entry in the list of valid nicknames and is used to remove both entries.



0コメント

  • 1000 / 1000