CHGHOST on/off
TECO
28/03/26 05:00 PM
Hi Khaled, I suggest that, since CHGHOST in mIRC is not enabled by default, a command be created for it, like this: /CHGHOST on/off Or add a check to the mIRC options. This would allow us to see a message in the channels where we are and where the user who changes hosts is also located. Example: 18:51 TECO [TECO@vhost.cferreira.org] changed host to TECO@suporte.PTirc.orgI think this suggestion would make accessing CHGHOST easier without us having to resort to creating code like the one I created and posted here on the forum. Hug
0
86
Read More
|
|
CHGHOST
TECO
27/03/26 01:54 PM
Hi guys, I would like to know if anyone can help me. I need the CHGHOST event message. I've been researching and mIRC, by default, doesn't show a message when a user changes hosts. I debug the mIRC and found this information: <- @time=2026-03-27T12:55:56.782Z :Tiago!Tiago@vhost.cferreira.org CHGHOST Tiago suporte.PTirc.org <- @time=2026-03-27T13:28:35.041Z :Tiago!Tiago@suporte.PTirc.org CHGHOST Tiago vhost.cferreira.orgAnd I needed that whenever the user switches accounts, it shows both the previous and the new account: Example: 12:34 · Tiago [Tiago@vhost.cferreira.org] has changed host to Tiago@suporte.PTirc.org I created this code:
alias pcb { echo $1 $+ $msgstamp $2- }
raw CHGHOST:*:{
var %c = 1
while ($comchan($nick,%c)) {
pcb -i5mt $v1 · $nick has changed host to $+($nick,@,$2)
inc %c
}
}
And in the channels where I am and the user is also present, the message appears like this: 12:24 · Tiago has changed host to Tiago@suporte.PTirc.org 12:25 · Tiago has changed host to Tiago@vhost.cferreira.org However, I can't find a solution to make the previous host appear in the message. I would appreciate it if someone could help me I found the solution:
alias pcb { echo $1 $+ $msgstamp $2- }
raw CHGHOST:*:{
var %c = 1, %oldmask = $gettok($fulladdress,2,33), %ident = $gettok(%oldmask,1,64), %newmask = $+(%ident,@,$2)
while ($comchan($nick,%c)) {
pcb -i5mt $v1 · $nick ( $+ %oldmask $+ ) has changed host to %newmask
inc %c
}
haltdef
}
Return: 18:51 · Tiago (~Tiago@vhost.cferreira.org) has changed host to ~Tiago@suporte.PTirc.org
0
91
Read More
|
|
On Join
HadesSaint
24/03/26 06:31 PM
good evening!!! on my remote.partjoin i have this { putmessaget # %chatjoincolor *** $nick ( $+ $gettok($address($nick,5),2,33) $+ ) is joined the channel # *** | halt } *** pippo (ident@host) is joined the channel #pippo ***i like, if possibile, insert the country variable on join (i'm Oper) Example: *** pippo (ident@host) [ES] is joined the channel #pippoI haven't found a var $country Tnk y for help
0
94
Read More
|
|
[Release] Xhtml.dll v1.0.0 – HTML Engine & Runtime
3ncriptado
22/03/26 05:51 PM
Xhtml.dll v1.0.0 – Modern Web Browser Engine for mIRCXhtml.dll is a modern replacement for the legacy nhtml.dll, bringing the power of Microsoft Edge WebView2 (Chromium) directly into mIRC. It allows you to embed fully functional web browsers inside mIRC windows with full support for modern web technologies. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✨ Features━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - Modern Web Engine (Edge WebView2 / Chromium) - Full Web Standards Support (HTML5, CSS3, ES6+, WebGL, WebAssembly) - Framework Compatible (React, Vue, Angular, etc.) - Full Mouse & Keyboard Interaction - Resizable Browser Windows - Multiple Instances Support - Simple and Clean API for mIRC - Drop-in Replacement for nhtml.dll ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📋 Requirements━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - Windows 10 / 11 - mIRC 7.x or later - Microsoft Edge WebView2 Runtime ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🚀 Quick Start━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Installation: 1. Download Xhtml.dll 2. Copy it to your mIRC root folder 3. Install WebView2 Runtime if not installed 4. Load the script: /load -rs scripts/xhtml.mrc Basic Usage: ; Open a URL /xhtml https://www.google.com; Close the browser /xhtml.close ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📚 API (Core Functions)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ attach -> Attach WebView2 to a window navigate -> Navigate to a URL detach -> Detach and cleanup resize -> Resize browser goback -> Navigate back goforward -> Navigate forward refresh -> Reload page stop -> Stop loading geturl -> Get current URL ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🧪 Example━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ alias mybrowser { window -pdoks @MyBrowser 100 100 1200 800 dll Xhtml.dll attach $window(@MyBrowser).hwnd .timer 1 2 dll Xhtml.dll navigate https://github.com} ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🆚 Why Xhtml.dll?━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - Uses Chromium instead of Internet Explorer - Supports modern JavaScript - Works with modern frameworks - Actively maintained - Designed for real-world web usage inside mIRC ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⚠️ Notes━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - Wait 2–3 seconds after attach before navigate - Make sure WebView2 Runtime is installed - Use correct architecture (x86 / x64) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔗 Project━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ REPO: GitHub━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Made with ❤️ for the mIRC community
0
96
Read More
|
|
DLL binvar support
Ook
14/03/26 12:20 AM
I propose adding support for evaluating binvars to SendMessage() where 2 possible methods are: method 1: The dll would write the binvar name and offset & length of data requested to the mapfile and call SendMessage(hwnd, WM_MBINVAR_GET, [flags], [mapfile cnt]) to retrieve chunks of data from the named binvar via the mapfile with all the same error codes as the existing messages. A requested length of -1 would mean from offset to the end. An additional set of enhanced error flags could be added to indicate more data waiting & unknown binvar
#define WM_MBINVAR_GET (WM_USER + 202)
#define MIRCF_UNICODE 8
#define MIRCF_ENHANCEDERRORS 16
bool getBinvarData(HWND mIRCHWND, WCHAR *szMapFileDataAsString, int MapCnt, WCHAR *szBinvarname, size_t start, ptrdiff_t length)
{
wsprintf(szMapFileDataAsString, L"%s %d %d", szBinvarname, start, length);
auto err = SendMessage(mIRCHWND, WM_MBINVAR_GET, MIRCF_UNICODE | MIRCF_ENHANCEDERRORS, MapCnt)
// mapfile now contains binvar data.
if (err == 0)
return true;
// handle errors...
return false;
}
method 2: The dll would write the binvar name to the mapfile and call SendMessage(hwnd, WM_MBINVAR_GET, [flags], [mapfile cnt]) to retrieve a pointer to the binvar data & data length as text in the mapfile (similar to how /drawdll passes HDC's) this would also lock the binvar to stop it being deleted untill a matching WM_MBINVAR_RELEASE is sent with the same binvar name in the mapfile. An additional enhanced error flag could be added to indicate unknown binvar This version would allow the dll to directly read & modify the binvar data.
#define WM_MBINVAR_GET (WM_USER + 202)
#define WM_MBINVAR_RELEASE (WM_USER + 203)
#define MIRCF_UNICODE 8
#define MIRCF_ENHANCEDERRORS 16
std::vector<uint8_t> getBinvarData(HWND mIRCHWND, WCHAR* szMapFileDataAsString, int MapCnt, WCHAR* szBinvarname)
{
std::vector<uint8_t> vOut;
wcscpy(szMapFileDataAsString, szBinvarname);
const auto err = SendMessage(mIRCHWND, WM_MBINVAR_GET, MIRCF_UNICODE | MIRCF_ENHANCEDERRORS, MapCnt);
if (err == 0)
{
auto pBinvarData = reinterpret_cast<uint8_t*>(wcstoumax(szMapFileDataAsString, nullptr, 10));
auto szlen = wcschr(szMapFileDataAsString, L' ') + 1;
auto iLen = wcstoumax(szlen, nullptr, 10);
vOut.reserve(iLen);
std::memcpy(vOut.data(), pBinvarData, vOut.size());
wcscpy(szMapFileDataAsString, szBinvarname);
SendMessage(mIRCHWND, WM_MBINVAR_RELEASE, MIRCF_ENHANCEDERRORS, MapCnt);
return vOut;
}
// handle errors...
return vOut;
}
Both these methods have their pros & cons with lots of work need to secure them etc...
0
131
Read More
|
|
sockopen
ThomasDieKleineL
01/03/26 08:26 PM
Sorry for my bad English. I'm German. I have a small problem with a sockeopen. Here's my code. I hope you can help. Thanks in advance.
on *:sockopen:fb: {
if ($sockerr) { echo -st $+(14,$sock($sockname).addr) konnte nicht gescheckt werden :( | return }
sockwrite -n $sockname GET $sock($sockname).mark HTTP/1.0
sockwrite -n $sockname HOST: $sock($sockname).addr
sockwrite -n $sockname User-Agent: $me
sockwrite -n $sockname Content-Length: 769
sockwrite -n $sockname Connection: close
sockwrite -n $sockname $crlf
}
on *:sockread:fb: {
if ($sockerr) { echo -st $+(14,$sock($sockname).addr) konnte nicht gescheckt werden :( | return }
else {
tokenize 32 $sock($sockname).mark
var %temp | sockread %temp
if (%temp != $null) {
echo -a %temp
}
}
}
on *:sockclose:fb:{ sockclose fb }
alias test { sockclose fb | sockopen -e fb www.kicker.de 443 | sockmark fb /bundesliga/spieltag/ }
The server's response is as follows: HTTP/1.1 403 Forbidden Server: CloudFront Date: Sun, 01 Mar 2026 20:26:11 GMT Content-Type: text/html Content-Length: 915 Connection: close X-Cache: Error from cloudfront Via: 1.1 9ef1b108656dc6d0707b168b862883dc.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P1 X-Amz-Cf-Id: 1pl4VLVPWj1QTbu4HzG0Pqr3yhHPgnSsyDgw8ZJ2W5sEih49_EO_fA== <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <TITLE>ERROR: The request could not be satisfied</TITLE> </HEAD><BODY> <H1>403 ERROR</H1> <H2>The request could not be satisfied.</H2> <HR noshade size="1px"> Bad request. We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner. <BR clear="all"> If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation. <BR clear="all"> <HR noshade size="1px"> <PRE> Generated by cloudfront (CloudFront) Request ID: 1pl4VLVPWj1QTbu4HzG0Pqr3yhHPgnSsyDgw8ZJ2W5sEih49_EO_fA== </PRE> <ADDRESS> </ADDRESS>
0
224
Read More
|
|
Line shading
RoCk
14/02/26 09:08 PM
Could you add this option for custom windows, too? Maybe a switch for the /window command. Thanks!
5.Added Line shading option to Display/Options dialog that shades alternate lines. Also added a system menu Shading option for per-window settings.
0
144
Read More
|
|
Typo in help document
Bauderr
24/12/25 06:56 PM
In the help document under $finddir it says the following: $finddir($mircdir,logs*,1) returns the first directory name beginning with "mirc" As you can see, it says beginning with "mirc" however it is searching for logs*
0
213
Read More
|
|
/writeini
deVilbaT
13/12/25 12:44 PM
A switch is needed to save /writeini, but as the first item.
Example .ini: [a] a=b
Command: /writeini <some switch> a b a
Effect: [a] b=a a=b
Regards.
0
276
Read More
|
|
YouTube Requester
Fernet
30/11/25 06:19 PM
Hi! I found this bot in a channel: [img] https://ibb.co/LzBhJ9TR[/img] Input = Someone ('Shakti) type title and singer (Rod Stewart Sailng) Output = Bot return YouTube link and more info Someone has any hint about it? How to make or where to find? Thanks for help
0
279
Read More
|
|
Indentation size in the script editor
goblin58
28/11/25 09:19 PM
Would it be possible to add a user option to adjust the tab/indentation size in the script editor. I use a vs code for editing and I have my tab/indentation size set to 4 spaces, however loading/saving scripts reformats the indentation/tab size to 2 spaces.
0
244
Read More
|
|
website text script
NewzNZ
23/11/25 08:36 AM
Hi there
I have some scripts to pull headlines etc from various news feeds.
Am currently using: if (some-text-here isin %temp) {
to identify the line of text I want to use, but some of the sites have more of an RSS format and don't have unique lines or codes to identify them.
Just wondering if there's a way to pull a specific line number from a page? e.g. in a tcl script used on an eggdrop bot, it's [lindex [split $data \n] 6] where line 6 is the number.
Thanks in advance for any help...
0
324
Read More
|
|
mIRC 7.83 released
Khaled
12/11/25 04:54 PM
Dear mIRC User, mIRC v7.83 has been released today. This is a small update that adds features and addresses a number of issues reported by users since the last release. It includes improvements, changes and fixes, including: Fixed NickServ bug that prevented /nickserv from logging on when connecting. Fixed IPv6 parser bug that affected /dcc commands and other features. Fixed listbox text not being displayed correctly with different DPI settings. Added support for key derivation functions pbkdf2 and argon2 as identifiers. Added /drawdll command that allows a custom DLL to draw to a picture @window's bitmap. Added $encode()/$decode() 'y' switch that Punycode-encodes/decodes text. Added support for internationalized domain names when resolving addresses. Updated CA root certificates cacert.pem file. How to upgrade?mIRC is distributed in an installer that installs mIRC on your computer for you. Simply download and run the installer from the download page on the mIRC website. Follow the instructions the installer gives to you. When upgrading all your old settings and scripts will stay as they were, if you want that. Read the questions the installer asks with care and nothing can go wrong. You will be chatting with the new mIRC in no time. If you get stuck or if you want to find out more about a certain feature, just click on a Help button or browse the Help file and you should find lots of hints to help you out. Where to download?As always, the latest version of mIRC can be downloaded from the download page on the mIRC website. Registering mIRCAs you know, mIRC can be downloaded freely and evaluated for 30 days. If you find that you enjoy using mIRC, it would be great and much appreciated if you registered your copy. This licenses you to use your copy of mIRC and helps to support our continued work on mIRC. You can find out how to register here. Full list of Fixes, Changes and Additions.For a more detailed list of recent changes, please see the whatsnew.txt file. You will need to read through the help file to learn more about these changes and their impact. Some changes are obvious, some need getting used to - please take your time to play with them and see how they work. May we invite you to use these forums for all questions you might have? The forums offer great help with everything related to mIRC! Thanks for using mIRC, have fun on IRC!
0
2,090
Read More
|
|
mIRC 7.82 released
Khaled
25/10/25 05:42 PM
Dear mIRC User, mIRC v7.82 has been released today. This is a small update that adds features and addresses a number of issues reported by users since the last release. It includes improvements, changes and fixes, including: Added $tip() support for permanent tray tips. Added support for specifying a username for SASL Logins. Added SASL disconnect on error server option. Fixed percent encoding/decoding memory bug that would have caused intermittent crashes. Fixed touchpad speed/sensitivity when scrolling in different types of windows. Fixed handling of swapped mouse buttons in different contexts. Fixed $urlget() crash bug when credentials are passed in URL. Fixed features that were using the wrong default GUI font under Windows 10/11. Fixed various Aero theme bugs relating to Windows display scale and text size options. Updated all code and libraries in preparation for future 64bit / ARM64 versions. Updated libraries to LibZip v1.11.4, LunaSVG v3.5.0, and TagLib v2.1.1. Updated from the OpenSSL v3.0.x branch to v3.5.4. Updated SSL code to remove use of 30+ deprecated OpenSSL APIs. Updated CA root certificates cacert.pem file. How to upgrade?mIRC is distributed in an installer that installs mIRC on your computer for you. Simply download and run the installer from the download page on the mIRC website. Follow the instructions the installer gives to you. When upgrading all your old settings and scripts will stay as they were, if you want that. Read the questions the installer asks with care and nothing can go wrong. You will be chatting with the new mIRC in no time. If you get stuck or if you want to find out more about a certain feature, just click on a Help button or browse the Help file and you should find lots of hints to help you out. Where to download?As always, the latest version of mIRC can be downloaded from the download page on the mIRC website. Registering mIRCAs you know, mIRC can be downloaded freely and evaluated for 30 days. If you find that you enjoy using mIRC, it would be great and much appreciated if you registered your copy. This licenses you to use your copy of mIRC and helps to support our continued work on mIRC. You can find out how to register here. Full list of Fixes, Changes and Additions.For a more detailed list of recent changes, please see the whatsnew.txt file. You will need to read through the help file to learn more about these changes and their impact. Some changes are obvious, some need getting used to - please take your time to play with them and see how they work. May we invite you to use these forums for all questions you might have? The forums offer great help with everything related to mIRC! Thanks for using mIRC, have fun on IRC!
0
723
Read More
|
|
ARM64 vs WinXP Support
magamiako
28/08/25 03:35 PM
Oh that's a tough one.
Honestly, given mIRC there are probably more people that benefit from having Windows XP support than those that would benefit from having ARM support (after all, ARM64 devices can run x86 code, even if sub optimally).
I'd probably lean on a poll or system check from folks to get an idea of the number.
However, I definitely still recommend getting an x86-64 version of mIRC up and running if possible! As there are enough security benefits under the hood in Windows these days to make that worthwhile.
To be fair, though, maintaining Windows XP support now would be similar to maintaining Kenbak-1 support when mIRC first came out.
0
481
Read More
|
|
Appreciate all the under the hood work!
magamiako
28/08/25 03:23 PM
Just wanted to comment to Khaled that I massively appreciate all of the under the hood work being done on mIRC right now! I know it's not something that's typically a visible feature for most users, but it's important work to keep mIRC modernized (and hopefully, better performance and more security).
Thanks!
0
760
Read More
|
|
BADNICK JOIN/CHANGE
Fernet
26/08/25 01:54 PM
Hi. I'm using this addon that check ON JOIN and ON NICK if nick is included in bnicks.txt.So if nick is included in the file, so the user receive a kick/ban:
on !*:JOIN:#CHANNEL:{
var %idmask $remove($gettok($gettok($address($nick,5),1,64),2,33),~)
var %x = 1
while (%x <= $lines($mircdirbnicks.txt)) {
if ($read(bnicks.txt,%x) iswm %idmask) {
cs ban $chan +3600 $+(*!*,$v1,*@*) NICK NOT ALLOWED ! | /write $mircdir $+ banemule.txt *Badnick* $date $time $nick ---> $address
}
if ($read(bnicks.txt,%x) iswm $nick) {
cs ban $chan +3600 $+(*,$v1,*!*@*) NICK NOT ALLOWED ! | /write $mircdir $+ banemule.txt *Badnick* $date $time $nick ---> $address
}
inc %x
}
}
on *:NICK:{
var %i = 1, %badwords = 1
while (%i <= $comchan($newnick,0)) {
if ($comchan($newnick,%i) != #eMule-Italian) { break }
if ($newnick !isop $comchan($newnick,%i)) && ($newnick !ishop $comchan($newnick,%i)) && ($newnick != $me) {
while (%badwords <= $lines(bnicks.txt)) {
if ($read(bnicks.txt,%badwords) iswm $newnick) {
cs ban $chan +3600 $+(*,$v1,*!*@*) NICK NOT ALLOWED ! | /write $mircdir $+ banemule.txt *Badnick* $date $time $newnick ---> $address($newnick,5)
}
inc %badwords
}
}
inc %i
}
}
All the + % @ & ~ users are protected, but because I have some troll users who use to wear a nick that recall ircop/ircap , I'd like to add an exception for them too, because in the channel , they don't have any status (so they looks normal users) , so they receive kick/ban too. So I think addon should has to check mask. I plan to make a exceptednick.txt and write allowed nicks/masks. These are ircop/Ircap part of mak: *!*@ServicesAdmin.* *!*@NetAdmin.* *!*@*.NETNAME.org *!*@NL.IrcOp.NETNAME.orgThanks for help
0
774
Read More
|
|
$toolbar() - add property for picture file path
Epic
10/08/25 03:40 PM
I suggest adding a new property ".picfile" for the identifier $toolbar() that will return the path to the picture file used as the toolbar button icon.
Syntax: $toolbar(name/N).picfile
Return: images\ico\picfile.ico
Note: This can only work if the button was created/added by the user himself using the command /toolbar -a, where he specified the path to the external picture file.
0
607
Read More
|
|
Toolbar Buttons
Fernet
09/08/25 01:28 PM
Hello. Because I use to set some aliases using script editor (ie: f12 /clerall) , now I'd like to add some buttons on toolbar and associate to a command. This is my actual toolbar: [img] https://ibb.co/8g3z4qXJ[/img] And this is what I mean: [img] https://ibb.co/4nZsBcQF[/img] And so give to any Italian flag (or any flag.png) a different command. Is it possible? I tried using /toolbar -a CLEAR /clearall but I get----> /toolbar: insufficient parameters What am I missing? Thanks
0
758
Read More
|
|
Feature requests regarding URLs list
Inhahe2
04/08/25 02:43 AM
I don't remember if I've suggested this feature before, but if I did, it was a long time ago and nothing was done. =p
I think the URLs list (that mIRC captures from channels, etc.) would be a lot more useful if each URL showed the channel and the nick or hostmask that posted the URL, and preferably if you could filter by channel and/or nick/hostmask, too.
Being able to filter by domain/subdomain might be good, too.
Oh, and the choice of inclusion or exclusion filters could be good.
0
544
Read More
|
|
BADWORD IN MASK
Fernet
27/06/25 03:14 PM
Hello, I noticed there're users who join in my channel with badword included in mask. Example:
NICK is BADWORD@etc.....
Is possible to have an addon that kick/ban an user who use BADWORD in its mask? Thanks
0
506
Read More
|
|
command /script
fir3fox
08/06/25 07:47 PM
Hi, someone told me /script should show me what script file and .ini files my mirc have read and using, and its should be built comamnd from start, /script unkown command is that a normal behavour or I miss something here ?
//fir3fox
0
633
Read More
|
|
whois help me
abi
03/06/25 12:57 PM
Hello, I tried to make a script but when I tried not to produce special whois only on the query without having to display anywhere either the status channel or any but had to be query only query raw &311:*:{ echo -a $timestamp 13( 0whois $2 13 ) | echo -a $timestamp 12| 0nick:14 $2 | echo -a $timestamp 12| 0name:14 ( $+ $6- $+ ) | echo -a $timestamp 12| 0hostname:14 $3 $+ @ $+ $4 | halt } raw &314:*:echo -a $timestamp 12| 0name:14 $2- | halt raw &312:*:echo -a $timestamp 12| 0server:14 $3 ( $+ $4- $+ ) 0IP:12 $serverip | halt raw &369:*:echo -a $timestamp 12| 0whowas:14 $2- | halt raw &379:*:echo -a $timestamp 12| 0using modes:14 $6- | halt raw &307:*:echo -a $timestamp 12| 0registered nick:14 Yes | halt raw &319:*:echo -a $timestamp 12| 0channels:14 $3- | halt raw &313:*:echo -a $timestamp 12| 0oper status:12 $5- | halt raw &671:*:echo -a $timestamp 12| 0SSL:12 $4- | halt raw &310:*:echo -a $timestamp 12| 0raw info:12 $4- | halt raw &320:*:echo -a $timestamp 12| 0raw info:12 $3- | halt raw &330:*:echo -a $timestamp 12| 0raw info:12 $4- | halt raw &317:*:echo -a $timestamp 12| 0idle:14 $duration($3) | halt raw &301:*:echo -a $timestamp 12| 0away:14 $3- | halt raw &318:*:echo -a $timestamp 13( 0end whois $2 13 ) | halt raw &378:*:{ haltdef var %host = $remove($6,*@) hadd -mu1800 userhost $2 %host if $longip(%host) { echo -a $timestamp 12| 0real IP:12 $6 return } if $hget(iptable,%host) { echo -a $timestamp 12| 0real Host:12 $6 0real IP:12 $ifmatch return } echo -a $timestamp 12| 0real Host:12 $6 0Getting IP... hadd -m iptable %host 0 .dns -h %host }
On *:dns:{ if $hget(iptable,$dns(1).addr) == 0 { hadd -mu1800 iptable $dns(1).addr $iif($dns(1).ip,$ifmatch,Unresolved) halt } echo -a $timestamp 13> 11dns12 [13!12] var %n = $dns(0) if (!$dns(0)) { echo -a $timestamp 12.11.13. 11Resolve 4Failed } while (%n > 0) { echo -a $timestamp 12.11.13. 11Resolved 12: 13[12 $+ $dns(%n).addr $+ 13]12 To 13[12 $+ $dns(%n).ip $+ 13] $iif($dns(%n).nick != $null, 13[12 $+ $dns(%n).nick $+ 13]) | HALTDEF dec %n } }
alias listip { var %i = $hget(userhost,0).item window -t20,40 @listip while %i { var %nick = $hget(userhost,%i).item, %ip = $hget(userhost,%nick), %i = %i - 1 if $hget(iptable,%ip) { var %host = %ip, %ip = $ifmatch } aline @listip $+(Nick: %nick,$chr(9),IP: %ip,$chr(9),$iif(%host,Host: %host,Unresolved)) } }
0
912
Read More
|
|
|
|