Short: Fully featured GUI IRC Client (v1.40) Author: owagner@vapor.com Uploader: owagner@dmt.wupper.de Version: 1.40 Type: comm/tcp Kurz: GUI-IRC-Client (v1.40) Replaces: /comm/tcp/AmIRC.lha, /comm/tcp/amirc11_efnet.lha Long: AmIRC is a client for the IRC Internet Relay Chat protocol. It's very fast, easy to setup and use, has an extensive set of features and supports scripting. Features: --------- o runs with both AmiTCP and as225/inet225 without additional support libraries. o builtin high speed DCC drivers for SEND, TSEND and MOVE. Highly optimized with asynchronous file I/O and threaded network handling. Supports Drag&Drop sending of files. Supports the "mIRC for Windows" DCC RESUME extension. o tranparent implementation of DCC CHAT. All /MSGs are automatically routed via DCC CHAT if applicable, to save runtime and reduce IRC load. Option to automatically accept DCC CHAT connections. o ultra fast text output and scrolling. Supports Cut&Paste for the list text. Supports proportional fonts. o internal CTCP flood and DCC bomb protection o full support of the "Undernet" IRC extensions, both reply codes and additional IRC commands. o intuitive channel display with userlist and channel mode overview. Channel modes can easily be changed via gadgets. Configurable user action list to perform whatever action you like on users in channel by the press of a mousebutton. Ban list window. o supports QUERY windows for private chat. o supports "smart" banning. o versatile AREXX port including server message parsing ("event trapping") and commandline/script interaction. o easy command line aliasing. o builtin IdentD (automatically disabled if another IdentD is already installed). o supports nick notification, highliting, ignoring and kickban. o versatile event handling allows you to bind sound effects, auto-deiconify or rexx scripts to certain events. o server phonebook. o last nick history. Stores the nicknames of the last nicks you've send MSGs to, received MSGs from or addressed publically with "nick:". Reference can be used in all commands which require nick names, e.g. /MSG, /OP, /DEOP. Automatic nick expansion on public messages with ":". o TAB messaging to automatically cycle the list of last used nicknames with a /MSG prefix. o auto rejoin channel on KICK and auto reconnect server facility. o auto away after idle timeout. Auto unaway after sending public and/or private msgs. o URL grabber for interfacing with a WWW browser. Changes since version 1.1 ------------------------- (not complete) - fixed updating for DCC Receive pathes when the default receive path is changed - now filters mIRC color codes in display. They're still available in Rexx processing (in case you want to do a auto-kickban or stuff :) - increased DCC send delay timeout - added fixed version of WallChop.AMIRX - sounds were loaded (not played) via datatypes even if external player was configured - fixed missing argument to STM_PLAY in datatypes sound play - INVITE is now ignored by IGNORE PRIV, not IGNORE TEXT - modified behavior of VERSION command. If a nickname, not a server name, is given, it behaves like "CTCP VERSION" - DCC SEND/MOVE now show "stalled" status when no data has arrived in the last 5 seconds - DCC SEND now has a "Reoffer" button which resends the DCC offer for the currently selected DCC - when sending multiple files, a one second delay is now made between sending out each DCC offer, to avoid triggering server side flood protections. - "Connect thread" when no connection is established will no longer close the connect window and leave the first instance of AmIRC lingering around without any window open - added new rexx command: "PLAYSOUND FILENAME,EVENT/K/N". Argument is either a filename of a CTCP SOUND alike sound to be played; EVENT=num plays a predefined user defined event sound. - Abort connection now works properly when a server connection has been established, too. - CTCP SOUND trigger the DCC event, not the CTCP event. - DCCMSG events had the "from host" in passive DCC CHAT connections, which was broken - dcc windows opened active if opened a second time in a session - if "HandleFlood.amirx" is there, it will be called upon detecting a ctcp flood with the last line as a parameter. The internal ignore won't be set in that case. - DCC requests are no longer accounted for CTCP flood checking - message ignore will now ignore INVITEs as well - /DCC RESUME NICK without file spec worked like /DCC GET no matter what - fixed cps calculation for resume/move DCCs - fixed userhost database not updating to current userhost when not marked dirty beforehand - changed format of PING message. Now sends a 7 digit number. Reduces bandwidth waste and protects against clients which are picky on the format of PING requests they like to reply to. - DCC bomb protection now added to DCC CHAT, too - incoming DCC CHAT messages are now returned to the PRIVMSG event and via GETLINE as the special faked message "nick!nick@dcchost DCCMSG yournick :text", to allow processing. - added GETDCCRECEIVEDIR and GETCTCPSOUNDDIR functions. Guess what they do. - List prefs window crashed if aliases >255 bytes were defined. - DCC SEND requests with ports less than 1024 are now considered malformed (to protect against DCC bombs) - now handles incoming DCC TSEND requests (DCC SEND without acknowledge packets). Note that AmIRC's "normal" DCC is already sending data at maximum speed without waiting for ACK packets, so there's no speed loss when DCCing between two AmIRCs with "plain" DCC, although remaining 100% compatible with the ultra lame ircII or PC-Client DCC implementations). TSEND requests are marked with "T" in the DCC RECEIVE window. - fixed scrolling problem (occured when a list had to be scrolled for the first time and multi line text was to be added) - /DCC CLOSE without args returned an bogus error. - fixed problems with autojoining channels and "Connect thread" - now preconfigs tiny font to helvetica/9 if not set - fixed broken GETUSERS - added a "» Clipboard" button in the URL grabber window to send selected URL to the clipboard (in addition to double click) - fixed a longstanding bug in the list class which caused the initial scroll down to not happen under a certain funky combination of lines and output length - added "MATCHUERHOST" arexx commands, taking a userhost (or nick) and a pattern, returning 0 for no match, 1 for match. - DisplayBeep() only events didn't work when a external sound player was configured - fixed the ARexx ECHO command to no longer interpret _fmt codes (%s et all) - fixed several of the ARexx command templates to actually require arguments and fail with a command parse error otherwise. Fixes enforcer orgy on "SAY", "RAW" etc. without args. - now runs PROGDIR:Rexx/Startup.amirx, /Shutdown.amirx and /Connected.amirx when available on startup, shutdown and established connection accordingly. - GETUSERS nuked if the total size of the result string exceeeded 2048 bytes - new arexx command "GETWINNUM #channelname" returns the win number of a channel - GETUSER, GETUSERS, GETSELECTEDUSER and GETUSERSTATE now accept CHANNEL=#channelname instead of a numeric window argument - added GETDCC rexx command. Returns 3 stem list: DCC.CHAT.x has "nick state hostname" DCC.SEND.x has "nick moveflag hostname state len cps filename" DCC.RECEIVE.x has the same as SEND - added /DCC RESUME command - added /DCC CLOSE command - fixed /DCC LIST state display - now automatically uppercases the first word of outgoing CTCP requests - now calls PROGDIR:Rexx/DCCDone.AmIRX (if available) with the "SEND|RECEIVE successcode nick filename" for any DCC post processing - list class used masked scrolling even on interlaced screens - changed calling of custom_amirx.ctcp to: Custom_CTCP.AmIRX command fromnick destination arguments where "destination" is either the destination channel or your own nickname. - changed IRC server login to overcome stupid efnet "bot" detection - server notices now again have "privmsg color" and trigger the NOTICE event - ARexx "ECHO" command now accepts optional paremeter "C=COL" specifying one of the user defined text colors. - minimum period for NOTIFY checks is now down to 20 seconds again. - topic buffer is now 256 chars - no longer changes topic string gadget's contents while it's active - fixed several broken cycle chains - fixed text marking problems with fixed fonts - fixed text marking problems with characters < 31 which are not meaningful style commands - added "Info message window" which stores all all incoming server messages, mode changes etc.. Option to "shanghai" server notices, wallops and incoming "basic" CTCP requests so they are only displayed inside this window. - changed display of server notices and ERROR commands to have the server name in [brackets] for clarity. - fixed enforcer hits on certain unexpected malformed server responses - fixed "Connecting to" abort quitting AmIRC when clicking "Cancel" while a connect()ion has already been established. - removed group frame in ban list window - 317 "signon time" (undernet) display was broken. - now properly calculates time zone offsets when parsing time stamps delivered from servers - fixed responses for +v/-v on a different channel - removed "Server" from default string for channel window titles. - the "Connecting to..." window will now remain on screen until the connection process has successfully completed, unlike going away after the inititial connect() has been done. Much nicer when you get kicked from a server due to K: line, server overloads or other reasons AFTER connect(). - changed strings for all topic response messages. - did another attempt in the "Fix Crash on Dialog Win Close" session - fixed potential crash when selecting menu AWAY while there was no connection. - fixed illminded reaction when WaitSelect() returned the reset handler IPC signal to be set (caused deadlocks with Miami users) - added 281 and 512 GLine related response codes - DCC CHAT connection sockets now have SO_KEEPALIVE set so that connection losses don't go unnoticed. - now shows unknown user modes as the raw mode char, instead of simply ignoring them. - "Use Identd?" was ghosted, but not cleared if the auth port was in use during startup. - fixed potential crash on closing dialog and channel windows with close gadget - DCC windows now open inactive - added a custom CTCP handling hook: If PROGDIR:Rexx/Custom_CTCP.AmIRX" exists, it will be called for unknown CTCP requests with the following template: Custom_CTCP.AmIRX command fromnick arguments A check is done for dangerous shell escape characters. - rewrote the internal nick/userhost database. Much faster now. - added CTCP flood protection. - now doesn't eat 332 "Topic is" message when joining a channel. - now ignores excess (i.e. more than 40 bytes) CTCP ECHO requests. - no longer stores notice origins and CTCP originators in the TAB nick history - properly strips path names from incoming DCC requests, too (might be an problem if you accidentally clicked "GET" on same lamo sending you "S:Startup-Sequence") - no longer stores CTCP responses of any kind in the nick history - sound names are now properly validated for security before being passed to an external sound player. - now strips of any pathes from incoming and outgoing sound requests. - added UPING oper command - fixed deadlock when there was another identd in use on the system and the connect to the server failed or was closed straight without sending something. Happened to MIAMI users, mostly. - fixed a few duplicate shortcuts - fixed netsplit detection for server names containing a digit as the first character. - long outstanding bug in the Rexx interface -- RexxMsgs were never flushed, thus causing memory loss during longer AmIRC operation with Rexx usage. - fixed /KILL and /SQUIT commands. - fixed messed up catalog string numbers - fixed /IRCNAME command - no longer sets identd to off when the port is bound - fixed handling of "," in server comment strings - identd now only returns "real" answers, to overcome the now a bit more smarter inquiries of current identd versions. - recognizes 476 (AnotherNet, "no warez") extension message - recognizes 438 (Nick change too fast) message - added /MAP command and 005/007 messages - added /GLINE command and 280/281 messages - added /IRCNAME command and response parsing - changed login procedure a bit in an attempt to avoid the autojoin delay with 2.9-servers - now supports optional external soundplayer for people struck with OS 2.x systems, or Play16 fans :-) - directory and volume for CTCP SOUND stuff is now settable - AWAY state in dialog windows will now go away when the remote user is no longer away and a WHOIS is performed on him. - added internal CTCP SOUND support. Sound files have to reside in PROGDIR:Sounds - fixed problem with getting the username when using Miami - fixed pasting of text containing linefeeds to query windows (last char of every line was lost) - CTCP ignore will now properly ignore channel CTCPs as well - added /NOTE command. - added /LASTLOG command. - text list didn't properly chop off prefixes while the associated window was closed. - AUTOJOIN tooltype was internally misspelled as AUTOJIIN - listview scrolling is now visually "nicer". - fixed a few problems with the URL grabber termination characters. - now displays the HIGHSCORE 317 message extension - no auto reconnect on OPER KILL anymore - AmIRC is now more picky on what server version it connects to and which modes are available (recognized so far as being "special" are "2.8.21+" and "2.9". - now checks for already installed identd and automatically disables the internal identd and uses the system username in that case. - 2.9-support: Displays and understands the 437 extension messages ("Nickname temporarly locked") - 2.9-support: Understands the JOIN channel+mode message which is used on netjoins (WTF sends this to clients anyway?!) - 2.9-support: Understands restricted user mode and the 484 "Restricted" error message. Requirements ------------ OS 2.04, 3.1 recommended. MUI 3.6, 3.8 recommended. Miami, AmiTCP, as225, cpr225, inet225, MLink or a compatible TCP/IP stack. Additional stuff, e.g. ARexx scripts, can be found on http://www.vapor.com/ or ftp://ftp.vapor.com/pub/amirc/submissions ============================= Archive contents ============================= Original Packed Ratio Date Time Name -------- ------- ----- --------- -------- ------------- 628 271 56.8% 25-Feb-97 10:46:00 AmIRC1_40.info 197072 99488 49.5% 23-Feb-97 23:46:08 +AmIRC 75649 26513 64.9% 25-Feb-97 10:26:54 +AmIRC.doc 835 311 62.7% 25-Feb-97 10:46:00 +AmIRC.doc.info 146816 44093 69.9% 25-Feb-97 10:26:54 +amirc.dvi 835 313 62.5% 25-Feb-97 10:46:00 +AmIRC.DVI.info 90685 30096 66.8% 25-Feb-97 10:26:54 +AmIRC.guide 503 257 48.9% 25-Feb-97 10:46:00 +AmIRC.guide.info 4157 1090 73.7% 25-Feb-97 10:46:00 +AmIRC.info 221622 79143 64.2% 25-Feb-97 10:26:52 +amirc.ps 835 312 62.6% 25-Feb-97 10:46:00 +AmIRC.PS.info 49788 20109 59.6% 25-Feb-97 10:26:44 +AmIRC.readme 835 317 62.0% 25-Feb-97 10:46:00 +AmIRC.readme.info 196140 99022 49.5% 23-Feb-97 23:46:14 +AmIRC020 4074 1031 74.6% 25-Feb-97 10:46:00 +AmIRC020.info 28506 11612 59.2% 24-Feb-97 00:48:06 +AmIRC.catalog 27046 10768 60.1% 24-Feb-97 00:41:54 +AmIRC.catalog 26860 10870 59.5% 24-Feb-97 00:39:20 +AmIRC.catalog 30122 11745 61.0% 25-Feb-97 10:57:34 +AmIRC.catalog 27302 10468 61.6% 24-Feb-97 00:39:08 +AmIRC.catalog 28988 11539 60.1% 24-Feb-97 00:40:00 +AmIRC.catalog 27166 10747 60.4% 24-Feb-97 00:40:26 +AmIRC.catalog 27638 11466 58.5% 24-Feb-97 00:52:12 +AmIRC.catalog 26548 10608 60.0% 24-Feb-97 00:40:42 +AmIRC.catalog 25908 11051 57.3% 24-Feb-97 00:51:28 +AmIRC.catalog 27929 6508 76.6% 25-Feb-97 10:27:30 +Install_AmIRC 700 357 49.0% 25-Feb-97 10:46:00 +Install_AmIRC.info 628 278 55.7% 25-Feb-97 10:46:00 +Register-AmIRC.info 19410 6336 67.3% 23-Feb-97 16:32:10 +Reg_Deutsch.doc 3491 737 78.8% 23-Feb-97 23:48:34 +Reg_Deutsch.doc.info 21548 6983 67.5% 23-Feb-97 16:32:08 +Reg_Deutsch.guide 3497 755 78.4% 23-Feb-97 23:48:36 +Reg_Deutsch.guide.info 19161 6026 68.5% 23-Feb-97 16:32:08 +Reg_English.doc 3491 738 78.8% 23-Feb-97 23:48:36 +Reg_English.doc.info 21319 6683 68.6% 23-Feb-97 16:32:10 +Reg_English.guide 3497 753 78.4% 23-Feb-97 23:48:36 +Reg_English.guide.info 20671 6620 67.9% 23-Feb-97 16:32:10 +Reg_Francais.doc 3491 741 78.7% 23-Feb-97 23:48:36 +Reg_Francais.doc.info 23000 7266 68.4% 23-Feb-97 16:32:10 +Reg_Francais.guide 3497 748 78.6% 23-Feb-97 23:48:36 +Reg_Francais.guide.info 47060 23238 50.6% 24-Feb-97 19:36:56 +RegistrationUtility 20 20 0.0% 20-Oct-96 22:14:00 +Regtool-Deutsch 3527 780 77.8% 23-Feb-97 23:48:34 +Regtool-Deutsch.info 20 20 0.0% 20-Oct-96 22:14:00 +Regtool-English 3527 778 77.9% 23-Feb-97 23:48:34 +Regtool-English.info 20 20 0.0% 20-Oct-96 22:14:00 +Regtool-Francais 3526 781 77.8% 23-Feb-97 23:48:34 +Regtool-Francais.info 20 20 0.0% 20-Oct-96 22:14:00 +Regtool-Svenska 3527 782 77.8% 23-Feb-97 23:48:34 +Regtool-Svenska.info 628 273 56.5% 25-Feb-97 10:46:00 +Rexx.info 337 252 25.2% 28-Mar-96 18:53:20 +Leave.AMIRX 1244 521 58.1% 28-Mar-96 18:53:20 +SendBrowser.AMIRX 939 566 39.7% 25-Feb-97 10:30:38 +WallChop.AMIRX 628 271 56.8% 25-Feb-97 10:46:00 +Submissions.info 2524 979 61.2% 28-Mar-96 18:53:28 +amirc.anmb 5276 920 82.5% 25-Feb-97 10:45:24 +AmIRC_Icon2.info 1466 585 60.0% 25-Feb-97 10:45:24 +AmIRC_Icon3.info 1678 1170 30.2% 25-Feb-97 10:45:24 +AmIRC_NewIcon.info 113 84 25.6% 25-Feb-97 10:44:38 +ReadMe 835 313 62.5% 25-Feb-97 10:45:24 +ReadMe.info -------- ------- ----- --------- -------- 1518803 597142 60.6% 26-Feb-97 06:54:56 60 files